首页 > 解决方案 > *adj 是什么意思以及它是如何工作的

问题描述

我开始使用 C++ STL,并且正在学习list.

我知道 inlist<int> adj是存储在其中的类adj的对象。listint

我的疑问是,*adjin是什么意思list<int> *adj;

标签: c++

解决方案


这声明adj为指向 a 的指针list<int>

list<int> *adj;

它不构造 alist<int>但可用于指向在list<int>程序中其他地方构造的 s。例子:

list<int> a_list_int_instance;

adj = &a_list_int_instance; // & is the "address-of" operator in this context

adj现在指向并可以通过取消引用a_list_int_instance来访问其方法。这里有两个选项:

adj->push_back(10);
(*adj).push_back(20);

推荐阅读