C++上天之路第41-42(作用域和链接和储存域)
第四十一课到四十二课(作用域和链接和储存域)储存类:
1.auto(自动),这是默认的,所以一般看不见用,自动变量储存在栈里面,所以语句块结束时候会被回收(局部变量)
2.static , 储存在静态存储区,只有在程序退出时候才会被回收
3.extern , 在两个cpp里面,一个cpp存在,只用在另一个cpp声明这个extern就可以使用
4.register , 将一个变量储存在寄存器里,有着与自动变量相同的作用域
链接:1.执行预处理语句-》2.将.cpp便宜为.0(二进制)文件-》3》将.o链接成可执行文件
链接三种情况:
1.外链接(external) 一般的函数,变量,模块和命名空间都有外链接(.cpp之间通用)
this.cpp中 int i1 = 1; that.cpp中int i2 = i1 (这种会报错,因为编译时候还不知道有i1)
所以改成this.cpp中 int i1 = 1; that.cpp中extern int i1; int i2 = i1;
2.内链接(internal) this.cppstatic int d=8;that.cpp static int d = 9;
3.无链接(none) 函数的内部
代码码码:
**** Hidden Message ***** 1
页:
[1]