C++之const用法小结

embedded/2024/9/23 6:23:41/

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

1.声明常量:

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

const int MAX_SIZE = 100;  // MAX_SIZE 是一个常量,其值为100

2.指针和const

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

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

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

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

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

const int value = 10;  
const int *const ptr = &value;  // ptr 和 *ptr 都不能被修改

3.const成员函数

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

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

4.const参数

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

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

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

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

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

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

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

using ConstInt = const int;  // 定义一个常量整数类型的别名  
ConstInt a = 10;             // a 是一个常量整数,其值不能被修改


http://www.ppmy.cn/embedded/29803.html

相关文章

Debian 12 tomcat 9 catalina 日志信息 中文显示乱码

目录 问题现象 解决办法&#xff1a; 1、设定Debian locale 2、设定catalina.sh utf8字符集 问题现象 Debian 12 linux操作系统中&#xff0c;tomcat 9 catalina 启动日志输出 中文乱码 解决办法&#xff1a; 1、设定Debian locale 先确保系统本身就支持中文的 Debian …

KITTI

使用mac m1为硬件 使用UTM作为虚拟机下载ubuntu arm镜像20.04: Ubuntu 20.04.5 LTS (Focal Fossa)22.04: Ubuntu 22.04.4 LTS (Jammy Jellyfish) Daily Build20.04只有server版本, 安装时, 默认全不选.进入系统后安装界面: sudo apt install ubuntu-desktop配置清华源

MySQL 运维篇

回顾基本语句&#xff1a; 数据定义语言(DDL) 这类语言用于定义和修改数据库的结构&#xff0c;包括创建、删除和修改数据库、 表、视图和索引等对象。 主要的语句关键字包括 CREATE 、 DROP 、 ALTER 、 RENAME 、 TRUNCATE 等。 create database 数据库 &#xff1b; cr…

Git使用指北

目录 创建一个Git仓库本地仓库添加文件文件提交到本地仓库缓冲区添加远程仓库地址本地仓库推送到远程仓库创建新的分支拉取代码同步删除缓冲区的文件&#xff0c;远程仓库的文件.gitignore文件 创建一个Git仓库 Git仓库分为远程和本地两种&#xff0c;远程仓库如Githu上创建的…

在 Python 编程语言中:[::-1] 的原理和作用、lambda 函数的功能和含义、== 和 is 的区别

&#x1f349; CSDN 叶庭云&#xff1a;https://yetingyun.blog.csdn.net/ Python 编程语言中&#xff0c;[::-1] 的原理和作用到底是什么&#xff1f; 在 Python 中&#xff0c;[::-1] 是一种常见的切片操作&#xff0c;用于字符串、列表等序列数据类型。这种操作的目的是将序…

第六十七章 使用 NSD (UNIX® Linux macOS)

文章目录 第六十七章 使用 NSD (UNIX Linux macOS)何时使用 NSDNSD 模块安装位置运营 NSD 第六十七章 使用 NSD (UNIX Linux macOS) 本页介绍如何在 UNIX、Linux 或 macOS 上使用网络服务守护程序 (NSD) 或与 Web Gateway 结合使用。这不是典型的安装&#xff0c;但在某些情况…

df 数据去掉全是NaN的所有行

df 数据去掉全是NaN的所有行&#xff1a; 在Python中&#xff0c;使用pandas库可以很容易地去掉包含全部NaN的所有行。可以使用dropna()方法&#xff0c;并指定howall’参数来实现这一点。 import pandas as pd import numpy as np# 创建一个包含NaN的DataFrame df pd.DataFr…

Mac 电脑 vscode 终端提示 zsh: command not found

问题 Mac上装好node后&#xff0c;使用npm install安装依赖时&#xff0c;终端却提示zsh: command not found 解决方案 【1】在&#xff5e;目录下创建.zshrc文件; 【2】编辑source ~/.bash_profile至.zshrc文件中; 【3】source ~/.zshrc; cd ~ touch .zshrc echo source ~…