もう1つ、Letの話の続きです。>>が字句解析上、> 2つと扱われるのも確かに悪くないと思います。

これを1つに扱う現行のC++では、std::vecotr<std::vecotr<int>>と書けず、std::vector<std::vector<int> >と空白を置いて> 2つと認識させる必要があります。>>を1つの字句として扱うので、そのままではテンプレート実引数を閉じる山括弧として扱えないのです。今度の規格改定、C++0xでは>>も使えるようになるのでしょうか。

そして、今のABなら、>>を1つの字句として見ないので、List>もなんなく扱えるだろうということです。どうなるかはその内、構文シリーズで出てくるかもしれません。

そういえばほかの言語はどうなっているのでしょうか。そのうち調べてみたいです(と言って忘れる)。


2013年5月4日追記:調べました。参考:テンプレートの閉じ括弧が右シフト演算子に誤認される問題、ほかだとどうなの? | イグトランスの頭の中(のかけら)

スポンサード リンク

この記事のカテゴリ