[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++学习笔记】由 const char* 引出的一系列问题

const char*
  • Veahlin
  • Veahlin
  • 2016年10月28日 17:31
  • 175

C++学习笔记(六)-- 类和对象 构造函数和析构函数 const成员函数 this指针 对象数组 堆栈管理变量

C++学习笔记之六,本文为C++ Primer Plus 第十章对象和类的学习笔记,大抵分为以下几个小部分: 类Class的用法 类的构造函数和析构函数: const成员函数 this指针 对象数组 ...
  • zmdsjtu
  • zmdsjtu
  • 2016年09月06日 13:48
  • 716

C++学习笔记之---控制变化的const

C++学习笔记之---控制变化的const

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

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

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

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

【从C到C++学习笔记】bool类型/const限定符/#define//结构体对齐

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

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

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

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

c++学习之const成员变量与成员函数

http://www.cnblogs.com/huzhongzhong/archive/2011/10/09/2204861.html 常类型是指用类型修饰符const说明的类型,常类型的变量或者对...

【C++学习笔记】15_指针和const

指针和const 第2章中介绍了const常量,用const修饰符声明的程序实体具有只读性。声明一个指针时,通过在声明语句的不同位置使用const可达到3个目的: 1)禁止对指针赋值。 2)禁止...
  • kkkenty
  • kkkenty
  • 2014年07月08日 09:55
  • 581
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:[C++学习] 对const变量的理解.
举报原因:
原因补充:

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