1. struct和class

  • 默认继承权限不同,class继承默认是private继承,而struct默认是public继承
  • 模板参数, class还可用于定义模板参数,像typename,但是关键字struct不能用于定义模板参数

2. C++保留struct关键字,主要有如下原因

  • 兼容C语言:保证与C语言的向下兼容性,C++必须提供一个struct
  • C++中的struct定义必须百分百地保证与C语言中的struct的向下兼容性,把C++中的最基本的对象单元规定为class而不是struct,就是为了避免各种兼容性要求的限制
  • 便于移植C语言,对struct定义的扩展使C语言的代码能够更容易的被移植到C++中
Copyright © ershouche-FE 2019 all right reserved,powered by Gitbook文件修订时间: 2022-02-28 16:16:28

results matching ""

    No results matching ""