C++声明与定义、内部链接与外部链接的意义

一. 声明与定义

A. 大多数情况下,声明与定义是相同的,但是有少些情况下,声明并非定义,而定义又非声明:
1.是声明,但是并不是定义:

1) 声明了一个没有具体说明函数体的函数; void declaration(int a,int b);
2) 包含了一个extern说明符,并没有初始化或函数体;Extern int number;
3) 它是一个类定义内的静态类数据成员的声明; class test{
  ...; static int a; ...};
4) 它是一个类名的声明; class A;
5) 它是一个typedef声明; tepedef int INT;

2.是定义,但是并不是声明:

1) 定义了一个静态类数据成员;  int test::a = 4 或者 static int a=42) 定义了一个non-inline成员函数; void declaration(int a,int b){
  return (a<b?a:b)}

B. 一个声明将一个名字引入到一个程序中,一个定义提供了一个实体(例如,类型、实例、函数)在一个程序中的唯一描述
在C++ 中,声明与定义的区别在于:在一个给定的作用域重复一个声明是合法的。大部分声明可以重复,但是定义只能重复一次。

重复多次:

  • 4
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值