后缀。c调用c编译器,.cpp调用C++编译器 C++兼容C语言:
简单看
一个运算符可以有多个作用
这是个流,这个字符串流向到这个对象里去,这个对象就是可以想象成控制台(cmd),终端,平时出来的黑框框,endl是换行end line,具体是什么待会讲namespace是关键字
这样可以运行通过如果包stdlib就报错
rand是c语言库里函数,比如说公司代码合并出现冲突
rand访问的是全局的,,上面那个已经封起来了,封起来为什么没问题,命名空间定义的是域同意,同一个域内不能定义同名变量,不同域可以定义同名的,打印出来是个指针
若要访问命名空间里的变量怎么访问
先在局部找再在全局找
我就想访问全局a咋访问。域作用限定符左边什么不写默认全局域
写上域名,就去这个命名空间去找
编译时候找到它的定义声明
rand的生命周期还是全局的但是他受这个域限制了,访问时候只有指定才能查找到他,只能在全局位置定义域
在域内可以定义变量,结构,函数
,默认到局部全局找除非指定
真正封装的是NOde,struct是关键字
我们已经在一个命名空间里了,又冲突了,可以嵌套定义
两个文件不同代码,想要用命名空间封装,同一个命名空间可以定义很多份,可在在同一文件定义很多份,也可以多个文件定义很多份,不同文件命名空间可以自动合并,是说当成1个不是说命名空间冲突了
这是全局定义的栈,还有一个在别的文件命名空间定义的
C++标准库可能好多文件,都用一个namespace std封起来
用一个东西要找他的出处
但是每次都要指定太麻烦,以下是展开所有命名空间
小程序该展就栈,没有冲突风险,
b不怎么用,a经常用,单独展开a
预处理展开头文件,是拷贝,而这里展开域,是把墙拆掉,域就像墙一样