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

原创 2012年03月27日 18:49:25

最近在看<<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]; 这样的语句来定义数组.

 

 

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

C++学习之inline、#define、const和static的解释

define:定义预编译时处理的宏; 只进行简单的字符替换,无类型检测 typedef:定义类型别名 用于处理复杂类型   例: typedef int A;   则:A a; //定义a为i...

C++学习第一弹: const 指针 引用答疑

const、指针、引用一直是C语言入门中的一个重难点;最近小有理解,赘述一番。

C++学习笔记:C的继承与超越——const关键字

C语言中也有const关键字,但是它却是一个不地道的常量关键字。 const int MAX = 100; int a[MAX];在C语言编译器下,定义数组的这条语句往往会报错。定义数组大小需要的是常...

C++学习笔记(11)----static_cast、dynamic_cast、reinterpret_cast、和const_cast

static_cast、dynamic_cast、reinterpret_cast、和const_cast 关于强制类型转换的问题,很多书都讨论过,写的最详细的是C++ 之父的《C++ 的设计和演化...

C++学习笔记(三)--函数参数,数组函数,指针和const,二维数组函数,递归,函数指针

C++ primer plus学习笔记之三,分为一下几个部分: 函数参数:介绍了函数的生命规则以及定义 数组函数:数组作为变量时的使用方法 指针和const:灵活运用指针和const 函数和二维数组:...

【C/C++学习】之三、const_cast

用法:const_cast (expression) 此运算符是用来消除类型的const和volatile属性的。 看到const_cast的你应该知道,他...

Effective C++学习笔记——条款03:尽可能使用const

今天开始学习条款三,详细解读一下,让自己有更大的收获。   今天开始学习条款三,详细解读一下,让自己有更大的收获。   const 多才多艺,可以用在classes外部修饰global和name...

C++学习笔记7,const关键字的使用(一)。

在C++里面,const关键字的用处很多,

【C/C++学习】const用法总结

1.     const 用于定义常量,定义时必须进行初始化,一经定义不能修改。 2.     const用作函数参数: 1)  指针参数: const ...

C++学习笔记1-const引用

const引用可以用不同类型的对象初始化(只要能从一种类型转换到另一种类型即可),也可以是不可寻址的值,如文字常量,例如:double dval = 3.14159; //仅对于const引用才...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)