【发布时间】:2020-05-15 23:32:25
【问题描述】:
如果 const 字符串是从 const char* 初始化的。我假设创建了一个临时 std::string 对象,并且引用是指临时对象。 对吗?
#include<string>
struct A{
const std::string& str_;
A(const std::string& o):str_(o){}
};
int main(){
A moshe{"moshe"};
}
【问题讨论】:
-
如果这是一个学术问题,我不确定答案。如果这是我团队的项目,他们会说
std::string str_;和A(std::string o):str_{std::move(o)} {}。 -
这是我见过的简化版代码。可能不是什么稀奇事,很容易无意间写出这样的代码。
标签: c++