我有以下代码(butchered使它变得小而具体):
struct myType_t
{
int a;
string str;
};
typedef vector<myType_t> dataVect_t; // Just for ease of use
...main(...)
{
dataVect_t myData;
myData.push_back((myType_t) {1, "test"}); // THIS IS THE LINE IN QUESTION!
}
Run Code Online (Sandbox Code Playgroud)
编辑:抱歉,这已更正为创建myType_t的实例(不是dataVect_t)
我想将intStringPairVect_t的实例推回到向量中,但我真的不想创建一个变量来执行此操作.我正在做什么似乎编译,但我不是100%确信它是正确的...任何指针(没有双关语意)在这里?
你要这个
myData.push_back( myType_t { 1, "test" });
~~~~~~~~
Run Code Online (Sandbox Code Playgroud)
它使用统一的初始化器来制作对象myType_t.
如果你没有使用C++ 11,那么你可以定义一个构造函数并通过()以下方式执行相同的操作:
struct myType_t
{
myType_t(int a, string str) : a(a), str(str){}
int a;
string str;
};
myData.push_back( myType_t ( 1, "test" ));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1164 次 |
| 最近记录: |