c++ 二维数组作为私有(private)类变量

标签 c++ arrays class variables

<分区>

我想知道如果我想将它用作类变量,是否有人可以给我示例说明如何声明二维数组。大小也应该是变量。

最佳答案

这取决于你所说的“数组”是什么意思。在 C++ 中,如果在编译时未知其大小(或多个大小),则无法声明内置数组类型的成员。

如果您需要一个表现为运行时大小数组的数据结构,您将不得不自己实现它或使用库实现。在那种情况下,你的类的直接私有(private)成员将不会被声明为内置数组类型,而是作为对存储在动态内存中的实际数组的某种间接引用。在最简单的情况下,您必须在类中声明一个指针 类型的成员。或者,您可以使用 std::vector 的成员类型,通常会将实际数组数据保存在动态内存中,在内部存储指针。

在您的情况下,对于二维数组,您可以声明 std::vector<std::vector<T>> 的成员类型。

关于c++ 二维数组作为私有(private)类变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18731092/

相关文章:

c - 如果数组大小只能是一个常量值,那么 char d_name[...] 是什么意思?

c++ - C++ 类函数未处理的异常

swift - 我的快速方法没有输出

c++ - 如何使用 avr-gcc 在 C/C++ 中执行预主初始化?

c++ - 从两个 N 位数字的乘积中找出回文

c++ - 使用模板和右值引用的重载解决方案

Java - 对于通用数据类型 Stack<Item>,new Stack<?>[N] 是否等同于 new Stack[N]?

c++ - 仅在重载时获取字符串 >> operator istream :

javascript - 如何组合两个动态创建的数组的所有元素并将结果写入 HTML?

c# - C#线程和类问题