gpt4 book ai didi

c++ - 在 C++ 中初始化 vector 的 vector

转载 作者:搜寻专家 更新时间:2023-10-31 01:00:24 24 4
gpt4 key购买 nike

我正在尝试在 C++ 中将 vector 的 vector 用作二维数组。我必须从用户那里读取输入。行数和列数也由用户输入。

假设我读取 m * n 矩阵,

我尝试使用 reserve(m*n) 分配空间,但在构建时也出现错误。

这是我面临的一个普遍问题,我的意思是即使在您逐个读取字符的字符串中,您如何为它提供空间以便您可以访问索引 i(我知道可以使用 .resize(given_size) 来完成)但是在不知道用户将输入多少字符的情况下,这是无法做到的(这可以使用 + 运算符来规避,但仍然不是直接的解决方案)。

所以,我的主要问题是如何初始化 vector 的 vector (不是输入值,而是分配所需的空间、行和列),以便我可以访问 [i][j] 来读取它的值?

我知道可以使用 vector 的 vector 构建矩阵,例如 here但我想先声明一个 vector 的 vector ,然后输入行和列来分配空间,这样我就可以访问 [i][j] 来输入元素。

最佳答案

std::vector<std::vector<T>> my_vec(m, std::vector<T>(n))

注意T为每个 m * n 调用默认构造函数矩阵的成员。

关于c++ - 在 C++ 中初始化 vector 的 vector ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31200535/

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