❤️强烈推荐人工智能学习网站❤️

              之前提到过有关map下标操作,但是今天这个更复杂一点了,写下来学习一下。

struct Node
{
	int a;
	int b;
};

int main()
{
	
	map<int, Node> mapTest = { { 1,{ 11, 111}} , { 2, { 22, 222 }}};
	map<int, Node>::iterator IT;
	IT=mapTest.find(2);//find函数返回一个迭代器

	if (mapTest.end() != mapTest.find(1))
	{
		cout << IT->second.a;
	}

	cout << mapTest[2].a << endl;
	printf("%d\n",mapTest[1].b/mapTest[1].a);//正确用法
	mapTest[1].a += 4;
	cout << mapTest[1].a;//正确用法

	return 0;
}

打印:22

 

            22

            10

            15

如何找出22这个位置对于的值,上述代码中给出了2种方法。今天工作中,有人说cout<<mapTest[1].a;是错误用法,现在测试了一下,发现是正确的。