c++ - 指针声明中的星号是运算符吗?
问题描述
我一直认为运算符出现在表达式中。但是这个回复似乎表明声明中的星号int *p;
是一个运算符。这个对吗?如果不是,这个星号怎么称呼?
解决方案
int *p;
那个星号不是运算符,它限定了类型。“整数”与“指向整数的指针”。
int foo;
int *bar = &foo; // not that one
*bar = 4; // THIS one
这个星号是一个运算符......“取消引用运算符”。它用于智能指针和迭代器之类的东西。
相同的性格,不同的位置,不同的意义。