如何在单行中初始化结构并将其添加到矢量
how to initialize and add struct to vector in single line
我想知道是否有办法在一行中初始化和添加向量中的结构,例如
vector<Row> list;
//Row t;
list.push_back(Row t ={"",23});
这应该有效:
list.push_back(Row{"",23});
以及这个:
list.push_back({"",23});
以上适用于C++11和现代编译器,例如GCC或Clang。如果无法启用 C++11 或编译器不支持它,则需要在 Row
中添加构造函数:
struct Row
{
Row( const std::string& d, int w ) : data( d ), weight( w ) {}
// ...
};
您可以使用:
list.push_back(Row("",23));
相关文章:
- 将成员变量添加到共享库中的类中,不会破坏二进制兼容性吗
- 如何在C++中从两个单独的for循环中添加两个数组
- 使用std::transform将一个范围的元素添加到另一个范围中
- 如何将点击的信号和插槽添加到qt中的自定义按钮中
- Qt和C++:将QLineEdit添加到QTabWidget中
- 当输入在带有空格的单行中给出时,cin 如何在 while 循环中工作?
- 如何在C++中的单行中返回常量数组中的值
- 是否可以在单行中获取第一种类型的参数包?
- 解锈化代码格式化程序删除C++单行中的空格
- 如何在fedora中添加c 中的avcodec.h
- 添加Z3中功能的相反
- 通过单行中的XOR交换整数.在c++11中真的允许这样做吗
- 如何添加multi_index_container中指定的有序唯一索引
- 设置仅添加C++中的第一个元素
- 如何在OSX应用程序的标题栏中添加Qt中的全屏图标
- 如何在单行中初始化结构并将其添加到矢量
- 如何使用增强正则表达式在单行中匹配单词
- 删除和重新添加C++中的节点
- 在C/C++中,在没有数组的单行中快速输入字符串
- 试图从c++文本文件的单行中提取字符串的一部分