关于指针

灌水区

ningago @ 2022-03-18 21:13:38

为什么总是有大佬喜欢用* <- 指来指去地写代码,蒟蒻我看不懂怎么办qwq?有没有学习这种码风的博客啊?


by fast_photon @ 2022-03-18 21:18:10

@ningago


by ningago @ 2022-03-18 21:19:53

@fast_photon qwq


by fast_photon @ 2022-03-18 21:29:29

@ningago
实际上,这不是蚂蜂的问题,-> 访问的是类中的指针类型成员,而 . 访问的是普通数据类型的成员。
T *a 其中 typename T 可以定义一个指向 T 的指针,命名为 a。一些关于 a 的东西:
*a,表示 a 这个指针指向的地址所存的值,属于 T 类型
a + 1,表示虚拟内存中 a 后面那个地址,属于 T* 类型
a - b,其中 T *b,表示虚拟内存中 a 地址和 b 地址差多少格,其中每一格的空间是 sizeof(T),属于 int 类型
&c,其中 T c,属于 T* 类型,变量 c 的地址
所以 *&*&*&*&*&*&*&*&*&*&*&*&*&*&*&*&*&c 的值就是 c 的值。


by ningago @ 2022-03-18 21:31:52

@fast_photon %%%


by ud2_ @ 2022-03-18 21:35:44

a->x 相当于 (*a).x,还有特殊的性质就是当指针指向数组元素时加减运算可以改变指向的下标。没必要考虑内存地址什么的问题。


|