中易网

C++变量定义的作用是不是分配内存空间 ?

答案:2  悬赏:70  
解决时间 2021-04-28 05:50
C++变量定义的作用是不是分配内存空间 ?
最佳答案
定义(definition)负责创建与名字关联的实体,还申请存储空间,也可能会为变量赋一个初始值。
全部回答
c语言c++语言的局部非静态变量或者局部非静态对象在函数开始执行的时候就分配好了内存空间,但是在到达对象或者变量的定义点之前,是不能对其进行引用的。对于局部非静态对象,构造函数只有到定义点才调用。这些都是实现细节,不是c++标准定义的,所以不同的编译器和系统可能有所不同的实现。在c++语言中,一个对象只有调用了构造函数之后才算真正的创建完成,所以即使内存提前分配,但是对象依然还没有完成创建。 java语言和c++语言本质上不一样:一个是解释型语言、一个是编译型语言。c++语言经过编译之后直接生成cpu可以直接处理的机器指令,而java语言需要首先编译成某个中间语言,执行的时候再由解释器一步一步解释。所以c++语言编写的程序在编译时就可以直接进行优化,比如对于函数的局部变量,因为个数确定、类型确定,所以可以直接在函数的开头生成分配容纳所有局部变量的内存空间的指令(通常是一个修改栈顶的指令),执行一个指令总比执行多个分开的指令要快得多。 你用的visual studio,在调试模式下分配给局部变量的内存会大很多,这是用于检测堆栈异常的。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
老婆生孩子时,由于厂里太忙,所以没能回去。
FIFAOL2中玩家能不能不通过拍卖市场而单独和
FM10疑难:为啥我游戏玩着玩着,储存时竟跟我
哪个频道有刷赛车的
上海日月光电子厂怎么样
谁会数控铣床编程的呢?
why not eat dinner的同义句?
大嘴巴特色爆米花在什么地方啊,我要过去处理
厂里压证或员工工资是犯法的吗
求时崎狂三的MMD模型,有的麻烦分享下。
灰色鸽子与白色鸽子有哪些不同的营养价值?
麻烦大家帮我看一下我的笔记本所剩的售后服务
110/(1+r)+121/(1+r)^2 = 200
你们最诚实、告诉我一下谁漂亮?谁可爱?我要
DNF PK不能用无色吗?
推荐资讯
求歌名 或许你已悄悄走进我的心,我们都祈祷
1能不能帮我取个带雨和微的网名
碘离子和二氧化硫会反应吗,哪个氧化性强?
怎么让我两台电脑共享?
分手后 怎么对待他 还要不要做朋友
尚家怎么去啊,有知道地址的么
别人上拍拍帮我的帐号买了10QB 我会收到一封
NBA谁最爱跳舞?谁跳的最棒呢?
环城超市地址在哪,我要去那里办事
郑州理工中等专业学校有几个校区
宾县特殊教育学校在什么地方啊,我要过去处理
DNF多少级点亮图标?
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?