使用Dev-C++查看vector数组中的变量值

临近蓝桥杯大赛,C&C++组需用DEV写题,作者起初不适应其调试功能。后得知DEV可添加查看变量值,如查看vector v[0]的值可写*(&v[0]),查看整个数组值可写*(&v[0])@3,@后数字为查看长度。

马上蓝桥杯大赛了,c&c++组要用DEV写题目,真的是不太适应啊,里面的调试就弄的不是很明白,一直以为DEV不可以调试,查看变量的值。心中暗喷DEV100遍(辣鸡)。

今天才知道原来DEV是可以添加查看的。

原文地址:http://www.liuchuo.net/柳神的博客。

可以通过调试的时候添加查看:比如说有一个长度为3的vector v,如果想要查看v[0]的值,就在添加查看中写 *(&v[0])

如果想要查看整个数组的值,就可以写*(&v[0])@3

@后面的数字表示想要查看的长度,这里vector的长度是3所以可以写3就能看到所有的值~

### 定义和初始化 `vector<vector<int>>` 变量 在 C++ 中,`std::vector<std::vector<int>>` 是一种常用的二维动态数组结构。它的定义和初始化可以通过多种方式实现。 #### 方法一:通过默认构造函数创建空的二维向量 如果需要一个初始为空的二维向量,则可以直接使用默认构造函数: ```cpp #include <iostream> #include <vector> int main() { std::vector<std::vector<int>> vec; // 向外层向量添加内层向量 vec.push_back({1, 2, 3}); vec.push_back({4, 5}); vec.push_back({6}); for (const auto& row : vec) { for (int elem : row) { std::cout << elem << " "; } std::cout << "\n"; } return 0; } ``` 这种方法允许逐步填充二维向量的内容[^1]。 --- #### 方法二:指定大小并赋初 当已知二维向量的具体尺寸时,可以在定义时为其分配空间,并设置初始: ```cpp #include <iostream> #include <vector> int main() { // 创建一个具有 3 行、每行有 4 列且初始为 0 的二维向量 std::vector<std::vector<int>> vec(3, std::vector<int>(4, 0)); for (size_t i = 0; i < vec.size(); ++i) { for (size_t j = 0; j < vec[i].size(); ++j) { vec[i][j] = i * j; // 设置一些测试数据 } } for (const auto& row : vec) { for (int elem : row) { std::cout << elem << " "; } std::cout << "\n"; } return 0; } ``` 此方法适用于提前知道矩阵维度的情况。 --- #### 方法三:利用列表初始化语法 C++11 引入了更简洁的列表初始化语法,能够直接在定义时完成二维向量的初始化: ```cpp #include <iostream> #include <vector> int main() { // 使用大括号直接初始化二维向量 std::vector<std::vector<int>> vec = { {1, 2, 3}, {4, 5}, {6, 7, 8, 9} }; for (const auto& row : vec) { for (int elem : row) { std::cout << elem << " "; } std::cout << "\n"; } return 0; } ``` 这种方式不仅直观而且减少了冗余代码,推荐在可能的情况下优先采用[^3]。 --- #### 调试技巧 为了方便调试二维向量变量,在打印其内容时可以嵌套循环遍历每一行列元素。例如上述例子中的双重 `for` 循环即可满足需求。此外,也可以借助 IDE 或者第三方库(如 Google Test Framework)来进行单元测试验证逻辑正确性。 --- ### 注意事项 - 如果不显式初始化内部向量,则可能导致未定义行为,尤其是在访问这些未经初始化的部分时。 - 当处理大规模数据集时需注意内存消耗问题以及性能优化策略。
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值