【问题标题】:Construct std::vector<double> from a double* array of known size从已知大小的 double* 数组构造 std::vector<double>
【发布时间】:2014-05-06 17:05:03
【问题描述】:

我有一个指向双精度数组第一个元素的指针:double* p

我也知道数组的长度:n

有没有办法可以将它复制到std::vector 中?最好使用构造函数和分配器。我想做类似的事情

std::vector<double> v = std::vector(p, n);

但不知道哪个构造函数最接近这个。我正在使用 C++11。

【问题讨论】:

  • 别忘了接受其中一个答案。

标签: c++ c++11 vector initialization


【解决方案1】:

std::vector&lt;&gt; 有一个接受范围的构造函数。你可以这样使用它:

std::vector<double> v(p, p + n);

【讨论】:

    【解决方案2】:

    试试

    std::vector<double> v( p, p + n );
    

    或者如果向量已经定义了,那么

    v.assign( p, p + n );
    

    如果你想附加向量然后

    v.insert( v.end(), p, p + n );
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-01-25
      • 2019-05-18
      • 2016-01-24
      • 1970-01-01
      • 1970-01-01
      • 2018-09-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多