C++与C中const的比较以及const和define的比较

C++与C中const的比较:

C语言中 const修饰的变量是一个 常变量,本质还是变量,有自己的地址空间C++编译器对const常量的处理
当碰见常量声明时,在符号表中放入常量  ==> 问题:那又如何解释取地址编译过程中若发现对const使用了extern或者&操作符,则给对应的常量分配存储空间(兼容C)
但是编译过程中若发现使用常量则直接以符号表中的值替换,即使给该常量分配了空间,也并不使用里面的值#include <stdio.h>// 建议用 const 常量 代替宏常量 
// define  宏 在预编译的时候进行处理  const 是在编译的时候进行处理的
// 宏做简单替换,不会进行类型检查,作用域的检查
void func4_1()
{
// 宏的作用域从定义的那个位置开始,到文件结束都可见,可以使用
#define   A  100// const 常量的作用 在当前的 {}之内const int b = 20;printf ("%d\n", A);printf ("b = %d\n", b);// 撤销宏定义,如果不撤销,宏可以一直使用
#undef A
}int main4_2()
{//printf ("b = %d\n", b);// func4_1();// printf ("%d\n", A);return 0;
}int main4_1()
{   // C++中用 const 来定义常量const int a = 10;// a = 20;// C++中常量放在一个常量表中// 当编译器检测到要const常量进行取地址操作,它会为 a 分配内存// 但是这个内存并不会被 a 使用int *p = (int *)&a;*p = 100;printf ("&a = %p, p = %p\n", &a, p);// const 常量 a 并不会使用分配它的空间,使用 a 的时候,用常量表中的值进行替换printf ("a = %d, *p = %d\n", a, *p);return 0;
}

这里写图片描述

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

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

相关文章

中国古典十大悲剧

一.《窦娥冤》  《窦娥冤》——元关汉卿 山阴书生窦天章因无力偿还蔡婆的高利贷&#xff0c;把七岁的女儿窦娥送给蔡婆当童养媳来抵债。窦娥长大后与蔡婆儿子成婚&#xff0c;婚后两年蔡子病死。后来蔡婆向赛卢医索债&#xff0c;被赛卢医骗至郊外谋害&#xff0c;为流氓张驴…

解决: Elements in iteration expect to have ‘v-bind:key‘ directives

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 报错&#xff1a; Elements in iteration expect to have v-bind:key directives 原本写法&#xff1a; <li v-for"site in s…

回来太多事需要处理

出差回来&#xff0c;发现太多事需要处理现在每个项目都在Delay。且没有一个人是主动汇报项目的。这是非常不正常的现象。感觉有点累转载于:https://www.cnblogs.com/boriscao/archive/2005/09/03/229368.html

不该失去的,一块钱也不放弃

很多人都觉得&#xff0c;有钱人既然财力雄厚&#xff0c;花钱时必定毫不手软。然而&#xff0c;观察成功的CEO&#xff0c;你会发现&#xff0c;他们多数人花钱也花得小心&#xff0c;对于什么该花、值得花&#xff0c;算得十分精细。 华人首富、香港长江实业与和记黄埔董事局…

C++之引用

普通引用和常引用 1. 变量名的回顾 变量名实质上是一段连续存储空间的别名&#xff0c;是一个标号(门牌号) 程序中通过变量来申请并命名内存空间 通过变量的名字可以使用存储空间 问题&#xff1a;一段连续的内存空间是否只能有一个别名吗&#xff1f; 2. C引用的概念 引…

Vue.js 极简小例:数值计算、千米换算为米、九九乘法表、循环

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 代码&#xff1a; <template><div id"app"><!-- 千米和米换算 --><div id "computed_props&quo…

shiro框架的学习

权限控制是shiro最核心的东西 Shiro权限声明通常是使用以冒号分隔的表达式。一个权限表达式可以清晰的指定资源类型&#xff0c;允许的操作&#xff0c;可访问的数据。同时&#xff0c;Shiro权限表达式支持简单的通配符&#xff0c;可以更加灵活的进行权限设置。 下面以实例来说…

C++之内联函数

内联函数是一种特殊的函数&#xff0c;具有普通函数的特征&#xff08;参数检查&#xff0c;返回类型等&#xff09; 内联函数是对编译器的一种请求&#xff0c;因此编译器可能拒绝这种请求 内联函数由 编译器处理&#xff0c;直接将编译后的函数体插入调用的地方 宏代码片段…

妈妈培养天才的13绝招

作父母的&#xff0c;都希望自己的宝宝可以变得聪明、懂事&#xff0c;所以想尽办法去让宝宝上早教班、做早期智力开发……当然&#xff0c;这些做法对于开发宝宝智力能够起到一定的帮助。但是&#xff0c;千万别忽视您所能给予宝宝的家庭教育。    近日&#xff0c;日本一位…

Vue.js 极简小例: 4 种方式样式绑定、style 的多种方式实现

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 代码&#xff1a; <template><div id"app"><!-- JSON方式使用样式 --><div v-bind:style"{ colo…

C++之默认参数

一、什么是默认参数 C中可以在函数声明时为参数提供一个默认值&#xff0c; 当函数调用时没有指定这个参数的值&#xff0c;编译器会自动用默认值代替 二、默认参数规则 只有参数列表后面部分的参数才可以提供默认参数值 一旦在一个函数调用中开始使用默认参数值&#xff…

50 Python - 装饰器 类定义装饰器

04 类定义装饰器 上节通过函数定义装饰器&#xff0c;本节通过类定义装饰器 001 定义类装饰器 定义一个类&#xff0c;类里面两个函数&#xff0c;一个构造函数init()&#xff0c;一个调用函数call() 构造函数init时候&#xff0c;传递一个函数func()进来 调用函数call()&#…

C++之过载函数

过载函数的定义&#xff1a; 用同一个函数名定义不同的函数 当函数名和不同的参数搭配时函数的含义不同 过载函数的判断标准&#xff1a; 函数重载至少满足下面的一个条件&#xff1a; 参数个数不同 参数类型不同 参数顺序不同 函数返回值不是函数重载的判断标准 调用…

人民币贬值会让八类人损失惨重!有你吗?

截至20日&#xff0c;人民币本周对美元累计贬值1.24%&#xff0c;年初以来不到三个月时间累计贬值2.79%。分析人士表示&#xff0c;人民币短期内仍有较强下跌压力。本轮人民币急贬预计将对几类人群收入造成严重冲击。 本周以来&#xff0c;人民币对美元即期汇价持续单边下跌。数…

Vue.js 极简小例: 点击事件

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 代码&#xff1a; <template><div> <!-- jy_mothed 是在 js 中自定义的方法 --><button v-on:click"jy_mot…

从最大似然估计到最小二乘法

这一部分内容和吴恩达老师的CS229前面的部分基本一致&#xff0c;不过那是很久之前看的了&#xff0c;我尽可能写的像吴恩达老师那样思路缜密。 1.假设 之前我们了解过最大似然估计就是最大化似然函数$$L(\theta) \sum log(p(x_{i}|\theta))$$ 来确定参数\(\theta\)&#xff0…

C++之类

A&#xff09;封装&#xff0c;是面向对象程序设计最基本的特性。把数据&#xff08;属性&#xff09;和函数&#xff08;操作&#xff09;合成一个整体&#xff0c;这在计算机世界中是用类与对象实现的。 B&#xff09;封装&#xff0c;把客观事物封装成抽象的类&#xff0c;…

APU(美国AMD公司研发的加速处理器)

APU(Accelerated Processing Unit)中文名字叫加速处理器&#xff0c;是AMD“融聚未来”理念的产品&#xff0c;它第一次将中央处理器和独显核心做在一个晶片上&#xff0c;它同时具有高性能处理器和最新独立显卡的处理性能&#xff0c;支持DX11游戏和最新应用的“加速运算”&am…

根本不值得一提的乒乓球国手王浩

最近在看世界乒乓球锦标赛&#xff0c;关于王浩&#xff0c;很多人都说他的技术开创了一个时代&#xff0c;而事实是王浩没有夺过任何世界性大的赛事的单打冠军&#xff0c;我所说的世界性的赛事包括&#xff1a;世界乒乓球锦标赛,奥运会&#xff0c;世界杯&#xff0c;国际乒联…

Vue.js 极简小例:表单 (输入框 input、文本域 textarea、单选框 radio、下拉菜单 selected、复选框 checkbox)

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 代码&#xff1a; <template> <div > <p>---------------------------------------------------------------------…