在C语言和C++语言中,编译器在用作指针(MyClass* class)和作为乘法运算符(a * b)时,或者什么时候是取消引用操作符(*my_var)时,如何区分*?
发布于 2020-10-08 07:34:38
发布于 2020-10-08 07:42:13
*操作符是一个一元操作符,所以在一些简单的情况下,编译器将应用一个隐式规则。例如int a;
int *ptr = &a;
*ptr = 5;*是一个二进制运算符,所以在一些简单的情况下,编译器将应用乘法,只要操作数支持它,例如:int a;
int b;
int c = a*b; int a = 1;
int b[2] = {2,3};
int *aPtr = &a;
int *bPtr = b;
int c = *aPtr * *(bPtr+1);https://stackoverflow.com/questions/64257714
复制相似问题