社区
C++ 语言
帖子详情
初始化问题
ArdourCareful
2012-01-13 03:17:10
int a = 10;与int a;a=10这两者有没有区别,是不是定义一个变量后,第一次对该变量赋值就叫初始化(不管是不是一句语句还是多条语句).还有初始化与赋值的区别是什么.
...全文
162
13
打赏
收藏
初始化问题
int a = 10;与int a;a=10这两者有没有区别,是不是定义一个变量后,第一次对该变量赋值就叫初始化(不管是不是一句语句还是多条语句).还有初始化与赋值的区别是什么.
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
13 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
qscool1987
2012-01-14
打赏
举报
回复
搞不懂这种问题有什么好讨论的,汇编下是没有区别的
只要记住局部内置类型使用前记得初始化就可以了
飞天御剑流
2012-01-14
打赏
举报
回复
[Quote=引用 1 楼 bdmh 的回复:]
int a 没有初始化,a的值是随机的
[/Quote]
看见你回答问题差不多一年了,但就是大多数回答是错误的.....
iamnobody
2012-01-14
打赏
举报
回复
第一种效率大于或等于第二种。前者叫初始化,后者是赋值。
薛定谔之死猫
2012-01-14
打赏
举报
回复
木有分别,编译器优化后是一样滴
初始化是相对读取该变量的值说的,读之前设置的值称初始化,一般都说的第一次
weigesl
2012-01-14
打赏
举报
回复
如果int a;是全局变量,默认为0吧。
飞天絮雪
2012-01-14
打赏
举报
回复
[Quote=引用 8 楼 mingliang1212 的回复:]
第一种效率大于或等于第二种。前者叫初始化,后者是赋值。
[/Quote]
对于内建数据类型(int,float,char,double...)来说这两者没什么区别,对于像数组,struct,union,enum,class类型来说,第一种效率大于或等于第二种。省去了构造和析构的过程。
具体可以看下深拷贝与浅拷贝,拷贝构造函数和赋值函数的区别。
参考我的博客:http://blog.csdn.net/feitianxuxue/article/details/7194905
如有问题请多多指教,咱们一起成长。
AnYidan
2012-01-14
打赏
举报
回复
[Quote=引用 8 楼 mingliang1212 的回复:]
第一种效率大于或等于第二种。前者叫初始化,后者是赋值。
[/Quote]
++
平凡的思想者
2012-01-14
打赏
举报
回复
就是这样。
[Quote=引用 8 楼 mingliang1212 的回复:]
第一种效率大于或等于第二种。前者叫初始化,后者是赋值。
[/Quote]
Jadenmai
2012-01-13
打赏
举报
回复
int a = 10;stack中分配内存时,直接把上面的内容修改为10
int a; a = 10; stack分配一个整型的大小之后【内容随机】。再通过赋值语句a=10修改里面的内容。
如果不是整型而是自定义的类类型。那么这种差异是可观的。比如
class MyClass {
public:
MyClass(int ival = 0): value(ival){}
private:
int value;
};
MyClass a = 10;和MyClass a; a = 10;毕竟前者只是调用了一个构造函数,变量为10就可以构造出a。而后者先调用了一个构造函数(默认)。之后再调用赋值运算符操作对a进行赋值。而对=号右边又必须要进行一个隐式转换出一个MyClass的临时变量。这种情况下,速度和效率也有很大的差别。你懂得。
IVERS0N
2012-01-13
打赏
举报
回复
汇编级没区别
ArdourCareful
2012-01-13
打赏
举报
回复
[Quote=引用 1 楼 bdmh 的回复:]
int a 没有初始化,a的值是随机的
[/Quote]
a = 10不是对a的初始化吗?
peng_weida
2012-01-13
打赏
举报
回复
一条语句
两条语句
没有初始化的值是未知的
bdmh
2012-01-13
打赏
举报
回复
int a 没有初始化,a的值是随机的
javax.servlet jar包---解决找不到javax.servlet.*等
问题
javax.servlet的jar包,解决找不到javax.servlet.*等
问题
的!欢迎下载!!
深入分析Linux内核源码.chm
第一章 走进linux 1.1 GNU与Linux的成长 1.2 Linux的开发模式和运作机制 1.3走进Linux内核 1.4 分析Linux内核的意义 1.5 Linux内核结构 1.6 Linux内核源代码 1.7 Linux内核源代码分析工具 第二章 Linux运行的硬件基础 2.1 i386的寄存器 2.2 内存地址 2.3 段机制和描述符 2.4 分页机制 2.5 Linux中的分页机制 2.6 Linux中的汇编语言 第三章中断机制 3.1 中断基本知识 3.2中断描述符表的
初始化
3.3异常处理 3.4 中断处理 3.5中断的后半部分处理机制 第四章 进程描述 4.1 进程和程序(Process and Program) 4.2 Linux中的进程概述 4.3 task_struct结构描述 4.4 task_struct结构在内存中的存放 4.5 进程组织的方式 4.6 内核线程 4.7 进程的权能 4.8 内核同步 第五章进程调度 5.1 Linux时间系统 5.2 时钟中断 5.3 Linux的调度程序-Schedule( ) 5.4 进程切换 第六章 Linux内存管理 6.1 Linux的内存管理概述 6.2 Linux内存管理的
初始化
6.3 内存的分配和回收 6.4 地址映射机制 6.5 请页机制 6.6 交换机制 6.7 缓存和刷新机制 6.8 进程的创建和执行 第七章 进程间通信 7.1 管道 7.2 信号(signal) 7.3 System V 的IPC机制 第八章 虚拟文件系统 8.1 概述 8.2 VFS中的数据结构 8.3 高速缓存 8.4 文件系统的注册、安装与拆卸 8.5 限额机制 8.6 具体文件系统举例 8.7 文件系统的系统调用 8 .8 Linux2.4文件系统的移植
问题
第九章 Ext2文件系统 9.1 基本概念 9.2 Ext2的磁盘布局和数据结构 9.3 文件的访问权限和安全 9.4 链接文件 9.5 分配策略 第十章 模块机制 10.1 概述 10.2 实现机制 10.3 模块的装入和卸载 10.4 内核版本 10.5 编写内核模块 第十一章 设备驱动程序 11.1 概述 11.2 设备驱动基础 11.3 块设备驱动程序 11.4 字符设备驱动程序 第十二章 网络 12.1 概述 12.2 网络协议 12.3 套接字(socket) 12.4 套接字缓冲区(sk_buff) 12.5 网络设备接口 第十三章 启动系统 13.1
初始化
流程 13.2
初始化
的任务 13.3 Linux 的Boot Loarder 13.4 进入操作系统 13.5 main.c中的
初始化
13.6 建立init进程 附录: 1 Linux 2.4内核API 2.1 驱动程序的基本函数 2.2 双向循环链表的操作 2.3 基本C库函数 2.4 Linux内存管理中Slab缓冲区 2.5 Linux中的VFS 2.6 Linux的连网 2.7 网络设备支持 2.8 模块支持 2.9 硬件接口 2.10 块设备 2.11 USB 设备
MPALL v3.08 群联PS2250量产工具
有教程,自己量产过http://hi.baidu.com/yongren11/blog/item/43405b1b8409fbf4af5133b9.html
C/C++ 指针的13份资料
C/C++ 指针的13份资料 内容丰富,让编程人员不再害怕指针
Thinking_in_java中文第4版(Word完全版)
推荐学习java必看书目,想学习java的下载看看
C++ 语言
65,187
社区成员
250,526
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章