gpt4 book ai didi

c++ - vector C++ 大小和访问元素

转载 作者:行者123 更新时间:2023-11-27 22:50:40 26 4
gpt4 key购买 nike

我在代码中有这个

vector<vector<double> > times(pCount, vector<double>(5,0.0));

我的问题是,它分配的矩阵大小是多少?如果我需要访问其中的所有值,我该怎么办?

最佳答案

你有一个 pCount × 5矩阵。第一个索引可以介于 0 和 pCount - 1 之间(含),第二个索引可以介于 0 和 4(含)之间。所有值都初始化为 0。

这是因为您使用的是 std::vector 构造函数,其第一个参数是计数 n (用于初始化 vector 的元素数),其第二个参数是复制的值 n次。所以,times是一个 vector pCount元素,每个元素都是一个 vector<double> .这些 vector 中的每一个都是所提供的 vector<double>(5,0.0) 的拷贝。 ,由5个元素构成,每个元素都是0.0。

您可以获得任何单个值,例如 times[3][2] ,或者你有什么。使用 C++11 或更高版本,您可以像这样遍历所有值:

for (auto& v : times)
for (double& d : v)
d += 3.14; // or whatever

如果您不需要修改这些值,而只是访问它们,您可以删除与号,或者更好的做法是:

for (const auto& v : times)
for (double d : v)
std::cout << d << ", "; // or whatever

在C++11之前,你要罗嗦得多,或者干脆使用索引:

for (int i = 0; i < pCount; ++i)
for (int j = 0; j < 5; ++j)
times[i][j] += 3.14; // or whatever

关于c++ - vector C++ 大小和访问元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37552249/

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