谁能解释下这个C++ 指针问题:
set<ListNode*> set{}
ListNode *a;
ListNode *b;
a == b; // 控制台返回的是false
set.insert(a);
set.count(b); // 控制台返回的是true
为什么两个指针不相等,使用set插入a之后再判断count(b)能找到元素。
谁能解释下这个C++ 指针问题:
set<ListNode*> set{}
ListNode *a;
ListNode *b;
a == b; // 控制台返回的是false
set.insert(a);
set.count(b); // 控制台返回的是true
为什么两个指针不相等,使用set插入a之后再判断count(b)能找到元素。
1.指针在定义时一定要赋初值,不然这个指针就是空指针,野指针,指向哪里都不知道。你也可以把指针的地址打印出来看看具体是多少,就明白了指针为什么不相等了。