R"xxx(...)xxx"でxxxに利用可能な文字No.09024
colder さん 16/08/26 14:09
 
colderです。

マクロでR"xxx(...)xxx"系で文字列を書くとき、xxxの部分に利用できる文字は(以外
のすべての文字(改行などの制御文字も含めて)が使えるという認識でいいでしょうか?
そしてxxx部分の長さはASCII外は1字で4文字分、サロゲートペアは8文字分計算で31
文字までということでいいでしょうか?(それより長くしたら異常終了しました)
個人的にはxxxに使える文字をC++11並に制限(スペース、(、)、\、$、@、、`、制御
文字を除くASCII文字で16文字以内)してもいいと思うけど。

[ ]
RE:09024 R"xxx(...)xxx"でxxxに利用可能No.09027
秀丸担当 さん 16/08/26 14:33
 

ご指摘ありがとうございます。
少なくとも落ちてしまうのは問題なので修正させていただきます。
一応上限はそれぞれそのように換算して32文字分までということでいいです。

文字の制限は現状は言われている通りです。
文字はある程度制限してもいいとは思いますが、支障なければどちらでもいい気
がします。ただ改行できてしまうのは変という気がします。

[ ]
RE:09024 R"xxx(...)xxx"でxxxに利用可能No.09028
天翔記.jp さん 16/08/26 15:05
 
>個人的にはxxxに使える文字をC++11並に制限(スペース、(、)、\、$、@、、`、制御
>文字を除くASCII文字で16文字以内)してもいいと思うけど。

単純に正規表現等で先頭部の「(前部分」をキャプチャーした内容が
)の「後ろ」にもあるか、
程度の判定でしょうから、使用制限文字はゆるくても良いのではないでしょうか。

R"**(...)**" とか結構したりするから、
R"★(...)★" とかも、OKでいい気がします。
R"表(...)表"  とかで、「あぁ、表だなぁ〜」とw
       マクロ文化的というか見るとちょっとクスっとなりますし(笑)






[ ]
RE:09028 R"xxx(...)xxx"でxxxに利用可能No.09033
colder さん 16/08/26 21:11
 
>程度の判定でしょうから、使用制限文字はゆるくても良いのではないでしょうか。

まぁ、どうでもいいんだけどね。
改行が使えたり、文字がASCIIかどうかで長さの上限が異なったりすると強調表示が
うまくできないケースが出てくるのでそれがちょっといやかなという程度です。

[ ]