C++ 初始化字符串的向量\u是否以错误的方式查看?

C++ 初始化字符串的向量\u是否以错误的方式查看?,c++,string,vector,view,c++17,C++,String,Vector,View,C++17,你好 请告诉我为什么前三行不行,后三行行行 见: 非常感谢,在基于for循环的第一个范围中,w是w元素的副本。在每次循环迭代后,w被销毁,std::string_视图保持的w.c_str指针悬空 您应该声明w作为引用。e、 g for (const std::string& w : W) Wbak1.push_back(w.c_str()); 非常感谢。我觉得自己像个白痴:不客气这是我们必须注意指向字符数组的生存期的原因。@40tude•这些事情可能很微妙。即使是我工作的C++专家也时

你好

请告诉我为什么前三行不行,后三行行行

见:


非常感谢,在基于for循环的第一个范围中,w是w元素的副本。在每次循环迭代后,w被销毁,std::string_视图保持的w.c_str指针悬空

您应该声明w作为引用。e、 g

for (const std::string& w : W) Wbak1.push_back(w.c_str());

非常感谢。我觉得自己像个白痴:不客气这是我们必须注意指向字符数组的生存期的原因。@40tude•这些事情可能很微妙。即使是我工作的C++专家也时常被绊倒。
for (const std::string& w : W) Wbak1.push_back(w.c_str());