如何将源代码中的长字符串拆分为多行以提高 C++ 的可读性?

Den*_*bie 2 c++ string string-concatenation

换句话说,如果我不想写一行,如何使我的代码工作?

#include <string>
using namespace std;

int main()
{
    string menu = "";
    menu += "MENU:\n"
        + "1. option 1\n"
        + "2. option 2\n"
        + "3. option 3\n"
        + "4. 10 more options\n";
}
Run Code Online (Sandbox Code Playgroud)

Bri*_*ian 6

只需删除+'s:

#include <string>

int main()
{
    std::string menu = "MENU:\n"
        "1. option 1\n"
        "2. option 2\n"
        "3. option 3\n"
        "4. 10 more options\n";
}

Run Code Online (Sandbox Code Playgroud)

相邻的字符串文字由编译器自动连接

或者,在 C++11 中,您可以使用原始字符串文字,它保留所有缩进和换行符:

#include <string>

int main()
{
    std::string menu = R"(MENU:
1. option 1
2. option 2
3. option 3
4. 10 more options
)";

}
Run Code Online (Sandbox Code Playgroud)