C++中const关键字的多方面应用

news2024/11/15 22:24:05

const 的基本作用

const有且只有一种作用,那就是限定被修饰的对象无法被修改,在c++中,被const修饰的对象被看作常量,存储在只读存储区(.rodata)。

测试代码


const int a = 5;

char arr[a];

对测试代码进行汇编编译 – gcc -S test.c

在这里插入图片描述

const与指针

关于const与指针,我在指针一节中涉及到了,可以跳转下面的链接
2-17,18,19 – 关于指针

const限定

在很多函数中,我们用引用传递参数给目标函数做一些事,但是我们

并不希望目标函数去修改我们传递的这个值。

例如在字符串比较函数中

int strcmp(const char *str1, const char *str2);

既然只是做比较,那就不涉及修改参数的问题,但是为了避免,目标

函数出现修改参数的情况,加上const修饰参数就能避免如此问题。

链接性与作用域

链接性

在c++中由const修饰的变量默认是内部链接的,即只在本.c文件中可以被看到
在这里插入图片描述
如果想要使被修饰的变量具有外部链接性,就需要在外用extern修饰

而在c中,const修饰的变量默认是外部链接

同样的代码用c编译
在这里插入图片描述
可以看到用c编译的a是globl修饰的。

作用域

前文说过const修饰的变量存储被视为常量与常量一起存储在只读存储区
在只读存储区的内容不会随着函数结束而销毁,而是会一直保存到程序运行结束

注:诸位站友如有所收获不妨点个免费的赞,如有错误之处或有其它补充的点,请在评论区发表你的观点,看到必回。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1943044.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

机械学习—零基础学习日志(高数09——函数图形)

零基础为了学人工智能,真的开始复习高数 函数图像,开始新的学习! 幂函数 利用函数的性质,以幂函数为例,因为单调性相同,利用图中的2和3公式,求最值问题,可以直接将式子进行简化。这…

Git之repo sync -c与repo sync -dc用法区别四十八)

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 优质专栏:多媒…

blender使用(四)-物体吸附与晶格形变、阵列、曲线、蒙皮修改器

1.缩放注意点 尽量不要在物体模式下缩放,尽量在编辑模式下缩放。 若在物体模式下做过缩放,右键单击物体,选择应用缩放 2.物体吸附及衰减 吸附:一个物体移动到另一个物体表面时,自动吸附上去 衰减:编辑模式下…

Nginx学习-相关概念

Nginx学习-相关概念 主要学习几个概念:Nginx,正向代理、反向代理、负载均衡、动静分离。–2020年05月29日 什么是Nginx Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。 特点是占有内存少&…

探索未知,惊喜连连 —— 盲盒一番赏小程序,开启你的幸运之旅!

在这个充满惊喜与期待的时代,每一份未知都藏着无限可能。我们精心打造的“盲盒一番赏”小程序,正是为了满足您对惊喜的渴望,让每一次点击都成为一次心跳加速的旅程。 🌟 【沉浸式体验,触手可及】 想象一下&#xff0c…

【源码阅读】Sony的go breaker熔断器源码探究

文章目录 背景源码分析总结 背景 在微服务时代,服务和服务之间调用、跨部门调用都是很常见的事,但这些调用都存在很多不确定因素,如核心服务A依赖的部门B服务挂掉了,那么A本身的功能将会受到直接的影响,而这些都会影响…

vue this.$refs 动态拼接

业务需要&#xff0c;refs是不固定的 <vxe-grid refgridWarehouse v-bind"gridWarehouseOptions" v-if"tableHeight" :height"tableHeight":expand-config"{iconOpen: vxe-icon-square-minus, iconClose: vxe-icon-square-plus}"c…

(Qt) 文件读写基础

文章目录 &#x1f5c2;️前言&#x1f4c4;ref&#x1f4c4;访问标记&#x1f5c3;️enum 标记 &#x1f5c2;️Code&#x1f4c4;demo&#x1f4c4;分点讲解&#x1f5c3;️继承体系&#x1f5c3;️打开/关闭&#x1f5c3;️写&#x1f5c3;️读 &#x1f5c2;️END&#x1f…

2024年,人工智能行业哪些证书权威?

人工智能领域颁发的证书有很多&#xff0c;但哪些更权威呢&#xff1f;看颁发证书的单位&#xff01; 工信部电子标准院的人工智能从业人员认证证书是由工业和信息化部电子工业标准化研究院&#xff08;以下简称“电子标准院”&#xff09;颁发&#xff0c;旨在评价和认证人工…

【嵌入式开发之标准I/O】文件I/O的基本概念,打开、关闭、定位函数及实例

文件I/O和标准I/O 什么是文件I/O?什么是标准I/O? 文件I/O&#xff1a;文件I/O又称系统IO&#xff0c;系统调用&#xff0c;称之为不带缓存的IO&#xff08;unbuffered I/O)。是操作系统提供的API接口函数。不带缓存指的是每个read&#xff0c;write都调用内核中的一个系统调…

【HarmonyOS4学习笔记】《HarmonyOS4+NEXT星河版入门到企业级实战教程》课程学习笔记(二十三)

课程地址&#xff1a; 黑马程序员HarmonyOS4NEXT星河版入门到企业级实战教程&#xff0c;一套精通鸿蒙应用开发 &#xff08;本篇笔记对应课程第 33 节&#xff09; P33《32.通知-进度条通知》 下载按钮对应的逻辑&#xff1a; 取消按钮对应的逻辑&#xff1a; 暂停按钮对应的…

Java | Leetcode Java题解之第274题H指数

题目&#xff1a; 题解&#xff1a; class Solution {public int hIndex(int[] citations) {int left0,rightcitations.length;int mid0,cnt0;while(left<right){// 1 防止死循环mid(leftright1)>>1;cnt0;for(int i0;i<citations.length;i){if(citations[i]>mi…

【Django】在anaconda虚拟环境中创建Django项目

文章目录 进入工作目录创建django项目及进入vscode(打开项目目录)选择解析器 进入工作目录 cd C:\WF\developer\djangodemo创建django项目及进入vscode(打开项目目录) django-admin startproject antproject选择解析器 ctrlshiftP打开命令面板

【杰理蓝牙开发】AC695x VM接口原理与使用(1)

本文主要记录 杰理蓝牙VM接口的使用,包括原理的介绍和API接口的使用。 【杰理蓝牙开发】AC695x VM接口原理与使用(1) 0. 个人简介 && 授权须知1. 系统 flash 区域划分1.1 系统区域划分1.2 在配置文件中配置flash区域2. 系统配置项读写接口2.1 读接口:2.2 写接口:2…

MATLAB实验五:MATLAB数据分析

1. 某线路上不同时间对应的电压如下表所示&#xff1a; 1&#xff09;用 3 次多项式拟合(polyfit)该实验曲线&#xff0c;要求绘制 2 原始采样 点&#xff0c;并在 1~8 范围内&#xff0c;使用时间间隔为 0.2 的数据绘制拟合曲线。 建立一个脚本文件&#xff1a;text5_1.m 如下…

【Hot100】LeetCode—279. 完全平方数

目录 题目1- 思路2- 实现⭐完全平方数——题解思路 3- ACM 实现 题目 原题连接&#xff1a;279. 完全平方数 1- 思路 思路 动规五部曲 2- 实现 ⭐完全平方数——题解思路 class Solution {public int numSquares(int n) {// 1. 定义 dpint[] dp new int[n1];//2. 递推公式…

1Panel面板配置java运行环境及网站的详细操作教程

本篇文章主要讲解&#xff0c;通过1Panel面板实现java运行环境&#xff0c;部署网站并加载的详细教程。 日期&#xff1a;2024年7月21日 作者&#xff1a;任聪聪 独立博客&#xff1a;https://rccblogs.com/501.html 一、实际效果 二、详细操作 步骤一、给我的项目进行打包&am…

报考安全工程师,这些人千万别考!

近几年&#xff0c;注安证书的缺口很大&#xff0c;而这两年题目的难度也在逐步增大&#xff0c;考生能越早考越好。但在大环境不好时&#xff0c;很多人都想着增加点副业&#xff0c;因此很多人都会有想学习考证&#xff0c;基本上为了注安挂靠才去考的&#xff0c;有这种念头…

一次搞定!中级软件设计师备考通关秘籍

大家好&#xff0c;我是小欧&#xff01; 今天我们来聊聊软考这个话题。要是你准备参加计算机技术与软件专业技术资格&#xff08;软考&#xff09;&#xff0c;那么这篇文章就是为你量身定做的。话不多说&#xff0c;咱们直接进入正题。 什么是软考&#xff1f; 软考&#xf…

CST热仿真案例——电动车直流快充Cable热仿真

作者 | Zhou Ming 随着大功率直流充电桩的不断普及&#xff0c;我们在享受直流快充带来的高效优势外&#xff0c;更要关注直流快充的安全问题。工程师在设计中必须考虑过压、过流、短路、过温等多重保护机制&#xff0c;才能确保充电过程中的设备和人身安全。本期我们利用CST对…