败犬日报 2025-12-28
败犬日报 2025-12-28
1. 写 int* p; 还是 int *p;
喜欢哪个用哪个,用 std::add_pointer_t<int> p; 都没人拦着你(并非)。clang-format 提供了 PointerAlignment 支持三种风格(靠左 / 右 / 中间 int * p;)。
硬要推荐一个那就靠左 int* p;。
int* p; 可以把 int* 直接读成 int 指针,更符合直觉。
int *p; 是因为 C 设计的时候,让定义和使用的写法一致。int *p; 就是当你用 *p 就能得到一个 int,int (*p)[10] 就是当你用 (*p)[i] 就能得到一个 int。
对于 int* p, q; 的问题,建议一个语句只定义一个变量。