阿西吧 发表于 2017-7-17 17:43:21

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 *****

神龙摆尾 发表于 2020-8-23 18:35:01

1
页: [1]
查看完整版本: C++上天之路第41-42(作用域和链接和储存域)