之前学c语言的时候书上说用指针定义形参就可以实现对原来数据的同步改变,那么为什么c++定义形参是还要同时用 * &?直接用不就可以了吗?
如果希望函数内这个指针指向另一个对象(比如说初始化指针),那么就需要指针+引用
光是修改指针指向的对象,那么只要指针就可以了。
C语言可以用双指针代替。
特别注意,一个是修改指针指向的内容,一个是修改指针本身让它指向别的地址,两者的不同。
// 得到一个结构体类型中field成员的偏移量
#define OFFSETOF(type, field) ((size_t) &((type *)0)->field)
// 得到一个结构体类型中field成员所占用的字节数
#define FSIZ(type, field) sizeof(((type *)0)->field)