关闭

[C++学习] 对const变量的理解.

324人阅读 评论(0) 收藏 举报

最近在看<<C++ primer>>.

零零碎碎随手记录,有不正确的地方敬请指正.

 

对const变量有了一个基础的理解.记录一下.

 

const类型的变量可以分为两种:

一种是用常量初始化,在编译时就可以确定值的,比如 const float PI = 3.14;

另一中是用变量初始化,运行时才能确定值的,比如 const int test = func();

 

头文件通常只能包含变量和函数的声明,而不包含定义.

但有3种状况例外:

1.class的定义,可以在头文件中

2.inline函数的定义,可以在头文件中.

3.就要说到刚才提到的const变量.只有以常量初始化的const类型变量,可以放在头文件中.

头文件符合这3种情况,就不会出现一些典型的C++语法盲人常出现的低级错误.

(比如以下这个问题,就是我之前弄不明白const变量的情况下所提问的 http://topic.csdn.net/u/20120316/03/4a41eafd-ae55-4589-b1a3-1352c2015464.html )

 

数组的定义和初始化需要一个表示长度的常量.

比如

const int SIZE  = 3;

这个  SIZE 就可以用于定义数组 int arr[SIZE];

int arr[SIZE+1];这样也是可以的,因为 SIZE+1 也是在编译时候 就可以确定值.

但是这样

const int SIZE2 = GetSize();

就不可用 int arr[SIZE2]; 这样的语句来定义数组.

 

 

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:182666次
    • 积分:3059
    • 等级:
    • 排名:第11432名
    • 原创:121篇
    • 转载:32篇
    • 译文:1篇
    • 评论:40条
    文章分类
    最新评论