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