C++之变量的初始化
来源:互联网 发布:淘宝可以寄到台湾吗 编辑:程序博客网 时间:2024/06/07 23:12
C++学习笔记,其实是C++ Primer这本书的读书笔记,主要是记录在C++学习中容易犯错的地方,以及与C语言之中不太一样的地方。C++语言继承于C语言,但和C语言又有很大的不同,因此学习过程中,需要特别注意。
C++支持两种初始化变量的形式:复制初始化和直接初始化。复制初始化语法用等号(=),直接初始化则是把初始化式放在括号中:
init ival(1024); //直接初始化
init ival = 1024; //复制初始化
1. 内置类型的初始化
内置类型变量是否自动初始化取决于变量定义的位置。在函数体外定义的变量都初始化成0,在函数体内定义的内置类型变量不进行自动初始化。
2. 类类型变量的初始化
类通过定义一个或多个构造函数来控制类对象的初始化。定义如何进行初始化的成员函数称为构造函数。以string类为例,string类型在标准库中定义,用于存储不同长度的字符串。使用string时必须包含string头文件。和IO类型一样,string定义在std命名空间中。
string类定义了几个构造函数,使得我们可以用不同的方式初始化string对象。其中一种方式初始化string对象的方式是作为字符串字面值的副本:
#include<string>
std::string titleA = "C++ Primer, 4th Ed.";
std::string titleB("C++ Primer, 4th Ed.");
两种定义都创建了一个string对象,其初始值都是指定的字符串字面值的副本。
也可以通过一个计数器和一个字符初始化string对象。这样创建的对象包含重复多次的指定字符,重复次数由计数器指定:
std::string all_nines(10, '9');
如果定义某个类的变量时没有提供初始化式,这个类也可以定义初始化时的操作。它是通过定义一个特殊的构造函数即默认构造函数来实现的。如果变量定义没有提供初始化式,那么就会使用默认构造函数。例如string类定义了默认构造函数来初始化string变量为空字符串,即没有字符的字符串:
std::string empty;
有些类类型没有默认构造函数。对于这些类型来说,每个定义都必须提供显示的初始化式。
0 0
- C语言之变量初始化
- c++之超越c的语法03-变量初始化
- C语言变量的初始化
- C语言变量的初始化
- C/C++ 变量的初始化
- 【C++】变量(三) 变量的初始化
- C++之变量的初始化
- C/C++变量的初始化
- C语言中变量的初始化问题
- C程序中,变量的初始化问题
- C语言中指针变量的初始化
- C语言结构变量的初始化
- 【C语言基础】数组变量的初始化
- 【C++】结构体变量的初始化
- C与C++变量的初始化
- C语言 - 变量初始化的重要性
- C语言静态变量的初始化
- C++:只用初始化列表初始化变量的几种情况
- 关于ZooKeeper的角色说明
- Web开发从前端、后端、编程语言、到框架的初学指南
- JS正则表达式
- redis windows下的环境搭建
- Java实现定时任务的三种方法
- C++之变量的初始化
- eclipse下用link方式安装maven 插件失败
- C++程序设计语言练习5.3 typedef的使用
- HDU 5372 (树状数组 离散化)
- iOS framework/静态库 nm 调试
- toolbar
- Oracle EBS 供应商银行创建
- setcookie各个参数详解
- kafka入门(一)