C++之const用法小结

在C++中,const关键字具有多种用法,主要用于声明常量,确保某些变量的值在程序运行期间不会被修改。以下是const在C++中的一些常见用法:

1.声明常量:

使用const声明的变量是常量,其值在初始化后不能再被修改。

cpp 复制代码
const int MAX_SIZE = 100;  // MAX_SIZE 是一个常量,其值为100

2.指针和const

指向常量的指针:这种指针指向的值不能被修改。

cpp 复制代码
const int *p = &some_int;  // p 指向一个整数,但这个整数的值不能被修改

常量指针:这种指针本身的地址不能被修改,但指向的值可以修改(除非指向的值也是常量)。

cpp 复制代码
int x = 10;  
int *const ptr = &x;  // ptr 是一个常量指针,指向x。ptr的值(即地址)不能被修改

指向常量的常量指针:这种指针既不能被修改,指向的值也不能被修改。

cpp 复制代码
const int value = 10;  
const int *const ptr = &value;  // ptr 和 *ptr 都不能被修改

3.const成员函数

在类的成员函数声明后面加上const,表示这个函数不会修改类的任何成员变量(除了声明为mutable的成员变量)。

cpp 复制代码
class MyClass {  
public:  
    int getValue() const { return value_; }  // 这是一个const成员函数  
private:  
    int value_;  
};

4.const参数

通过const修饰函数参数,可以确保在函数体内不会修改这个参数的值。

cpp 复制代码
void printValue(const int value) {  
    // 在这里不能修改value的值  
    std::cout << value << std::endl;  
}

5.const修饰数组或对象的初始化器

使用const可以确保在初始化数组或对象时,不会修改其值。

cpp 复制代码
const int arr[] = {1, 2, 3, 4, 5};  // arr 是一个常量数组,其元素不能被修改

6.const在类型别名中的应用

在C++11及以后的版本中,可以使用using关键字定义类型别名,并结合const来定义常量类型的别名。

cpp 复制代码
using ConstInt = const int;  // 定义一个常量整数类型的别名  
ConstInt a = 10;             // a 是一个常量整数,其值不能被修改
相关推荐
wifi___3 小时前
全局异常处理的原理
java·开发语言
我变成萤火虫4 小时前
河南萌新联赛2026第(四)场:南阳理工学院
数据结构·c++·算法·贪心算法·stl·动态规划
平常心的技术小牛6 小时前
Qt-快速上手-QMenuBar
开发语言·qt
青 春 记 忆6 小时前
零基础入门Python11|Git实战:为任务管理器建立版本历史
开发语言·git·vscode·python·python3.11
余额瞒着我当琳8 小时前
C++--深拷贝三件套 + swap + 写时拷贝 + vector 扩容 + reserve
java·开发语言·c++
坐吃山猪9 小时前
WebClient内存配置解析
开发语言·springboot·webflux
jdksjw9 小时前
同步与异步、阻塞与非阻塞、多线程、协程超详细讲解(Python并发编程从入门到精通)
开发语言·python
Zach_菠萝侠9 小时前
【DeepSeek Harness 研究】进化方向4:安全加固 思考、设计与实现
开发语言·安全·deepseek
ShineWinsu10 小时前
对于C++:布隆过滤器(bloomfilter)的详细解析
c++·面试·位图·位运算·布隆过滤器·海量数据·比特位
SL-staff10 小时前
技术实践:HR如何用JVS-Logic可视化编排实现考勤数据同步(含节点配置与异常处理)
开发语言·python·低代码·钉钉·可视化编排·jvs-logic·hr技术