C++ 字符串两边的括号

标签 c++ string

如果我有一个函数myfunc(const char *x, int y)和一个 std::string变量mystring ,我可以打电话myfunc()喜欢 myfunc((mystring + "string constant").c_str(), 4) ?如果没有,最好的方法是什么?

最佳答案

不,你不应该这样调用它。

myfunc((mystring + "string constant").c_str(), 4)

创建临时文件是为了保存mystring +“字符串常量”。当您在该临时对象上应用 c_str 时,它将返回该字符串的内部句柄。因此,如果您得到不想要的结果,请不要感到惊讶。

关于C++ 字符串两边的括号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27211128/

相关文章:

c++ - 将成员变量名转换为字符串

c++ - 如何判断两个节点是否相互连接?

string - Matlab:将数字数组转换为字符串数组

java - 为什么java相同的字符串有不同的哈希码

c++ - 在 C++ 中从彩色图像创建蒙版(叠加彩色图像蒙版)

c++ - 带有 boost 线程库的 Cmake

c++ - 基于类型创建具有默认参数的模板

c - 获取单个字符并将其传递给 C 中的函数

swift - 如何在自定义 CALayer 子类的重写绘图函数中在 macOS 上绘制字符串?

c++ - 字符串变量的简单错误