【C++基础】Const关键字介绍(结合使用场景 一文搞懂Const关键字 附代码)

Const关键字

  • 1.关键字介绍和使用场景
    • 1.1常量变量
    • 1.2常量指针
    • 1.3指向常量的指针
    • 1.4常量成员函数
  • 2.优点总结
  • 3.面试题

1.关键字介绍和使用场景

const 是C++中的关键字,用于声明常量或指定对象的只读性。它可以用在多种上下文中,包括变量、函数、指针等。

1.1常量变量

const int myConst = 42; // 常量整数

这里 myConst 被声明为一个整数常量,其值不能被修改。

1.2常量指针

 
	/*ptr 是一个指向整数常量的指针,
	它可以指向一个普通整数,但不能通过这个指针修改所指向的值*/
	int i = 10;
	 const int* ptr = &i;
	cout << *ptr << endl;
	// *ptr = 20;  报错 表达式必须是可以修改的左值

1.3指向常量的指针

	int y = 20;
	int* const ptr2 = &y; // ptr2 是常量指针,指向整数 y
	cout << *ptr2 << endl;  //输出20
	// 以下操作是合法的

	y = 30; // 通过普通变量 y 修改值
	cout << *ptr2 << endl;//输出30

	// 以下操作是非法的,会导致编译错误
	//ptr2 = 30; // 试图改变指针的指向

1.4常量成员函数

class MyClass {
public:
    void myMethod() const {
        // 不能修改对象的成员变量
    }
};

在类中,const 修饰成员函数表示该函数是常量成员函数,即它不会修改对象的成员变量。

2.优点总结

  • 可读性和清晰性:

const 帮助标识常量,使得代码更易读和理解。它明确了某个实体(变量、指针、引用、成员函数等)的只读性。

  • 安全性:

防止无意间的修改。通过使用 const,可以避免在程序中对不应该被修改的数据进行错误的修改。

  • 自文档性:

const 的使用可以使代码更具自文档性,提供了对程序员和代码阅读工具的更多信息,减少了使用者犯错的可能性。

  • 优化:

const 可以帮助编译器进行更好的优化,因为它提供了一些额外的信息,例如某个变量是否在函数中被修改。

  • 接口设计:

在类的接口中使用 const 可以指定哪些成员函数不会修改对象的状态,从而提供更清晰的设计和使用接口的方式。
函数参数传递:

使用 const 引用作为函数参数,可以避免不必要的对象拷贝,提高程序的效率。

  • 防止意外修改:

对于指针和引用,使用 const 可以防止通过它们修改底层对象的值。

  • 常量表达式:

const 可以用于声明常量表达式,这些表达式在编译时就能够计算出结果,有助于优化。

  • 总体而言,const 的使用有助于提高代码的质量、可维护性和可读性。在适当的情况下使用 const 是一种良好的编程实践。

3.面试题

**说说const int a, int const a, const int a, int const a, const intconst a分别是什么,有什么特点。

1. const int a;   //指的是a是一个常量,不允许修改。
2. const int *a;   //a指针所指向的内存里的值不变,即(*a)不变
3. int const *a;   //同const int *a;
4. int *const a;   //a指针所指向的内存地址不变,即a不变
5. const int *const a;  //都不变,即(*a)不变,a也不变

简述constconst的区别

//const* 是常量指针,*const 是指针常量
int const *a;   //a指针所指向的内存里的值不变,即(*a)不变
int *const a;   //a指针所指向的内存地址不变,即a不变

你可能感兴趣的:(C++基础,c++,开发语言)