关于C++中定义和声明 const 引用

本文介绍了C++中变量的定义和声明,定义只能一次,声明可多次,多个文件使用变量需分离定义与声明。还阐述了const变量、引用、typedef、枚举的使用,以及头文件的内容规则,包括可定义类、编译时已知的const对象和inline函数等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

定义和声明:

1.定义只能有一次.声明可以有多次.定义同时也是一次声明.

2.定义的方式  2.1  前面无extern 关键字.  double pi.

                         2.2 前面有extern 且有初始化且在函数体外边 才同时表示定义. extern double pi=3.14.

3.声明的方式    extern double pi.

 任何在多个文件中使用的变量都需要有与定义分离的声明.在这种情况下,一个文件含有变量的定义,使用该变量的其他文件则包含该变量的声明(而不是定义).

const: 

  const int i=10;

 要使的const变量能够在其他文件的文件夹中访问,必须显式指定它为extern.const变量默认时是定义该变量的文件的局部变量。正如我们现在所看到的,这样设置默认情况的原因在于允许const变量定义的头文件中。

引用:

   引用就是对象的另一个名字,在实际程序中,引用主要用作函数的形式参数.

   引用必须用与该引用同类型的对象初始化,初始化是指明引用指向哪个对象的唯一方法.

   int ival=1024.

  int &refVal=ival;

  const 引用

     const 引用是指向const对象的引用.

     const int ival=1024;

     const int &refVal=ival;

 typedef 可以用来定义类型的同义词

   typedef double wages;

   wanges hourly;

枚举:不但可以定义整数常量集,而且还把它们聚集成组.

  enum open_modes {intput ,output,append};

  open_modes mode1=intput; 

头文件:一般包括类的定义、extern变量的声明和函数的声明。  

对于头文件不应该含有定义这个规则,有三个例外。头文件可以定义类、值在编译时就已经知道的const对象和inline函数。这些实体可以在多个源文件中定义,只要每个源文件中的定义是相同的。在头文件中定义这些实体,是因为编译器需要它们的定义(不只是声明)来产生代码。比如:为了产生能定义或使用类的对象的代码,编译器需要知道组成该类型的数据成员。同时还需要知道能够在这些对象上的操作。为了能够让多个文件使用相同的常量值,const变量和它的初始化式必须是每个文件都可见的。而要使初始化可见,一般都把这样的const变量定义在头文件中,那样的话,无论该const变量何时使用,编译器都能够看到其初始化式。因为const对象默认为定义它的文件的局部变量,所以每个包含该头文件的源文件都有了自己的const变量,其名字和值都一样的。如果const变量不是用常量表达式初始化,那么它就不应该在头文件中定义。相反,和其他的变量一样,该const变量应该在一个源文件中定义并初始化。应在头文件中为它添加extern声明,以使其能被多个文件共享。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值