1. 关于C++中 :: 的正解:
::是给类名用的
.是给普通对象用的
->是给指针对象用的
貌似是这样..
另外一篇博文的解释
表示作用域,和所属关系
::是运算符中等级最高的,它分为三种:1)global scope(全局作用域符),用法(::name)2)class scope(类作用域符),用法(class::name)
1
2
3
4
5
6
7
8
9
|
class A { public : int test(); } int A::test() //表示test是属于A的 { return 0; } |
3)namespace scope(命名空间作用域符),用法(namespace::name)他们都是左关联(left-associativity)他们的作用都是为了更明确的调用你想要的变量,如在程序中的某一处你想调用全局变量a,那么就写成::a,如果想调用class A中的成员变量a,那么就写成A::a,另外一个如果想调用namespace std中的cout成员,你就写成std::cout(相当于using namespacestd;cout)意思是在这里我想用cout对象是命名空间std中的cout(即就是标准库里边的cout)
2. C++中关于#include后的<> 和 ""的理解:
安装的代码用<>,抄袭的代码用"" 这个解释真的接地气
<>先去系统目录中找头文件,如果没有在到当前目录下找。所以像标准的头文件 stdio.h、stdlib.h等用这个方法。
而""首先在当前目录下寻找,如果找不到,再到系统目录中寻找。 这个用于include自定义的头文件,让系统优先使用当前目录中定义的。
而""首先在当前目录下寻找,如果找不到,再到系统目录中寻找。 这个用于include自定义的头文件,让系统优先使用当前目录中定义的。