我是 C++ 的新手,我看到了下面的代码片段,这对我来说很奇怪。
const char* keys = "hello" "world";
std::cout << keys << std::endl;
以上代码在控制台打印helloworld。在同一语句中将两个字符串文字分配给 const char* 在语法上是否有效?如果是这样,它将如何存储在内存中?
最佳答案
这是 C++(和 C)的规则,相邻的字符串文字在编译之前(但在宏扩展 IIRC 之后)连接起来。
这发生在任何地方,而不仅仅是赋值语句的一部分。
关于c++ - 在同一赋值语句中将多个字符串文字转换为 const char*,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55295315/