Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/156.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将尺寸标注添加到C++;阵列? 是否可以在C++中动态添加数组或向量的维数?人们通常如何处理这个问题?还有,是否有一个STL容器可以让我们实例化一个具有N维的数组(比如说,如果我有一个类,它有一个包含多维数据的成员,但在类实例化之前我不知道维度的数量)。可能是这样的: vector<int> ndim_vector = {20 10 50}; some_container<double> c( ndim_vector ); vector ndim_vector={20 10 50}; 一些容器c(ndim_向量);_C++_Multidimensional Array - Fatal编程技术网

将尺寸标注添加到C++;阵列? 是否可以在C++中动态添加数组或向量的维数?人们通常如何处理这个问题?还有,是否有一个STL容器可以让我们实例化一个具有N维的数组(比如说,如果我有一个类,它有一个包含多维数据的成员,但在类实例化之前我不知道维度的数量)。可能是这样的: vector<int> ndim_vector = {20 10 50}; some_container<double> c( ndim_vector ); vector ndim_vector={20 10 50}; 一些容器c(ndim_向量);

将尺寸标注添加到C++;阵列? 是否可以在C++中动态添加数组或向量的维数?人们通常如何处理这个问题?还有,是否有一个STL容器可以让我们实例化一个具有N维的数组(比如说,如果我有一个类,它有一个包含多维数据的成员,但在类实例化之前我不知道维度的数量)。可能是这样的: vector<int> ndim_vector = {20 10 50}; some_container<double> c( ndim_vector ); vector ndim_vector={20 10 50}; 一些容器c(ndim_向量);,c++,multidimensional-array,C++,Multidimensional Array,您可以编写一个类来做类似的事情。例如,提供了N维矩阵。然而,STL中没有这样的东西。您可以构建自己的类,这些类可以从STL容器实现这种行为。Boost库项目还提供了一个 您可以编写一个类来做类似的事情。例如,提供了N维矩阵。然而,STL中没有这样的东西。您可以构建自己的类,这些类可以从STL容器实现这种行为。Boost库项目还提供了一个 标准不包括该容器。但包括头文件及其关联的类和模板类valarraytemplate类是一维的,但是使用gslice模拟多维行为并不困难。动态添加将需要更多的工作

您可以编写一个类来做类似的事情。例如,提供了N维矩阵。然而,STL中没有这样的东西。您可以构建自己的类,这些类可以从STL容器实现这种行为。Boost库项目还提供了一个

您可以编写一个类来做类似的事情。例如,提供了N维矩阵。然而,STL中没有这样的东西。您可以构建自己的类,这些类可以从STL容器实现这种行为。Boost库项目还提供了一个

标准不包括该容器。但包括
头文件及其关联的类和模板类
valarray
template类是一维的,但是使用
gslice
模拟多维行为并不困难。动态添加将需要更多的工作


无论如何,所有这些特性都需要封装到您自己的类中。。。或者使用Ralh Tandetzky建议的替代品。

标准不包括该容器。但包括
头文件及其关联的类和模板类
valarray
template类是一维的,但是使用
gslice
模拟多维行为并不困难。动态添加将需要更多的工作


无论如何,所有这些特性都需要封装到您自己的类中。。。或者使用Ralh Tandetzky建议的替代方案。

简短的回答是“不”,你不能这样做。我很难理解当代码不知道容器内容有多少维度时,您将如何在程序中使用它。您不能只使用一个一维向量并将其调整为元素总数吗?您还可以看看如何使用N维数组您肯定可以编写一个容器来实现这一点。[2] [3]将分配6,并适当处理索引。如果将其更改为[2][3][4],则将重新分配到24,并且必须将旧元素重新组织到数组中的新位置。@Dave但是使用数组的代码必须知道维度。所以不需要动态维度,简单的回答是“不”,你不能这么做。我很难理解当代码不知道容器内容有多少维度时,您将如何在程序中使用它。您不能只使用一个一维向量并将其调整为元素总数吗?您还可以看看如何使用N维数组您肯定可以编写一个容器来实现这一点。[2] [3]将分配6,并适当处理索引。如果将其更改为[2][3][4],则将重新分配到24,并且必须将旧元素重新组织到数组中的新位置。@Dave但是使用数组的代码必须知道维度。所以不需要动态维度。我不熟悉ValSube是C++的新东西,但是它听起来非常接近我所寻找的。谢谢你的信息。我不熟悉ValSube是C++的新东西,但是听起来很接近我所寻找的。谢谢你提供的信息。