有极速快乐十分吗|极速快乐十分走势图|

const int* p 表达的是什么意思

const int* p 的语义问题
服务器君一共花费了219.710 ms进行了7?#38382;?#25454;库查询,努力地为您提供了这个页面。
试试阅读模式?希望听取您的建议

先来看一行代码:

const int* p = new int(10);

问题来了,new出来的地址应该是块堆内存啊,const常量应该保存在内存静态区啊,那指针p指向的那块内存到底是在静态区还是堆里?

我们先来看看 const 有什么用途?

  1. 可以定义?const?常量
  2. const可以修饰函数的?#38382;?#36820;回值,甚至函数的定义体。被const修饰的东西都受到强制保护,可以预防意外的变动,能提高程序的健壮性。

其实想想很简单,const int* p是一个常量指针,即通过该指针不能修改其目标,可并没说这个指针所指向的目标就非得是常量。

int n = 100;                // n不是常量
const int* p1 = &n;       	// p1指向n
int* p2 = &n;               // p2指向n
n = 200;                    // ok,n不是常量,可以修改
*p1 = 300;                  // error,p1是常量指针,其目标不可修改
*p2 = 400;                  // ok,p2不是常量指针,其目标可修改

所以,const int* p 是定义了个常量,只是表示p指向的内容不可以被修改。指向的int内存应该在堆中。指针的类型决定了指针的行为,至于指针所指向的目标,该怎么样还怎么样,跟这个指针没有关系。

更多可以参看: 漫谈C指针:const int *pi的语义

本文地址:http://www.bavugt.tw/librarys/veda/detail/2145,欢迎访问原出处。

不打个分吗?

转载随意,但请带上本文地址:

http://www.bavugt.tw/librarys/veda/detail/2145

如果你认为这篇文章值得更多人阅读,欢迎使用下面的分享功能。
小提示:您可以按快捷键 Ctrl + D,或点此 加入收藏

大家都在看

阅读一百本计算机著作吧,少年

很多人觉得自己技术进步很慢,学习效?#23454;停?#25105;觉得一个重要原因是看的书少了。多少是多呢?起码得看3、4、5、6米吧。给个具体的数量,那就100本书吧。很多人知识结构不好而且不系?#24120;?#22240;为在特定领域有一个足够量的知识量+足够良好的知识结构,系统化以后就足以应对大量未曾遇到过的问题。

奉劝自学者:构建特定领域的知识结构体系的路径?#24615;?#20063;没有比学习该专业的专业课程更好的了。如果我的知识结构体?#24213;?#20197;囊括面试官的大部分甚至吞并他的知识结构体系的话,读到他言语中的一个?#39280;?#20204;就已经知?#28010;?#35201;表达什么,我们可以让他坐“上位?#21271;?#31455;他是面试官,但是在知识结构体系以及心理上我们?#36884;?#39640;临下。

所以,阅读一百本计算机著作吧,少年!

《JavaScript高级程序设计(第2版)》 尼?#29228;?#26031;·泽卡斯(Nicholas C.Zakas) (作者), 李松峰 (译者), 曹力 (译者)

《JavaScript高级程序设计(第2版)》在上一版基础上进行了大幅度更新和修订,融入了近几年来JavaScript应用发展的最新成果,几乎涵盖了所?#34892;?#35201;理解的重要概念和最新的JavaScript应用成果。从颇具深度的JavaScript语言基础到作用域(链),从引?#32654;?#22411;到面向对象编程,从极其灵活的匿名函数到闭包的内部机制,从浏览器对象模型(BOM)、文档对象模型(DOM)到基于事件的Web脚本设计,从XML(E4X)到Ajax及JSON,从高级前端开发技术到前沿的客户端存储,从最佳编程?#23548;?#21040;即将成为现实的API,直至JavaScript未来的发展,全景式地展示了JavaScript高级程序设计的方方面面。

更多计算机宝库...

有极速快乐十分吗
秒速时时彩正规吗 体彩天津11选5开奖结果 羽毛球直播网 大富豪彩票群 北京快三助手 河南22选5开奖走势图 沈阳微乐棋牌下载安装 幸运飞艇群2017 女生在深圳怎么赚钱 江苏7位数最新开奖公告