问题标签 [stdarray]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
220 浏览

c++ - 使用复杂数据结构时的内存泄漏(向量数组的数组)

我有一个复杂的数据结构定义为:

其中arrayvector是 and 的缩写std::arraystd::vectorn_ports 和 n_times 是unsigned ints 并且arc是 a struct

基本上,对于一个三元组 (i,j,k),其中0 <= i < n_times, 0 <= j < n_ports+2, 0 <= k < 2,我关联一个弧向量,我无法先验知道其维度。

这些向量不是按顺序创建的,它们的元素也不是按顺序创建的push_back

我遇到的问题是,我发现自己的弧线比应有的弧线多得多,而且我怀疑这些弧线是之前创建的弧线的痕迹,然后在必须调整矢量大小时将其移动(或复制?)到其他地方。

是我设法创建的最小示例,从我实际工作的内容开始,它显示了问题。

任何帮助表示赞赏。我使用了错误的数据结构吗?我应该自己清理一些东西吗?等等

0 投票
2 回答
174 浏览

c++ - std::array 作为字段的语法是什么,里面的对象必须用带参数的 ctor 构造?

我需要使用 bar 提供的接受一些参数的 ctor 来构造这个数组,如果它们都构造为相同的值是可以的,因为稍后我将为它们分配正确的值,我只需要对其进行初始化。我用谷歌搜索了这个并尝试了许多不同的语法,但由于某种原因我无法正确理解。

0 投票
5 回答
40952 浏览

c++ - 为什么 std::array 没有一个构造函数来为要填充的数组取一个值?

是否缺席

疏忽?它对我来说似乎很有用,动态容器(如std::vector)确实有一个类似的构造函数。

我完全清楚

但这不是构造函数,内存将首先清零。如果我想要所有人都-1喜欢这个人怎么办?

0 投票
2 回答
714 浏览

c++ - 如何从 std::initializer_list 构建类似 std::array 的数据结构

我想实现一个具有编译时间常数大小(如std::array)的数据结构。我希望能够像这样初始化这个数据结构:

使用像这样的构造函数可以很好地工作MyStruct(std::initializer_list<T> elements),但是编译器不会对我的内部结构和 强制执行相同的大小elements,即使它们在编译时都是已知的。

我不能使用static_assert,因为elements.size()不是编译时间常数。

有没有办法在编译时强制执行与 in 相同的elements大小MyStruct

0 投票
1 回答
248 浏览

c++ - 是否可以在对象实例化期间定义 std::array 类成员的元素计数?

我想编写一个类,其对象将是具有固定列数的字符串表。由于列数在对象的生命周期内保持不变,我决定从std::array容器中声明每个行对象。

下面的代码是我尝试编写这样的类。

我收到错误(在 Visual Studio 2012 中):

是否可以使此代码运行?

0 投票
2 回答
15921 浏览

c++ - 未定义模板 'std::__1::array 的隐式实例化'

我复制并粘贴了这个在我的 IDE 中找到的确切代码,出现了一个错误,我不明白为什么会发生这种情况并想了解原因。

0 投票
5 回答
96737 浏览

c++11 - std::array 的默认初始化?

使用 C++11 std::array,我是否保证语法std::array<T, N> x;将默认初始化数组的所有元素?

编辑:如果没有,是否有适用于所有数组(包括零大小数组)的语法将所有元素初始化为其默认值?

编辑:在cppreference上,默认构造函数描述说:

所以答案可能是肯定的。但我想根据标准或未来标准确定这一点。

0 投票
1 回答
1625 浏览

c++ - boost::python 转换 std::array

我正在使用 std::array 为最短路径函数定义 2D 点。

目前,我最好的解决方案是将点( std::array )转换为 std::vector,并使用 boost::python::vector_indexing_suite 作为:

是否可以直接从/到 std::array 到/从 python 索引或转换?

0 投票
3 回答
4128 浏览

c++ - 从 C++ 返回二维数组

在函数内部,我创建了一个二维数组,该数组从文本文件中填充自身并需要返回给 main。该数组在整个程序中保持恒定大小。

我知道这是经常被问到的问题,但我似乎总是得到以下两个答案之一:

使用 std::vector 或 std::array 或其他一些 STD 函数。我真的不明白这些是如何工作的,是否有任何网站实际解释它们以及它们与普通阵列相比的作用?我需要什么特殊的#includes 吗?

或者

使用指向数组的指针,并返回指针。首先,对于这个问题的一些答案,由于本地数组,它显然不起作用。我怎么知道它什么时候起作用,什么时候不起作用?如何在主函数中使用这个数组?

与实际代码相比,我在指针和 std::things 的概念上遇到了更多麻烦,因此,如果您知道有一个网站解释得特别好,请随意提出。

0 投票
3 回答
9823 浏览

c++11 - 在 C++ 中,如何使用 for_each 反向迭代数组?

在 C++11 中,使用 lambda/for_each,我们如何从末尾迭代数组?

我尝试了以下方法,但都导致无限循环:

任何想法?谢谢。