const的作用

C++后台开发校招面试常见问题 C和C++语言基础 参考书籍:《C++ primer》,《effective C++》,《STL源码解析》,《深度搜索C++对象模型》 extern关键字作用 extern声明变量在在外部定义? extern修饰函数? extern C的作用?用法? static关键字作用 static修饰局部变量? static全局变量?(限定变量在一个编译单元内,一个编译单元就是指一个cpp和它包含... 阅读详情

cons的作用
   (1)可以定义const常量         例如:
             const int Max=100;
             int Array[Max];        
   (2)便于进行类型检查            例如:
             void f(const int i) { .........}
        编译器就会知道i是一个常量,不允许修改;
   (3)可以保护被修饰的东西,防止意外的修改,增强程序的健壮性。
        还是上面的例子,如果在函数体内修改了i,编译器就会报错;
        例如: 
             void f(const int i) { i=10;//error! }
    (5) 为函数重载提供了一个参考。
         class A
         {
           ......
           void f(int i)       {......} file://一个函数
           void f(int i) const {......} file://上一个函数的重载
            ......
          };
     (6) 可以节省空间,避免不必要的内存分配。
         例如:
              #define PI 3.14159         file://常量宏
              const doulbe  Pi=3.14159;  file://此时并未将Pi放入ROM中
              ......
              double i=Pi;               file://此时为Pi分配内存,以后不再分配!
              double I=PI;               file://编译期间进行宏替换,分配内存
              double j=Pi;               file://没有内存分配
              double J=PI;               file://再进行宏替换,又一次分配内存!
         const定义常量从汇编的角度来看,只是给出了对应的内存地址,而不是象#define一样给出的是立即数,所以,const定义的常量在程序运行过程中只有一份拷贝,而#define定义的常量在内存中有若干个拷贝。
     (7) 提高了效率。
           编译器通常不为普通const常量分配存储空间,而是将它们保存在符号表中,这使得它成为一个编译期间的常量,没有了存储与读内存的操作,使得它的效率也很高。

使用const
   (1)修饰一般常量,常数组,常对象
   修饰符const可以用在类型说明符前,也可以用在类型说明符后。      例如:   
           int const x=2;  或  const int x=2;

       int const a[5]={1, 2, 3, 4, 5};    或  const int a[5]={1, 2, 3, 4, 5};

           class A;      const A a;  或     A const a;
     
   (2)修饰指针
        const int *A;   或  int const *A; //const修饰指向的对象,A可变,A指向的对象不可变
        int *const A;              //const修饰指针A,     A不可变,A指向的对象可变 
        const int *const A;      //指针A和A指向的对象都不可变
   (3)修饰引用
        const double & v;      该引用所引用的对象不能被更新
 (4)修饰函数的返回值:
        const修饰符也可以修饰函数的返回值,是返回值不可被改变,格式如下:
            const int Fun1(); 
            const MyClass Fun2();
   (5)修饰类的成员函数:
        const修饰符也可以修饰类的成员函数,格式如下:
            class ClassName 
     {
             public:
                  int Fun() const;
                    .....
             };
        这样,在调用函数Fun时就不能修改类里面的数据 
    (6)在另一连接文件中引用const常量
         extern const int i;     //正确的引用
         extern const int j=10;  //错误!常量不可以被再次赋值
   


*******************放在类内部的常量有什么限制?
  
        class A
        {
         private:
           const int c3 = 7;               // err
           static int c4 = 7;               // err
           static const float c5 = 7;  // err
          ......
  };
 初始化类内部的常量
        1 初始化列表:
         class A
         {
          public:
                A(int i=0):test(i) {}
          private:
                const int i;
          };
         2 外部初始化,例如:
         class A
         {
          public:
                A() {}
          private:
                static const int i;  
          };
          const int A::i=3;  

从零到一:手把手教你用STM32和WiFi打造智能温室大棚的物联网核心 本文详细介绍了如何利用STM32单片机和WiFi技术从零构建智能温室大棚的物联网核心系统。内容涵盖硬件选型、传感器集成、低功耗WiFi通信、自动控制逻辑及OLED显示,提供实际部署中的优化技巧和故障排查方案,帮助开发者打造稳定可靠的农业自动化解决方案。 阅读详情

相关推荐

LLVM实战:如何用Clang+LLVM打造你的第一个C++编译器(附完整配置步骤)

本文详细介绍了如何使用Clang+LLVM构建C++编译器的完整配置步骤,从环境准备到编译流程剖析,再到调试与优化技巧。通过实战指南,帮助开发者深入理解LLVM编译器框架的工作原理,并掌握交叉编译与性能分析等高级功能。

sprite的博客 748

关键字const的含义、作用与优点

const含义: 只要一个变量前用const来修饰,就意味着该变量里的数据只能被访问,而不能被修改,也就是意味着const“只读”(readonly) 规则:const离谁近,谁就不能被修改;          const修饰一个变量时,一定要给这个变量初始化,若不初始化,在后面也不能初始化。 const作用:         1:可以用来定义常量,修饰函数参数,修饰函数返回值,且被co

leikun153的博客 2万+

RcisTarget实战:从差异基因到转录因子调控网络的完整分析流程(附代码)

本文详细介绍了RcisTarget工具在转录因子调控网络分析中的完整流程,从差异基因到motif富集分析,再到结果可视化与生物学解读。通过实战代码演示,帮助研究者掌握这一强大的R包应用,揭示基因表达背后的调控机制,特别适用于基因组学和生物信息学研究。

weixin_29214199的博客 228

说说const的作用,越多越好

说说const的作用 const修饰全局变量; const修饰局部变量; const修饰指针,int * const; const修饰指针指向的对象, const int *; const修饰引用做形参; const修饰成员变量,必须在构造函数列表中初始化; const修饰成员函数,说明该函数不应该修改非静态成员,但是这并不是十分可靠的,指针所指的非成员对象值可能会被改变 修饰...

努力成为Al风口的猪 853

绕过ROS2!在RDK X5上直接用Python调用海康相机C++ SDK的避坑指南

本文详细介绍了在RDK X5上绕过ROS2,直接使用Python调用海康相机C++ SDK的轻量化方案。通过Cython构建Python绑定,提取海康相机SDK核心组件,实现高效图像采集。文章涵盖环境准备、Cython接口设计、编译系统配置及性能优化技巧,特别适合ARM64平台开发者。

weixin_33712987的博客 250

TenserRt平台SMOKE 3D目标检测部署完整教程:从理论到实践

本教程详细介绍了在RK3588平台上部署SMOKE 3D目标检测模型的完整流程。SMOKE是一种创新的单阶段单目3D检测方法,通过关键点估计直接预测3D目标信息,有效解决了深度信息缺失等挑战。文章从理论基础出发,解析了SMOKE的核心算法和网络架构,包括DLA-34主干网络和关键点中心化策略。同时提供了详细的Docker环境配置、模型导出到ONNX格式的实践指南,以及TensorRT引擎构建和性能优化的关键技术要点。该教程为开发者在嵌入式平台上实现高效3D目标检测提供了完整的技术参考。

LXY_LOVE36的博客 372

C语言中static、const的用法(能说出越多越好)

1、C语言中static、const的用法(能说出越多越好) static在C语言中主要是两种用法 1、修饰局部变量 2、修饰函数和全局变量 static修饰局部变量时该变量是存放在静态存储区,生命周期是整个程序结束。 static局部变量初次定义时就要初始化,且只能初始化一次。如果在定义的时候不初始化,编译器就会自动赋值为0;(也就是说如果重复调用同一个函数,在第二次调用时,就不会再执行stat...

sinat_42550851的博客 1574

华为OD机考双机位C卷 - 完美走位 (Java & Python& JS & C/C++ & GO )

华为OD机考双机位C卷 - 完美走位(OD上机考试双机位C卷)。提供Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解,以及在线OJ模拟做题。

算法大师! 1125

const 的作用

在C++中,`const`变量一经定义必须立即初始化,因为之后你将无法修改它们的值。这是因为`const`关键字用于定义常量值,这意味着该值在编译时就应该是已知的,并且在程序的整个生命周期中不会改变。// 正确:const变量在定义时初始化// 错误:未初始化的const变量// 错误:不能给const变量赋值编译器会报错,因为`myConst`被定义为`const`但没有被初始化。一旦定义了`const`变量,就不能再给它赋值,因为`const`本意就是表明该变量的值在定义后不可变。此外,

qq_43287763的博客 2006

APM32取代STM32的经验分享

我仔细检查了代码中与硬件相关的部分,例如外设寄存器的访问和中断处理程序的设置,并进行了相应的修改。在本文中,我将分享我将APM32引入项目中取代STM32的经验,并提供相应的源代码。我查看了APM32的官方网站、开发者论坛和相关社交媒体,了解了开发者社区的活跃度和可用的资源。总结起来,将APM32替换STM32的过程需要经过几个关键步骤:了解APM32的规格和功能、评估软件生态系统、迁移代码和调试,以及性能和功耗优化。在开始替换之前,我对APM32进行了详细的研究和评估,以确保它能够满足项目的需求。

UplKubernetes的博客 2004

使用LSTM实现自动调制识别(RML2018.01a)

目录一、LSTM的代码实现1.1 导入包1.2 数据读取及数据集划分1.3 数据预处理1.4 构建LSTM模型 本文基于RML2018.01a大型数据集,给出LSTM的信号识别的实现方式(附代码) RML2018.01a数据集信息如下: 模型 传送门 CNN/ResNet 使用CNN/ResNet实现自动调制识别(RML2018.01a) LSTM 使用LSTM实现自动调制识别(RML2018.01a)) 一、LSTM的代码实现 1.1 导入包 import numpy as np

QAQIknow的博客 6123

c语言中 const 的作用

const 详细版

gaoaodefish的博客 1922

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

C语言 基础知识之const(const是什么,const的作用,const的使用)

一、const是什么 const是C/C++中的类型修饰符。 二、const的作用 1、对变量声明只读特性,保护变量值以防被修改 2、节省空间,避免不必要的内存分配。const修饰的变量在程序运行过程中只有一份拷贝 3、提高程序运行效率。编译器不为普通const常量分配存储空间,而是将他们保存在符号表中,这使得它成为一个编译期间的常量,没有了存储和读取内存的操作。 三、const的使用 1、const和普通变量 (1)编译器在编译过程中把...

李江林的博客 7万+

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

了解作用域; var,let,const的区别

ECMAScript是一个国际通过的标准化脚本语言。 通俗理解:ECMAScript是JavaScript的语言规范,JavaScript语言本身就是ECMAScript 一、作用域 ES5中有:全局作用域、函数作用域,ES6又新增了块级作用域 { }。块级作用域由{ }包括,if语句和for语句里的{ }也属于块级作用域 (1)//块级作用域,通过var定义的变量可以跨块作用域访问到。 { var a = 1; console.log(a); // 1 } console.log

ying_ying7的博客 888

函数末尾加const的作用

#include <iostream> using namespace std; class Test { int num; public: Test() { num=10; } void print1() { cout<<num<<endl; } ...

军说网事 4808

const的作用和用法

一、const的作用 1.为给读你代码的人传达非常有用的信息,声明一个参数为常量是为了告诉用户这个参数的应用目的; 2.通过给优化器一些附加信息,使关键字const也许能产生更紧凑的代码; 3.合理使用关键字const可以使编译器很自然的保护那些不希望被修改的参数,防止无意的代码修改,可以减少bug的出现; 二、const的用法 常变量: const 类型说明符 变量名 常引用:...

weixin_43282440的博客 1万+

var、let、const区别和作用域

var、let、const区别和作用域

cjn308408的博客 427

CONST的主要作用

CONST的主要作用 http://www.chinabaike.com/t/35903/2016/0511/4887538.html       CONST -主要作用 (1)可以定义const常量,具有不可变性。 例如:constintMax=100;Max++会产生错误; (2)便于进行类型检查,使编译器对处理内容有更多了解,消除了一些隐患。 例如

youtherzhang的博客 340

【c++】const的作用

最基础的用法,核心是让变量 / 对象变成 “只读”,一旦初始化就不能被赋值修改,编译器会检查并阻止任何修改操作,避免意外篡改。—— 用来限定变量 / 函数 / 指针等 “不能被修改”,既能提升代码安全性,也能增强可读性。:约束对象的 “只读属性”,确保对象状态不会被意外修改,是类设计中 “只读接口” 的基础。之前写了const在函数当中的作用,那就在写一下const的其他作用,帮助自己理解。const 是 C++ 里最基础也最关键的关键字之一,核心是。,表示函数不会修改字符串内容,提升代码安全性。

2402_85646905的博客 720

let const 块级作用域

一:let 、const 与 var 相比存在 块级作用域,一个{} 就是一个块 var 定义的变量只在(全局) 和 (函数)中 有作用域,其余都可用 if (true) { var a = 5 } console.log(a) // 5 if(){} 不是函数,所以 a 的作用域是全局 if (true) { let a = 5 } ...

Luckyzhoufangbing的博客 974

【const关键字的作用】

一、const的定义 二、const使用原理 1、const+全局/局部变量 2、const修饰指针/引用 3、const修饰函数参数 4、const修饰函数返回值 5、const成员函数和数据成员 6、const修饰类对象 二、const与宏定义的区别 三、const与static的区别

Pumpkin_O的博客 3565

c++中const的作用

const关键字的作用 1)欲阻止一个变量被改变,可使用const,在定义该const变量时,需先初始化,以后就没有机会改变他了; 2)对指针而言,可以指定指针本身为const,也可以指定指针所指的数据为const,或二者同时指定为const; 3)在一个函数声明中,const可以修饰形参表明他是一个输入参数,在函数内部不可以改变其值; 4)对于类的成员函数,有时候必须指定其为const类型,表明其是一个常函数,不能修改类的成员变量; 5)对于类的成员函数,有时候必须指定其返回值为const类..

顺其自然~专栏 5145

Const,Const函数,Const变量,函数后面的Const的作用

参考: 博文01:https://www.xuebuyuan.com/3267655.html 一、一些理论知识 1、看到const 关键字,C++程序员首先想到的可能是const 常量。这可不是良好的条件反射。如果只知道用const 定义常量,那么相当于把火药仅用于制作鞭炮。const 更大的魅力是它可以修饰函数的参数、返回值,甚至函数的定义体。 const 是constant 的缩写,“恒定不...

博雅勇士的博客 723
上一篇: 进程与线程的区别
下一篇: 关于C语言中的结构体对齐
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值