0xb*_*00d 2 c++ string containers string-literals c++17
我有一个结构体和一个结构体foo bar,我想要一些成员字段的常量值,即struct foo { const char* s, ... };std::vector<foo> v;push_backfoos
bar.push_back({ "1", /*...*/ });
bar.push_back({ "2", /*...*/ });
bar.push_back({ "3", /*...*/ });
//...
Run Code Online (Sandbox Code Playgroud)
现在,如果我不是完全错了,这并不安全,因为字符串文字的生命周期受限于初始化大括号的范围。因此,字符串文字的生命周期"1"应该已经在第二行结束push_back。
我们该如何处理?我们真的需要创建第二个容器 strongstd::string并将相应的c_str()指针传递给bar吗?
| 归档时间: |
|
| 查看次数: |
67 次 |
| 最近记录: |