当前位置: 首页 > news >正文

网站制作流程 优帮云宁波seo推广优化

网站制作流程 优帮云,宁波seo推广优化,新的网站设计制作,宝塔为wordpress安装redisC语言以及C语言中的const究竟表示什么?其具体的实现机制又是如何实现的呢?本文将对这两个问题进行一些分析,简单解释const的含义以及实现机制。 问题分析 简单的说const在C语言中表示只读的变量,而在C语言中表示常量。关于const在…

C语言以及C++语言中的const究竟表示什么?其具体的实现机制又是如何实现的呢?本文将对这两个问题进行一些分析,简单解释const的含义以及实现机制。

  问题分析

  简单的说const在C语言中表示只读的变量,而在C++语言中表示常量。关于const在C与C++语言中的使用以及更多的区别,以后有时间另开一贴说明。

  那么const究竟是如何实现的呢? 对于声明为const的内置类型,例如int,short,long等等,编译器会如何实现const的本意?那么对于非内置类型是否也是与内置数据类型一样处理呢,例如对于结构体类型则会怎样处理呢?下面通过几个小例子来说明这些问题:

  C语言const示例:


 const int i=10;

 int *p=(int *)(&i);

 *p=20;

 printf("i=%d   *p=%d   ",i,*p);
 


  猜一猜输出结果是什么?i=20 *p=20

  C++语言const示例1:


 const int i=10;

 int *p=const_cast<int *>(&i);

 *p=20;
 
 cout<<"i="<<i<<"   *p="<<*p<<endl;
 


  输出结果是 i=10 *p=20

  C++语言const示例2:


struct test{
 int j;
 char tmp;
 test()
 {
  j=30;
  tmp='a';
 }
};

int main(int argc, char* argv[])
{

 const struct test t1;
 int *q=(int *)(&t1.j);
 *q=40;
 cout<<"j="<<t1.j<<"   *q="<<*q<<endl;
 return 0;
}
 


  输出结果是 j=40 *q=40

  示例结果分析

  看到上面三组输出结果,有没有感到很诡异:

  问题1,对于const int类型的变量i,C语言中通过指针p修改了值后,i变成了20;而在C++中,通过指针p修改了值后,i仍然是10。

  问题2,C++语言中 const struct test的元素j通过指针q被改变了,为何const int 与 const struct test的反应机制不同?

  针对问题1,我们知道C语言中const表示只读的变量,既然把const看成是变量,那么其在内存中就会有存储他的空间,并且可以通过指针间接的改变该内存空间的值,当通过指针p改变该内存中的值后,再获取i的值的时候,会访问该空间,得到的是被改变后的值。而C++把const看做常量,编译器会使用常数直接替换掉对i的引用,例如cout<<i; 会理解成cout<<10; 并不会去访问i的内存地址去取数据,这里有点像是C语言里的宏#define i 10。因此C++里i会输出10,而*p会输出20.

  针对问题2,C++语言中只是对于内置数据类型做常数替换,而对于像结构体这样的非内置数据类型则不会。因为结构体类型不是内置数据类型,编译器不知道如何直接替换,因此必须要访问内存去取数据,而访问内存去取数据必然会取到被指针q改变后的值,因此会造成与C++中const int类型完全不一样的处理模式。

  小结

  C语言与C++有很多的区别与联系,const只是其中一个方面,对于const的理解和使用是编程的基础,需要熟练掌握。

转载于:https://www.cnblogs.com/E-star/archive/2013/04/13/3019497.html

http://www.lbrq.cn/news/2735119.html

相关文章:

  • p2p网站建设规划百度公司怎么样
  • 营销型网站重要性网站seo排名优化软件
  • 南通专业网站建设公司惠州seo
  • 网站抠图怎么做的举例网络营销的例子
  • 新世纪建设集团有限公司网站seo营销推广服务公司
  • 商务网站创建经费预算快速优化官网
  • 机票便宜 网站建设seo优化博客
  • 服务器哪些端口可以做网站免费网站软件
  • 合肥学做网站app的学校软文代写价格
  • 小程序开发平台源代码下载北京seo做排名
  • 网站banner图做多大sem竞价教程
  • 委托完成网站建设合同模板网络营销试卷
  • 国外社交网站设计欣赏市场营销案例100例
  • 网站维护知识抖音广告投放平台官网
  • 网站后台管理模板下载seo关键词推广优化
  • 网站建设seo 视频教程发外链比较好的平台
  • 怎呀做网站网上销售有哪些方法
  • 日本企业网站模板招聘网络营销推广人员
  • 成都网站制作售后今日时事新闻
  • 天华集团官网网络seo排名
  • 网站企业建设方案电工培训
  • 顺义企业建站费用新手seo要学多久
  • 南京 网站建设 运营服务 骗子公司发布软文的平台有哪些
  • 老实人做网站seo站长之家
  • 网站建设有哪些方法企业推广是什么职业
  • wordpress调用备案号如何优化关键词搜索排名
  • 如何在服务器上做网站友情链接交易
  • 幼儿园学校网站建设作用宁德市自然资源局
  • 网站是哪个公司做的友情链接吧
  • 所有电商平台seo网站优化助理
  • [1Prompt1Story] 注意力机制增强 IPCA | 去噪神经网络 UNet | U型架构分步去噪
  • 解决html-to-image在 ios 上dom里面的图片不显示出来
  • 学习游戏制作记录(制作系统与物品掉落系统)8.16
  • 代码随想录二刷之“字符串”~GO
  • 【机器学习深度学习】OpenCompass 评测指标全解析:让大模型评估更科学
  • Redisson分布式锁实战指南:原理、用法与项目案例