这个临时的 std::string 表达式是否可以接受?

问题描述 投票:0回答:0

我意识到这不是最有效的做法,但是大多数人都可以接受 C++ 来创建用于连接的临时

std::string
对象,就像这里的第 4 行一样吗?

constexpr const char* const a = "This is ";
constexpr const char* const b = "a test.";

std::string s2 = std::string(a) + std::string(b);
std::cout << "*** " << s2 << std::endl;

我必须在许多以前使用

std::string
连接的地方更新一些代码,现在使用这些
constexpr
字符串常量,而且似乎更容易放入一些
std::string(...)
构造函数来快速更新代码。

这在我列出的 Visual C++ 中有效,并且似乎在支持 C++14 的 gcc 版本中编译(还需要测试)。

c++ visual-c++ c++14 stdstring temporary-objects
© www.soinside.com 2019 - 2024. All rights reserved.