可能重复: C++:用硬编码元素初始化STL向量的最简单方法
我现在正在学习C++,我正在寻找一种方法来快速、轻松地为每个元素初始化一个具有不同值的“安全”集合(就像一个向量)。我习惯于Python的简洁列表/元组初始化,我想知道在C++中是否存在相同的语法技巧或集合类型。
例如,如果我想在Python中初始化唯一支付对象的列表,我可以这样做:
payments = [Payment(10, 2), Payment(20, 4), Payment(30, 6)]但是,为了在C++中初始化支付结构向量,我需要编写如下内容:
Payment tempPayments[] = {
{10, 2},
{20, 4},
{30, 6}
};
vector<Payment> examplePayments(tempPayments, tempPayments +
sizeof(tempPayments) / sizeof(Payment));是否有更简单的方法来初始化具有独特结构的向量,或者其他更方便的安全集合?
发布于 2010-02-21 20:02:03
查看Boost.Assign,特别是的。它允许您使用以下代码初始化集合:
const vector<int> primes = list_of(2)(3)(5)(7)(11);https://stackoverflow.com/questions/2307251
复制相似问题