...ing logging 4.0

はてなブログに移行しました。D言語の話とかいろいろ。

C++WGから帰宅(レポは多分明日)

皆様,お疲れ様でした.
今日ほどC++の話をしたことはこれまでありませんでした.
案の定話について行くので精一杯な感じでしたが,思い出に残る楽しい一日になりました.
いつもブログ等を読ませていただいていて挨拶できなかった方が相当数いらっしゃるのが心残りではありますが,お互いネットの住民なのでこちらではこれまで以上に交流できたらいいなと思います.
今後ともよろしくお願いします.

コメントの補足

会議中に,CDのraw string literalの仕様がイミフな空気になってたので,少しだけコメントさせてもらいましたが,あんまり伝わらなかったかな,と思うので改めてここに書いておきます.
もし間違ってたらお教えくださいませ m(..)m


まず,こういう文字列

"this is\na pen."

は,raw stringでは

R"[thi\
s is
a pen.]"

と書けます.
つまり, [ と ] で囲まれた文字列がraw stringとなるのですが,これではただの文字 ] が使えません.
一方,2つ目以降の [ はただの文字 [ と見なされるので問題なく使えます.


そこで,こういう文字列

"foo[bar]boo"

をどうやってraw stringで書くかと言うと,

R"delimiter[foo[bar]boo]delimiter"

と書きます.
1つ目の [ の前に任意の文字列 delimiter が記述されると,delimiter[ と ]delemiter に囲まれた文字列がraw stringと見なされます.
2つ目の [ がただの文字と見なされるのは前述の通りで,1つ目の ] がただの文字と見なされるのは後ろに delimiter が付いていないからです.
こうすることで,raw stringの中でただの文字 ] が使えるようになるわけですね.


誰だこんな仕様考えたのは・・・・・・・・.
どうして R" と " で囲まれた文字列がraw stringと見なされるのではいけないのだろう?