首页 > 其他分享 >const的理解

const的理解

时间:2024-03-12 12:00:23浏览次数:19  
标签:const int age 2024 理解 year 修饰

Const

  • 什么是CONST
    • 被const修饰后的变量,只能保持一个值,无法再次赋值(一次指定用一辈子);
int main(){
const int age=18;
//age =20;//这句错误无法执行!!!
return 0 ;
}
  • 如果修饰的是类、结构体、结构体或类的指针、其成员都不可以更改
struct date{

    int year;
    int month;
    int day;
}
int main(){
    
    /*const struct date y_2024 {
        2024, 3, 9
    };*/
   
    /*const*/struct date * ptr = &y_2024;//指针指向const 修饰的结构体
    (*ptr).month = 2012;//(*p)取出指针所指向的(当前指向的是y_2024)可以赋值 如果定义指针时前面加上修饰词const则无法赋值,编译出错
    ptr.year->year=2012;//错误不可修改!!
    y_2024.year=2012;//错误,不可修改!!
    return 0 ;
}

总结

被const修饰的东西只能保持默认数值,不可以修改。

这是什么意思分别是什么含义

  • const修饰的是其右边的内容!修饰左边的所有类型名
int age=10;
int *px=&age;//px内存储的是age的逻辑地址 *px是访问age的数值
const int *p1=&age;//修饰的是 *p1 修饰的一般是整体 所以p1可以修改,可以通过修改其指向的逻辑地址来修改数值
int const *p2=&age; //修饰的是 *p2
int * const p3=&age;//修饰的是p3与*无关 p3就是常量 而*p3可以赋值,非常量


const int * const p4=&age;//修饰的*p4和p4 他俩都是常量 所以俩都不能修改

int const * const p5=&age;//和p4一样的没啥好说的

标签:const,int,age,2024,理解,year,修饰
From: https://www.cnblogs.com/dxwxb/p/18067998

相关文章

  • 理解async 和 await
    1、首先需要理解async和await的基本含义  async是一个修饰符,async定义的函数会默认的返回一个Promise对象resolve的值,因此对async函数可以直接进行then操作,返回的值即为then方法的传入函数//0.async基础用法测试asyncfunctionfun0(){console.log(1)r......
  • ElasticSearch架构介绍及原理解析
    前言在当今大数据时代,数据的快速增长使得有效地管理、检索和分析数据成为企业发展的关键。Elasticsearch(以下简称ES)作为一种开源的分布式搜索和分析引擎,在这个领域中扮演着重要的角色。它不仅仅只是全文搜索,还支持结构化搜索、数据分析、复杂的语言处理、地理位置和对象间关联关......
  • 你是怎么理解ES6中 Decorator 的?使用场景?
    这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助一、介绍Decorator,即装饰器,从名字上很容易让我们联想到装饰者模式简单来讲,装饰者模式就是一种在不改变原类和使用继承的情况下,动态地扩展对象功能的设计理论。ES6中Decorator功能亦如此,其本质也不是什么高大上的......
  • Skywaking 原理理解
    定义要监听的对象,里面添加监听对象名称和方法和参数。定义定时执行,获取上下文通过grpc传送到客户端继承IObserver<DiagnosticListener>在OnNext(DiagnosticListenerlistener)方法里获构造函数注入的监听对象然后遍历取出数据生成新对象TracingDiagnosticObject并添加到......
  • Inline内联函数简单理解
    InLine_FunctionHowtoWriteit?example->inlinevoidfunc();inlineintsum(intv1,intv2);inlinevoidfunc(){std::cout<<"func()"<<std::endl;}inlineintsum(intv1,intv2){returnv1+v2;}特点编译器会将函数调用直接展开......
  • installEventFilter、eventFilter函数理解
    installEventFilter函数如下:voidQObject::installEventFilter(QObject*filterObj)Qt助手的解释如下:在对象上安装一个事件过滤器filterObj。如下:monitoredObj->installEventFilter(filterObj);其中monitoredObj、filterObj都是QObject的子类。上面代码意思是:在monitoredObj......
  • SpringBoot自动配置原理解析
    一、什么是SpringBoot自动配置首先介绍一下什么是SpringBoot,SpringBoost是基于Spring框架开发出来的功能更强大的Java程序开发框架,其最主要的特点是:能使程序开发者快速搭建一套开发环境。SpringBoot能将主流的开发框架(例如SpringMVC,Dubbo,Mybatis,Redis等),做到像Maven导......
  • 简单懂点k8s网络(5)深入理解kube-proxy
         ......
  • 给python入门者的帮助,关于函数和装饰器的理解。
    有时候学习不能过于较真,至少在合适的时机之前,还是闷头吞知识,等吃饱了,就有精力(足够的能量储备,足够的经验)来理解更深的理解,但是很多时候,包括我自己,都喜欢在吃饱之前就研究自己在吃什么,为什么这个东西能吃这种问题。最近发现几年前写的一篇关于python函数return的一些理解,又被查......
  • .Net 理解异步的学习
    //异步-在方法中使用//异步约等于线程asyncawait一起使用//异步只有三种返回值//1.Task//2.Task<T>//3.void几乎不适用asyncTaskGetDataAsync(){//Task不需要等待结果执行//Task.Run(()=>Console.WriteLine("一个异步的方法"));//......