如题,什么是内置,或者复合类型??如果是 一般的float,int,或者一个结构体的引用,是不是不初始化会出问题??

新手求解。

内置类型(built-in):像int double char这种C++基本类型

复合类型(composition):一般指包含有成员数据的自定义类型.

内置类型不用手动初始化没事,C++会对他们默认初始化,
初始值可能是0(静态对象),可能是随机数(堆,栈对象)

引用类型或const的类型,不管是不是int还是结构体或者类,都必须要显式初始化.
并且编译器不会为具有这些类型的class,struct,合成默认构造函数.

追答

一样的,复合类型是否一定要显示初始化,得看复合类型里面的成员对象,
它们是否都可以默认初始化.有一个不能默认初始化(比如有引用成员),复合类型就不可以默认初始化. 否则不一定就要显式初始化.比如你的类有个string成员,你对string默认初始化也没事.初始化包括值初始化和默认初始化.
当然是将所有成员都初始化好.因为你不这么做,编译器隐式地帮你"默认初始化"掉了.
内置类型(0或者随机数), 复合类型(调用默认构造) 这里有个递归的含义在
class B { int c ; string str} ;
class A
{int i ;    B b ;
} ;
i 是内置类型, b 是复合类型.
b能否默认初始化道理和A一样,递归进B里面.

追问

【1】也就是说 [内置类型] 成员变量在构造函数中 可以不 显式初始化。
[复合类型] 成员变量必须显式初始化。&和const也是一样。【2】是不是 定义类时最好将成员全部初始化比较好?

C++ 内置或者复合类型 成员,必须自己定义构造函数来初始化……什么样的是【内置】 【复合类型】相关推荐

  1. C++ static、const和static const类型成员变量声明及其初始化

    C++ static.const和static const类型成员变量声明及其初始化 const定义的常量在超出其作用域之后其空间会被释放,而static定义的静态常量在函数执行后不会释放其存储空间. ...

  2. C++ 学习 ::【基础篇:13】:C++ 类的基本成员函数:类类型成员的初始化与构造函数问题

    本系列 C++ 相关文章 仅为笔者学习笔记记录,用自己的理解记录学习!C++ 学习系列将分为三个阶段:基础篇.STL 篇.高阶数据结构与算法篇,相关重点内容如下: 基础篇:类与对象(涉及C++的三大特 ...

  3. c语言中void和define,C语言里面的内联函数(inline)与宏定义(#define)探讨

    C语言里面的内联函数(inline)与宏定义(#define)探讨 先简明扼要,说下关键: 1.内联函数在可读性方面与函数是相同的,而在编译时是将函数直接嵌入调用程序的主体,省去了调用/返回指令,这样 ...

  4. C++笔记之结构体内对vector初始化,一般初始化,和类内私有vector类型成员变量初始化

    C++笔记之结构体内对vector初始化,一般初始化,和类内私有vector类型成员变量初始化 文章目录 C++笔记之结构体内对vector初始化,一般初始化,和类内私有vector类型成员变量初始化 ...

  5. msdn的类型成员描述

    引用 ms-help://MS.MSDNQTR.v80.chs/MS.MSDN.v80/MS.VisualStudio.v80.chs/dv_fxintro/html/949d2d13-6359-4e ...

  6. c++对象回收string类型成员时coredump_本体技术视点 | 虚拟机中引用性动态语言对象模型思考...

    1 引言 Ontology 的 NeoVM 虚拟机新增加了 DCALL.HAS_KEY.KEYS 以及 VALUES 等几条新的指令.因此,基于 NeoVM 的引用性动态语言对象的设计理论上可行,这可 ...

  7. php的内置函数strrpos_PHP函数用法详解【初始化、嵌套、内置函数等】

    本文实例讲述了PHP函数用法.分享给大家供大家参考,具体如下: 初始函数 函数:封装一段用于完成特定功能的代码. 通俗理解函数:可以完成魔鬼工作的代码块,就像积木一样,可以反复使用,在使用的时候,拿来 ...

  8. 结构体中string类型成员

    结构体中存在string类型成员 原创 2015年12月21日 17:34:04 标签: 结构体 / string类型成员 / 构造函数 2593 #include <iostream> ...

  9. .net框架读书笔记---类型成员及其访问限定(一)

    接上一篇.net框架读书笔记---通用对象操作(三),开始学习类型以及每个类型的所有实例都具有的一组通用操作. 一.类型成员 一个类型可以定义零个或多个以下成员 常数,常数是一个表示恒定不变的数值的符 ...

最新文章

  1. JavaScript脚本文件学习总结
  2. 《Docker技术入门与实战》——2.4 本章小结
  3. 欧加自贸协定“难产” 物联网安全受关注
  4. java 软引用_Java中弱引用和软引用的区别以及虚引用和强引用介绍
  5. java学习(158):线程的常用方法yield,优先级
  6. 在Atom中运行脚本
  7. java mapreduce程序_简单的java Hadoop MapReduce程序(计算平均成绩)从打包到提交及运行...
  8. [luogu2286][HNOI2004]宠物收养场【平衡树】
  9. Kubernetes 学习2 k8s基础概念
  10. Python numpy 中 keepdims 的含义
  11. [na]思科产品选型pdf
  12. wifi卡慢延迟高_如何解决WiFi又慢又卡
  13. Linux中命令行中EOF的用法
  14. Telos 小白指南
  15. python 小数点位数_python小数位数
  16. Linux实战教学笔记53:开源虚拟化KVM(一)搭建部署与概述
  17. Heka nginx input
  18. FrameMaker 10启动时报错(Licensing for this product has expired)的解决办法
  19. 硬盘分区-从其他盘划分容量到c盘
  20. 用REM解决多屏适配

热门文章

  1. 获取mac地址方法之一 GetAdaptersInfo()
  2. 无法删除DLL文件解决方法(转)
  3. 解决cell循环利用造成的重复勾选
  4. ISE调用Notepad++并且实现错误高亮定位的方法
  5. 牛客网-剑指offer 第一题(二维数组中的查找)
  6. Apache 创建虚拟主机目录和设置默认访问页面
  7. 【网络通信与信息安全】之深入分析Token、session和cookie的使用场景和区别
  8. MapReduce不同进度的Reduce都在干什么?
  9. 数据库开发——MySQL——内置功能
  10. 2016年第七届蓝桥杯 - 省赛 - C/C++大学A组 - A. 网友年龄