2016-10-25 14 views
0

を作成するには、それはすべての特殊文字を無視します。このブースト機能は、C++ 11ではC++ 11の生の文字列

string rawString = R"delim(STRING_WITH_SPECIAL_CHARACTERS)delim"; 

のような生の文字列を作成することができます。ただし、この機能はGCC 4.4以降では実装されていません。この機能の追加機能はありますか?そうでない場合は、古いバージョンのC++実装で生の文字列を作成する最良の方法は何でしょうか。

ありがとうございました。

答えて

0

生の文字列リテラルは、どのライブラリにも実装できないコア言語機能です。基本的に、C++標準では文字列リテラルの解析方法を指定しているためです。しかし、コンパイラ固有の拡張があるかもしれません。しかし、Raw文字列pre-C++ 11を移植する方法はありません。

C++ 11以降でも、Raw文字列リテラルがあります。その標準の意味と構文はis dictatedです。簡単に言うと、コンパイル時の機能です。あなたの質問は、通常のC++ 03を使ってC++ 14 constexprの機能を複製するようなものにもなります。

C++実装の古いバージョンで生の文字列を作成する最も良い方法は何ですか?

this question and its answersを参照してください、それが役に立つ

かもしれ