【问题标题】:Vector of pairs [duplicate]向量对[重复]
【发布时间】:2014-11-05 22:52:22
【问题描述】:

我需要在每对长度 n 中用 (false,false) 初始化一个对向量。

类似这样,但正确:

vector<pair<bool,bool> > hm(n,(false,false));

【问题讨论】:

  • 它是用 Java 编写的吗?请包括您选择的语言!
  • 在我看来像 C++。

标签: c++ vector


【解决方案1】:

std::pair 值初始化其成员,这意味着默认构造会将两个成员都设置为false。所以这将产生预期的效果:

vector<pair<bool,bool>> hm(n);

【讨论】:

    【解决方案2】:

    在一行中初始化一个包含 n 对的向量,如下所示:

    std::vector<std::pair<bool, bool> > hm{n, {false, false}};
    

    【讨论】:

    • +1: 强调{ 而不是( :)
    • 感谢@quetzalcoatl,发现错字!
    • 我喜欢的打字太多;-)
    【解决方案3】:

    C++03 兼容答案:

    std::vector<std::pair<bool,bool> > hm(n, std::make_pair(false, false));
    

    【讨论】:

    • 对于 C++11(或更高版本),请参阅 G.Samaras 的出色回答 :)
    猜你喜欢
    • 2013-10-15
    • 2018-12-11
    • 2013-08-09
    • 2011-11-29
    • 2021-07-09
    • 2020-08-12
    • 1970-01-01
    • 1970-01-01
    • 2011-06-21
    相关资源
    最近更新 更多