C++ const 限定符的全面介绍(一)

简介: C++ const 限定符的全面介绍(一)

C++ const 限定符的全面介绍

1. const 修饰基本数据类型

定义

const 修饰的基本数据类型变量,值不可改变。


语法

const type variable = value;

特点

不可变性,增加代码可读性。


作用

定义不可修改的常量。

使用场景

全局常量、配置项。

注意事项

必须在声明时初始化。


代码示例

#include <iostream>
using namespace std;

int main() {
    const int maxCount = 10;
    cout << "Max count: " << maxCount << endl;
    // maxCount = 20; // 错误:不能修改 const 变量
    return 0;
}


运行结果

Max count: 10

总结

适用于定义程序中的固定值,提高安全性和可维护性。


2. const 修饰指针变量和引用变量

定义

使指针指向的数据或指针本身成为常量。


语法

const type* ptr; // 指针指向的数据是常量
type* const ptr; // 指针本身是常量
const type& ref; // 引用的是常量


特点

防止通过指针或引用修改数据。

作用

保护指向的数据或保护指针本身不被更改。


使用场景

函数参数,防止指针/引用意外修改数据。

注意事项

区分指针指向常量和常量指针。


代码示例

#include <iostream>
using namespace std;

void display(const int* ptr) {
    cout << "Value: " << *ptr << endl;
}

int main() {
    int value = 10;
    const int* ptrToConst = &value; // 指向常量的指针
    display(ptrToConst);

    int* const constPtr = &value; // 常量指针
    *constPtr = 20;
    display(constPtr);

    return 0;
}

运行结果

Value: 10
Value: 20

总结

用于保护数据不被意外修改,提高代码的安全性。


C++ const 限定符的全面介绍(二):https://developer.aliyun.com/article/1436967?spm=a2c6h.13262185.profile.56.5bba685cuSQkDD

目录
相关文章
|
12天前
|
存储 安全 编译器
第二问:C++中const用法详解
`const` 是 C++ 中用于定义常量的关键字,主要作用是防止值被修改。它可以修饰变量、指针、函数参数、返回值、类成员等,确保数据的不可变性。`const` 的常见用法包括:
51 0
|
7月前
|
C++
C++中的const指针与const引用
C++中的const指针与const引用
106 2
|
7月前
|
编译器 C++
C++中的内联函数与const限定词的使用
C++中的内联函数与const限定词的使用
52 1
|
6月前
|
编译器 C++
【C++】类和对象④(类的默认成员函数:取地址及const取地址重载 )
本文探讨了C++中类的成员函数,特别是取地址及const取地址操作符重载,通常无需重载,但展示了如何自定义以适应特定需求。接着讨论了构造函数的重要性,尤其是使用初始化列表来高效地初始化类的成员,包括对象成员、引用和const成员。初始化列表确保在对象创建时正确赋值,并遵循特定的执行顺序。
|
6月前
|
编译器 C++
【C++】:const成员,取地址及const取地址操作符重载
【C++】:const成员,取地址及const取地址操作符重载
51 0
|
7月前
|
编译器 C语言 C++
从C语言到C++⑤(第二章_类和对象_中篇)(6个默认成员函数+运算符重载+const成员)(下)
从C语言到C++⑤(第二章_类和对象_中篇)(6个默认成员函数+运算符重载+const成员)
31 1
|
7月前
|
编译器 C++
【C++】类与对象(运算符重载、const成员、取地址重载)
【C++】类与对象(运算符重载、const成员、取地址重载)
53 2
|
6月前
|
存储 安全 编译器
C++进阶之路:探索访问限定符、封装与this指针的奥秘(类与对象_上篇)
C++进阶之路:探索访问限定符、封装与this指针的奥秘(类与对象_上篇)
52 0
|
7月前
|
编译器 C语言 C++
从C语言到C++⑤(第二章_类和对象_中篇)(6个默认成员函数+运算符重载+const成员)(中)
从C语言到C++⑤(第二章_类和对象_中篇)(6个默认成员函数+运算符重载+const成员)
34 0
|
7月前
|
编译器 C语言 C++
从C语言到C++⑤(第二章_类和对象_中篇)(6个默认成员函数+运算符重载+const成员)(上)
从C语言到C++⑤(第二章_类和对象_中篇)(6个默认成员函数+运算符重载+const成员)
29 0