C++ const 允许指定一个语义约束,编译器会强制实施这个约束,允许程序员告诉编译器某值是保持不变的.如果在编程中确实有某个值保持不变,就应该明确使用const,这样可以获得编译器的帮助. 1.const 修饰成员变量 1 #include<iostream> 2 using namespace std; 3 int main(){ 4 int a1=3; ///non-const data 5 const int a2=a1; ///const data 6 7 int * a3 = &…
C++ const 允许指定一个语义约束,编译器会强制实施这个约束,允许程序员告诉编译器某值是保持不变的.如果在编程中确实有某个值保持不变,就应该明确使用const,这样可以获得编译器的帮助. 1.const 修饰成员变量 #include<iostream> using namespace std; int main(){ ; ///non-const data const int a2=a1; ///const data int * a3 = &a1; ///non-const d…
http://www.cnblogs.com/xudong-bupt/p/3509567.html C++ const 允许指定一个语义约束,编译器会强制实施这个约束,允许程序员告诉编译器某值是保持不变的.如果在编程中确实有某个值保持不变,就应该明确使用const,这样可以获得编译器的帮助. 1.const 修饰成员变量 1 #include<iostream> 2 using namespace std; 3 int main(){ 4 int a1=3; ///non-const data…
1.const char *p,char const *p,char * const p 对于C++而言,没有const * 修饰符,所以,const只可以修饰类型或者变量名.因而const char *p,char const *p是等价的. const char *p = "abc"; 意义为:不可以改变p所指向的内容,即*p不可以改变,*p = "bcd";是错误的. char a,b; char * const p = &a; 意义为:不可以改变p的…
最近在复习C++,指针这块真的是重难点,很久了也没有去理会,今晚好好总结一下const指针,好久没有写过博客了,记录一下~ const指针的定义: const指针是指针变量的值一经初始化,就不可以改变指向,初始化是必要的.其定义形式如下: type *const 指针名称; 声明指针时,可以在类型前或后使用关键字const,也可在两个位置都使用.例如,下面都是合法的声明,但是含义大不同: const int * pOne;    //指向整形常量 的指针,它指向的值不能修改 int * cons…
速度 #include <iostream> using namespace std; class TextBlock { private: string text; public: TextBlock(string s) { text = s; } const char& operator[](size_t position) const {return text[position]; } char& operator[](size_t position) {return t…
Effective C++ Chapter 1. 让自己习惯C++(Accustoming Yourself to C++) Item 3. 尽可能使用 const (Use const whenever possible) 1. const 与语义约束 const 允许指定一个语义约束(也就是指定一个"不该被改动"的对象),而编译器强制实施这项约束.它可以在 classes 外部修饰 global 或 namespace(见 Item2)作用域中的常量,或修饰文件.函数.或区块作用域…
一.const是什么 在 C/C++ 语言中,const关键字是一种修饰符.所谓“修饰符”,就是在编译器进行编译的过程中,给编译器一些“要求”或“提示”,但修饰符本身,并不产生任何实际代码.就 const 修饰符而言,它用来告诉编译器,被修饰的这些东西,具有“只读”的特点.在编译的过程中,一旦我们的代码试图去改变这些东西,编译器就应该给出错误提示. 所以,const修饰符的作用主要是利用编译器帮助我们检查自己代码的正确性.我们使用const在源码中标示出“不应该改变”的地方,然后利用编译器,帮助…
前言 const 关键字是常量修辞符,如果要告知编译器某个变量在程序中不会发生改变,则可将其声明为 const. 但,对 const 关键字的认识不能仅仅停留在这一层 - 它提供了很多更强大的功能. 因此很多情况下 const 关键字的使用方法也不是简单的 const + 变量,其用法总的来说是比较灵活的. 指针的 const 关键字 const 关键字出现在 * 左边或是右边定义出来的指针完全不同. const int *pa = &a; 这样的一行代码定义了一个指向整型变量 a 的指针 pa…
(整理自Effctive C++,转载请注明.整理者:华科小涛@http://www.cnblogs.com/hust-ghtao/) 关键字const多才多艺,语法变化多端.关于const的基本用法,可以参见我的博客@http://www.cnblogs.com/hust-ghtao/p/3735941.html. 本篇博客主要讲了应用const时应该注意的地方. 1 令函数返回一个常量值 令函数返回一个常量值,往往可以降低客户因错误而造成的意外,而又不至于放弃安全性和高效性.例如有理数ope…