【发布时间】:2021-08-16 07:20:03
【问题描述】:
vector<vector<int>> output; // 2D int vector
//normally, we can do
vector<int> v = { 44, 55 };
output.push_back(v);
//I found some example that we can do
output.push_back({ 22, 33 });
我知道 {} 可用于初始化数组或向量。
如果我想跳过像 vector<int> v = { 44, 55 }; 这样的行,编译器如何知道 { 22, 33 } 是 vector<int> 而不是 int 数组?
和 {22,33} 它是一个临时对象吗? (我知道按值返回函数总是会产生临时对象。)
【问题讨论】:
标签: c++ stl stdvector list-initialization braced-init-list