如何在 C++ 的主函数中为全局声明的 2d 向量分配大小?

Posted

技术标签:

【中文标题】如何在 C++ 的主函数中为全局声明的 2d 向量分配大小?【英文标题】:How to assign size to a globally declared 2d vector in the main function in C++? 【发布时间】:2021-04-03 11:20:11 【问题描述】:
#include <bits/stdc++.h>
using namespace std;
vector< vector<int> >Adj;
int main()

    int n;
    cin>>n;
    Adj.assign(n);

此代码不适用于为向量分配大小。

【问题讨论】:

向量的大小由resize方法设置。 你为什么认为assign 会改变大小?它可以,只是不是这样。猜测一个函数可能会做什么使编程变得非常困难,相反你应该参考some reference。其他好读物:Why should I not #include <bits/stdc++.h>?、Why is “using namespace std;” considered bad practice?。 【参考方案1】:
    使用调整大小方法“Adj.resize(n)”。该函数通过插入或删除元素来实际改变容器的内容。 如果给定的 n 值小于当前的大小,则拆除额外的元素。 如果 n 大于容器的当前大小,则将即将出现的元素附加到向量的末尾

【讨论】:

以上是关于如何在 C++ 的主函数中为全局声明的 2d 向量分配大小?的主要内容,如果未能解决你的问题,请参考以下文章

如何初始化 2D 向量 C++ [重复]

如何在 C++ 中声明和初始化 2d int 向量?

(C++) 创建可以从函数访问的动态全局数组/向量

我们如何在 C++ 中将二维数组/向量作为函数参数传递? [复制]

需要帮助使用 boost 在类定义中为向量分配空间

C++ 如何制作二维向量函数?