C语言、C++中声明和定义的区别

40 篇文章 3 订阅
19 篇文章 1 订阅

‘声明’的定义

声明:即向编译器指示某个东西(类型+名称)的存在,但是略去其细节实现(细节、实现,如:int类型变量的值,class的成员信息,函数的函数体,template<>模板的内容等等都是细节实现)。

==声明并不让编译器为该对象分配内存并构造。==

样例

extern int x;       //声明;如果不加extern,就变成定义了
std::size_t numsDigits(int nums);       //声明,没有函数体{...}
class Object;       //声明,没有类体{....}
template<typename T> class NodeTemplate;        //声明

并不是有等号’=’就是定义

例:

class Foo
{
public:
    static const int i = 10;        //虽然有等号,但是是在class scope内部,因此它是声明而不是定义。这里等号是赋予默认值而不是对其定义并初始化。
    .......
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值