gdb打印信息1——打印STL和数组中的内容

一、打印vector内容测试代码

#include<iostream>
#include<vector>

using namespace std;

int main(int argc, char* argv[])
{
    	vector<int> vec(10);	// 10 zero-initialized elements
	for (int i = 0; i < vec.size(); ++i) {
		vec[i] = i;
	}

	cout << "vec contains: ";
	for (int i = 0; i < vec.size(); ++i) {
		cout << ' ' << vec[i];
	}
	cout << '\n';
	return 0;
}

测试过程

这里对cpp文件,是不需要CMakeLists.txt的,而是使用g++命令
然后使用命令print(缩写p)即可查看vector的内容,同时包含了vector的长度和容量信息
在这里插入图片描述


二、打印set内容测试代码

#include <iostream>
#include <vector>
#include <set>
using namespace std;

int main(int argc, char* argv[])
{
	int arr[5] = {0,1,2,3,4};
    set<int> iset(arr, arr+5);

	set<int>::iterator ite1 = iset.begin();
    set<int>::iterator ite2 = iset.end();
    for(;ite1!=ite2;ite1++)
    {
        cout<<*ite1;
    }
	cout << '\n';
	return 0;
}

测试过程

如图,如果是set,还给你排好序了
在这里插入图片描述

其他的stl容器同理


三、打印数组中的内容

使用命令print 数组名即可
需要注意的是,如果数组太大了,缺省最多会显示200个元素
可以使用set print elements 0设置为没有显示元素个数的限制


四、打印数组中任意连续元素值

使用命令p 数组名[起始下标]@要打印的个数
在这里插入图片描述


五、打印数组内容的同时显示下标

默认情况下是不显示数组下标的,可以通过命令set print array-indexes on打开
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/CSDN_dzh/article/details/84800948