c++ - 返回 char 数组作为 std :string

标签 c++

如果没有显式转换或调用 std::string 构造函数,以下内容是否安全?如果不安全,为什么不呢?

std:string myfunc()
{
    char buf[128] = "";
    // put something into buf or not base on logic.

   return buf;
}

最佳答案

是的。那很好。调用者将获得本地缓冲区的拷贝,因为 std::string 会从该本地缓冲区中进行深度复制!

编辑:我假设 buf 是空终止字符串!

关于c++ - 返回 char 数组作为 std :string,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5328544/

相关文章:

c++ - 正在声明一个变量指令

c++ - 给定二叉树是否为二叉搜索树

c++ - 运行一个卡在零的计时器代码

c++ - 如何将 Struct 的特定元素存储到指针中

c++ - OpenCV inRange() 函数

c++ - 消除左递归后的精神语义 Action

c++ - 将静态库链接行添加到我的 Qt 项目文件没有任何区别

c++ - struct function greater 在这段代码中是如何工作的?

c++ - 在 3ds max 中识别平面对象

c++ - 识别新行