【问题标题】:set::vector initialization with quotes in a numericset::vector 在数字中使用引号初始化
【发布时间】:2017-11-06 19:37:01
【问题描述】:

所以我提出了一个关于 std::reduce 的问题,这让我举了一个例子。 cppreference.com

在这个例子中,我看到了下面的 std::vector 声明:

    std::vector<double> v(10'000'007, 0.5);

这些引用在这里做什么?我以前从未在任何地方见过这种情况。这是我应该知道的一种新的 C++ 特性吗?

【问题讨论】:

  • 那是C++的数字分隔符。它从 C++14 开始就存在了

标签: c++ stl c++17


【解决方案1】:

这是 C++14 中的一个新特性。来自cppreference

可以在数字之间插入可选的单引号(')作为 分隔器。编译器会忽略它们。

【讨论】:

    【解决方案2】:

    它似乎是一个数字分隔符,如下所述:http://www.informit.com/articles/article.aspx?p=2209021

    所以,这段代码应该等价于

    std::vector<double> v(10000007, 0.5);
    

    【讨论】:

      猜你喜欢
      • 2013-06-26
      • 2020-05-14
      • 2013-05-03
      • 2013-06-06
      • 2015-05-22
      • 1970-01-01
      • 2012-06-16
      • 1970-01-01
      • 2014-07-28
      相关资源
      最近更新 更多