这个问题在这里已有答案:
通常,我会从函数返回一个std::string
,因为返回一个const char*
会要求调用者提供一个输出内存缓冲区,并且该缓冲区不可调整大小。
但是如果从字符串文字中返回一个有效的const char*
?
const char* generate_c_string() {
return "ABC";
}
这样做(如果有效)可能会更快,因为我不需要动态分配内存来构造std::string
。
它可能是有效的,因为const char* x = "ABC";
是有效的。是否有来自C ++标准的参考资料证实其有效性?