c++ - *adj 是什么意思以及它是如何工作的
问题描述
我开始使用 C++ STL,并且正在学习list
.
我知道 inlist<int> adj
是存储在其中的类adj
的对象。list
int
我的疑问是,*adj
in是什么意思list<int> *adj;
?
解决方案
这声明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);
推荐阅读
- multithreading - Double check locking in fortran with openmp
- javascript - Javascript write to local XML file
- gdb - How to make local labels in GNU GAS ELF output that GDB can break on but not count as functions?
- sql - How to SUM via Group By?
- c# - C# Char Array 在特定索引处删除
- cassandra - Cassandra - Composite Partition Keys and Performance
- postgresql - func (rs *Rows) 扫描处理一列类型的数组字符串
- android - How to count total number of rows when limit is added in android sqlite
- anylogic - 更改流体库中的批次颜色
- java - Springboot @ConfigurationProperties 嵌套的 yaml 属性不加载