gpt4 book ai didi

c++ - 计算创建为双指针的两个暗数组的大小

转载 作者:行者123 更新时间:2023-11-30 04:47:25 25 4
gpt4 key购买 nike

我在计算这个数组的列数或行数时遇到问题(没关系,因为它总是方阵),创建如下:

    float **arr1 = new float*[3];

for (int i = 0; i < 3; i++){
arr1[i] = new float[3];
}

for (int i = 0; i < 3; i++){
for (int i = 0; i < 3; i++){
arr1[i][j] = i;
}
}

我尝试了很多选项,但我总是得到结果:1,例如:

    sizeof(arr1[0])/sizeof(arr1[0][0]);

如果您知道解决方案,请与我分享。

最佳答案

sizeof() 只会返回指针的大小。

只有一种方法可以获取数组的大小。创建一个包装原始数组的类/结构并且也包含它的大小。

幸运的是,您不必创建这样的结构,因为从 C++11 开始,您可以使用 std::array 为您完成它,这正是您所需要的。您可以按如下方式重写您的示例:

std::array<std::array<float, 3>, 3> square; // size 3x3

for(size_t i = 0; i < square.size(); ++i)
{
for(size_t j = 0; j < square[0].size(); ++j)
square[i][j] = i;
}

size() 方法为您提供内部数组的大小。

希望对你有帮助。

关于c++ - 计算创建为双指针的两个暗数组的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56257478/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com