c++ - 返回 char* 形式的 C++ 函数

标签 c++ arrays char

我有一个简单的问题,但不幸的是我无法在网上找到答案。

const char* foo() const { return "foo"; }

这 100% 安全吗?

最佳答案

从 PoV 语言来看,这是完全可以接受的。

没有任何类型的内存泄漏,因为没有分配。构造的唯一值是原始类型的结果指针,初始化为指向文字的位置。该函数返回的指针指向一个可以读取和使用的有效位置。

事实上,这个函数可以标记为constexpr,因为结果可以在编译时确定,任何使用它的程序都将像直接使用字面量一样工作。

关于c++ - 返回 char* 形式的 C++ 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53630335/

相关文章:

c++ - 擅长 C++ 的项目想法

c++ - C++临时变量生存期?

c++ - 如何检查特定按钮(键盘)是否被按下 - C++

python - 保证 numpy.ndarray 的最小维数 (ndim) 的函数

c++ - 在一个解决方案中只批量编译一个项目

android - 如何在微调器上分配嵌套数组数据?

c++ - 来自 std::find 的此错误的优雅解决方案是什么?

java - Android 按与 Charcase 无关的姓名查找联系人

将 c 十六进制值转换为 char*

c++ - 将 TCHAR 数组中的数值存储到 VC++ 中的 INTEGER 变量中。 (在 UNICODE 环境中)