我有一个简单的问题,但不幸的是我无法在网上找到答案。
const char* foo() const { return "foo"; }
这 100% 安全吗?
最佳答案
从 PoV 语言来看,这是完全可以接受的。
没有任何类型的内存泄漏,因为没有分配。构造的唯一值是原始类型的结果指针,初始化为指向文字的位置。该函数返回的指针指向一个可以读取和使用的有效位置。
事实上,这个函数可以标记为constexpr
,因为结果可以在编译时确定,任何使用它的程序都将像直接使用字面量一样工作。
关于c++ - 返回 char* 形式的 C++ 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53630335/