码迷,mamicode.com
首页 > 其他好文 > 详细

const修饰符简述

时间:2015-03-03 22:06:54      阅读:187      评论:0      收藏:0      [点我收藏+]

标签:

1.const限定符的使用

1)定义const常量:const可以将一个对象变成常量,不可被修改(只读类型),在定义时必须进行初始化。例如:

           const double mathPI = 3.141592653;

2)修饰函数的参数、返回值等。被const修饰的东西将不再改变;

3)若在整个程序中使用其他文件的变量:

//若变量为非const
//file_1.cpp
int months = 10;
//file_2.cpp
extern int months;

//const修饰的变量
//file_1.cpp
extern const int DayPerYear = 365;
//file_2.cpp
extern const int DayPerYear;

2.指针常量—常量指针

    1)const int * p1: 常量指针(修饰类型:只读类型的指针)

    2)int * const p2: 指针常量(修饰指针:指针类型的常量)

    3)const int* const p3: 指向常量的指针常量

   常量指针:可以指向常量,也可以指向变量;可以改变指向,但不能改变指向内容的值; 

  指针常量:必须初始化,常量不能赋值。指针不能改变指向,可以通过指针修改指向内存中的值;

  指向常量的常量指针:既不能改变指向,也不能修改内容

 

3.const与宏定义#define的区别

在C++中既可以使用const定义常量,也可以使用#define定义常量:

1)const常量是有数据类型,而宏定义常量却没有数据类型,所以编译器可以对前者进行类型安全检查而对后者只能进行字符替换;

2)const常量可以将变量定义限制在特定的函数或文件中,而宏定义只能在文件的头部;

3)const可以用于更加复杂类型,如数组、结构和类。

const修饰符简述

标签:

原文地址:http://blog.csdn.net/qinmusiyan/article/details/44044335

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!