首页 > 解决方案 > 指针声明中的星号是运算符吗?

问题描述

我一直认为运算符出现在表达式中。但是这个回复似乎表明声明中的星号int *p;是一个运算符。这个对吗?如果不是,这个星号怎么称呼?

标签: c++

解决方案


int *p;

那个星号不是运算符,它限定了类型。“整数”与“指向整数的指针”。

int foo;
int *bar = &foo; // not that one

*bar = 4; // THIS one

这个星号是一个运算符......“取消引用运算符”。它用于智能指针和迭代器之类的东西。

相同的性格,不同的位置,不同的意义。


推荐阅读