C++の文字リテラル

引用符の中でも2重引用符はエスケープしなきゃダメかと思ってたら

規格によると
引用符の中では

    引用符とバックスラッシュと改行文字はエスケープしなきゃそのままだったら使えないよ
と。規格2.13.2

2重引用符の中では

    2重引用符とバックスラッシュと改行文字はエスケープしなきゃそのままだったら使えないよ
と。規格2.13.4

つまり、それぞれの中では互いにエスケープしなくても大丈夫なんだ。


#include

int main()
{
std::cout << '"' << "is this a ill-formed source" << '?' << '"' << std::endl;
std::cout << "'" << "well-formed." << "'" << std::endl;
}