C++ const关键字的使用和常见场景

0 下载量 168 浏览量 更新于2024-09-01 收藏 80KB PDF 举报
C++中const用法小结 C++中的const关键字是一种语义约束,允许程序员告诉编译器某个值是保持不变的。const的使用可以获得编译器的帮助,从而确保程序的正确性和可靠性。 1. const与变量 const变量(对象)不能被修改,基本原则是const修饰一个变量(或者说对象),使其变成一个常量,表示该变量的值无法再被修改。const变量的使用可以避免魔数的出现,让代码变得更加清晰易懂。 例如,在循环中使用const变量可以明确循环的范围: ```c const int length = 512; for (int i = 0; i < length; i++) { // todo } ``` 在上面的代码中,length是一个const变量,表示循环的范围是固定的,不能被修改。 1.1 const修饰一个变量(或者说对象),使其变成一个常量,表示该变量的值无法再被修改。正因为如此,所以定义一个常量的时候,必须初始化。 例如: ```c const int val = 1024; ``` 在上面的代码中,val是一个const变量,表示其值是1024,不能被修改。 1.2 const常量的作用域: 在全局作用域内声明一个const变量,默认不是extern修饰的,所以其只能作用于本文件内,若要在其他文件中访问,需要显式声明为extern。 例如: ```c // file1.cpp const int global_val = 1024; // file2.cpp extern const int global_val; ``` 在上面的代码中,global_val是一个const变量,在file1.cpp中声明,在file2.cpp中访问需要显式声明为extern。 2. const与引用 基本原则:const引用是指向const变量(对象)的引用。 例如: ```c const int ival = 1024; const int &refVal = ival; ``` 在上面的代码中,refVal是一个const引用,指向ival这个const变量。 2.1 const引用可以指向一个相关类型(不是本类型)的const变量。 例如: ```c double dval = 3.14; const int &refVal = dval; ``` 在上面的代码中,refVal是一个const引用,指向dval这个double类型的变量。编译器将double转换成一个临时的int对象,然后让const引用绑定到这个临时对象。 const关键字在C++中的使用可以提高代码的可读性和可靠性,避免魔数的出现,明确变量的作用域和生命周期。