问题标签 [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.
c++ - 使用复杂数据结构时的内存泄漏(向量数组的数组)
我有一个复杂的数据结构定义为:
其中array和vector是 and 的缩写std::array
,std::vector
n_ports 和 n_times 是unsigned int
s 并且arc
是 a struct
:
基本上,对于一个三元组 (i,j,k),其中0 <= i < n_times
, 0 <= j < n_ports+2
, 0 <= k < 2
,我关联一个弧向量,我无法先验知道其维度。
这些向量不是按顺序创建的,它们的元素也不是按顺序创建的push_back
。
我遇到的问题是,我发现自己的弧线比应有的弧线多得多,而且我怀疑这些弧线是之前创建的弧线的痕迹,然后在必须调整矢量大小时将其移动(或复制?)到其他地方。
这是我设法创建的最小示例,从我实际工作的内容开始,它显示了问题。
任何帮助表示赞赏。我使用了错误的数据结构吗?我应该自己清理一些东西吗?等等
c++ - std::array 作为字段的语法是什么,里面的对象必须用带参数的 ctor 构造?
我需要使用 bar 提供的接受一些参数的 ctor 来构造这个数组,如果它们都构造为相同的值是可以的,因为稍后我将为它们分配正确的值,我只需要对其进行初始化。我用谷歌搜索了这个并尝试了许多不同的语法,但由于某种原因我无法正确理解。
c++ - 如何从 std::initializer_list 构建类似 std::array 的数据结构
我想实现一个具有编译时间常数大小(如std::array
)的数据结构。我希望能够像这样初始化这个数据结构:
使用像这样的构造函数可以很好地工作MyStruct(std::initializer_list<T> elements)
,但是编译器不会对我的内部结构和 强制执行相同的大小elements
,即使它们在编译时都是已知的。
我不能使用static_assert
,因为elements.size()
不是编译时间常数。
有没有办法在编译时强制执行与 in 相同的elements
大小MyStruct
?
c++ - 是否可以在对象实例化期间定义 std::array 类成员的元素计数?
我想编写一个类,其对象将是具有固定列数的字符串表。由于列数在对象的生命周期内保持不变,我决定从std::array
容器中声明每个行对象。
下面的代码是我尝试编写这样的类。
我收到错误(在 Visual Studio 2012 中):
是否可以使此代码运行?
c++ - 未定义模板 'std::__1::array 的隐式实例化'
我复制并粘贴了这个在我的 IDE 中找到的确切代码,但出现了一个错误,我不明白为什么会发生这种情况并想了解原因。
c++11 - std::array 的默认初始化?
使用 C++11 std::array
,我是否保证语法std::array<T, N> x;
将默认初始化数组的所有元素?
编辑:如果没有,是否有适用于所有数组(包括零大小数组)的语法将所有元素初始化为其默认值?
编辑:在cppreference上,默认构造函数描述说:
所以答案可能是肯定的。但我想根据标准或未来标准确定这一点。
c++ - boost::python 转换 std::array
我正在使用 std::array 为最短路径函数定义 2D 点。
目前,我最好的解决方案是将点( std::array )转换为 std::vector,并使用 boost::python::vector_indexing_suite 作为:
是否可以直接从/到 std::array 到/从 python 索引或转换?
c++ - 从 C++ 返回二维数组
在函数内部,我创建了一个二维数组,该数组从文本文件中填充自身并需要返回给 main。该数组在整个程序中保持恒定大小。
我知道这是经常被问到的问题,但我似乎总是得到以下两个答案之一:
使用 std::vector 或 std::array 或其他一些 STD 函数。我真的不明白这些是如何工作的,是否有任何网站实际解释它们以及它们与普通阵列相比的作用?我需要什么特殊的#includes 吗?
或者
使用指向数组的指针,并返回指针。首先,对于这个问题的一些答案,由于本地数组,它显然不起作用。我怎么知道它什么时候起作用,什么时候不起作用?如何在主函数中使用这个数组?
与实际代码相比,我在指针和 std::things 的概念上遇到了更多麻烦,因此,如果您知道有一个网站解释得特别好,请随意提出。
c++11 - 在 C++ 中,如何使用 for_each 反向迭代数组?
在 C++11 中,使用 lambda/for_each,我们如何从末尾迭代数组?
我尝试了以下方法,但都导致无限循环:
任何想法?谢谢。