::符号

::作用域运算符, 左部表示右部符号的作用域, 左部为空时表示全局作用域.
一般情况下, 全局作用域的函数和变量可以不指定作用域而直接使用. 但当代码作用域内有同名函数或变量出现时, 两者就会冲突. 由于程序默认是使用代码作用域内的符号, 如果需要指定使用全局符号, 就需要加上::表示是使用全局作用域. 比如
int var1 = 0;
int func() {
int var1 = 3;
//return var1; // return 3;
return ::var1; // return 0;
}
代码中的::max也是同样的含义.
原文地址:https://www.cnblogs.com/xingmeng/p/3192696.html