如果我在clang格式配置中使用此选项:
PointerAlignment: Right
星号会被贴在Variable的名字上.例如:
char *p;
如果我在某个函数上try 此选项,它将产生以下结果:
char *foo(void);
那么,有没有让它左对齐来实现功能的选项呢?我想要得到这个:
char* foo(void);
如果我在clang格式配置中使用此选项:
PointerAlignment: Right
星号会被贴在Variable的名字上.例如:
char *p;
如果我在某个函数上try 此选项,它将产生以下结果:
char *foo(void);
那么,有没有让它左对齐来实现功能的选项呢?我想要得到这个:
char* foo(void);
C声明语法按照一定的优先级围绕应用了某些运算符的标识符来工作.类型说明符的列表在应用了所有这些运算符之后指定表达式的类型.在这方面,函数并不是特例.事实上,您可以有以下转发声明:
int f(void), *g(void);
这意味着表达式f()
和*g()
都产生int
.在f
上应用函数调用运算符会产生int
.对g
应用函数调用运算符,然后对*
应用一元运算符,也会产生int
.
这就是为什么"自然"的方法是将星号放在标识符旁.