C++中符号:: *和&的作用

::

  1. 作用域运算符,在块作用域内可通过作用域运算符“::”来引用与局部变量同名的全局变量。《Visual C++ 程序设计》,苏州大学出版社,P75;《新标准C++程序设计教程》,清华大学出版社,P149
  2. 作用域运算符,对结构体的静态成员进行定义性说明时使用。《Visual C++ 程序设计》,苏州大学出版社,P127
  3. 作用域运算符,定义一个类的成员函数时使用。《Visual C++ 程序设计》,苏州大学出版社,P204;《新标准C++程序设计教程》,清华大学出版社,P170

*和&

  1. *表示乘法运算符,&表示按位与运算符
  2. 在指针中,*为对地址取内容运算符,&为取地址运算符
  3. 在多维数组中,如a[4][4],因为编译器并不为数组名a和a[i]分配存储空间,只有为某一变量分配了内存空间后,变量名前的&才表示取地址运算符,所以在a[i]前是否加&,是用来区分元素地址和行地址的。
    a[i]:元素地址,即第i行第0列的元素地址
    &a[i]:行地址,即第i行的行地址
    *(a+i):元素地址
    a+i:行地址
  4. &还可以表示引用运算符,《新标准C++程序设计教程》清华大学出版社​​P62,《Visual C++ 程序设计》苏州大学出版社​​P178

你可能感兴趣的:(C++)