第三篇:C++ 中的几种初始化
2024-10-09 20:50:17
前言
阅读C++教材时,想必你听过复制初始化,直接初始化,值初始化这三个概念吧。笔者本人常将其混淆,遂在此记录下它们的具体含义以便日后查阅。
复制初始化( copy-initialization )
复制初始化使用 = 对变量进行初始化。
直接初始化( direct-initialization )
直接初始化用把初始化式子放到括号中的方式对变量进行初始化。
值初始化( value-initialization )
值初始化和上面两种初始C++中的几种初始化化是不同的概念。上两种初始化说明的是“ 用什么样的语法格式来初始化变量 ",而值初始化不但要说明“ 用什么样的语法格式来初始化变量 "( C++中用new开辟的空间通过在要初始化的空间的类型名后跟()来启用值初始化,而库类型则自动对未初始化的变量启用值初始化 ),而且还要说明是" 用什么值来初始化变量 "。
1. 当变量为内置类型,值初始化用0来对其初始化。
2. 当变量为类类型,值初始化用该类的默认构造函数初始化。
3. 当变量为类类型且没有默认构造函数时,值初始化要求程序员提供初始化值。
说明
值初始化通常用在初始化一段连续的内存区( 如vector容器,new一段空间 )。
最新文章
- IT持续集成之质量管理
- oracle--游标--bai
- cookie怎么用
- 【java基础】方法2
- nodeJS创建工程
- 不错的nginx文章,找个时间好好看下。
- php设计模式之单例、多例设计模式
- Chapter12:动态内存
- HW4.6
- Android- Activity not found
- Linux Shell : Test命令参数解析
- 【Spark2.0源码学习】-3.Endpoint模型介绍
- 关于Java中static关键字的用法以及从内存角度解析
- Loadrunner录制https脚本
- LeetCode算法扫题系列83
- Docker集群管理Swarm数据持久化
- 安装VS的过程
- 数据库连接池中是将connection放进threadlocal里的
- Linux下编译、使用静态库和动态库 自己测过的
- 在C#中执行带有GO的批量sql语句
热门文章
- ubuntu下apache和mysql的命令
- window.onunload | window.onbeforeunload
- MySQL查看和修改wait_timeout
- Python zfill() 方法
- ItelliJ基于Gradle创建及发布Web项目(三)
- spring in action小结2
- LPC(Low Pin Count) 与SIO(Super IO)
- FPGA设计经验谈 —— 10年FPGA开发经验的工程师肺腑之言
- [svc]nginx优化25条
- 高性能网络 | 你所不知道的TIME_WAIT和CLOSE_WAIT