模板与容器

1.链接

链接分为三种情况,凡是有名字的东西(函数,类,常量,变量,模板,命名空间等)必然属于其中之一:外链接(external),内链接(internal)和无链接(none).

(1)外链接的意思是每个翻译单元都可以访问这个东西(前提是只要它知道有这么个东西存在),普通的函数,变量,模板和命名空间都有外链接

(2)内链接的含义是:在某个翻译单元里定义的东西只能在翻译单元里使用,在任何函数以外定义的静态变量都有内链接

(3)内链接:在函数里定义的变量只存在与该函数的内部,根本没有任何链接(none).

2.存储类型
c++的存储类型有四种,自动类型、静态类型,寄存器类型和外部类型

其格式如下: <存储类型> <数据类型> <变量名>

(1)自动类型 atuo
特点:
1.采用动态分配方式,在栈区分配空间。当超出作用域时,自动释放空间。
2.在函数内或语句内声明时,可省略atuo关键字。

(2)寄存器类型 register
特点:
1.将变量放在寄存器内,可以加快运行速度。

2.若寄存器被其它了类型 数据占据,则寄存器类型的数据会自动被当作auto变量。

(3)静态类型 static
特点:
静态类型分全局静态和局部静态两种。局部静态变量有两大特点,
1.静态局部变量虽然具有局部变量的作用域,但却有全局变量的生存期。
2.静态局部变量只在第一次执行时进行初始化。

(4) 外部类型 extern
外部变量使用关键字extern来声明。在c++中,只有两种情况下才使用外部变量。
(1).在同一文件中,若变量使用在前,声明在后,则在使用前要声明为外部变量。
(2).当有多个文件组成一个完整的程序,且某一个源文件的变量被其它一个或多个文件引用时,在引用的文件里要用extern对该变量做外部声明。
注意声明与定义的区别,extern定义只能有一个,声明可以有多个。

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Super.Bear

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值