01. C++结构体的初始化问题
2016-07-18 14:37
169 查看
1. 无法使用类内初始值
C++11新标准中规定可以为数据成员提供类内初始值,但是我在VS2010中无法实现,如下图:
![](https://img-blog.csdn.net/20160718143443934?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
对于结构体的初始化可以如下实现,给结构体写一个构造函数:
![](https://img-blog.csdn.net/20160718143515654?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
2. 要注意对string类型对象的初始化,不能使用NULL,要使用“”。
使用NULL虽然编译会通过,但是运行时程序会崩溃。有人总结如下:
C++11新标准中规定可以为数据成员提供类内初始值,但是我在VS2010中无法实现,如下图:
对于结构体的初始化可以如下实现,给结构体写一个构造函数:
2. 要注意对string类型对象的初始化,不能使用NULL,要使用“”。
使用NULL虽然编译会通过,但是运行时程序会崩溃。有人总结如下:
相关文章推荐
- 【C语言入门教程】2.2 常量 与 变量
- 【C语言入门教程】2.1 数据类型(5种基本数据类型),聚合类型与修饰符
- 【C语言入门教程】1.3 C语言“32个”关键字
- 【C语言入门教程】1.2 函数库 和 链接
- UVA 1588-Kickdown
- 【C语言入门教程】1.1 基本程序结构
- 【C语言入门教程】目录/大纲
- UVA 232-Crossword Answers
- UVA 10340-ALL in ALL
- UVA 1368-DNA Consensus String
- UVA 1587-Box
- UVA 455-Periodic Strings
- android 5.1 C语言 杀应用的PID
- UVA 1225-Digit Counting
- opencv 读取图片(C/C++/python)
- leetcode_c++:链表:Sort List(148)
- C++ 将进程运行在指定的CPU上
- leetcode_c++:链表:Insertion Sort List(147)
- c++面试题经典
- leetcode_c++:链表:Reorder List(143)