• 功能:以字节位单位,返回一个表达式或一个数据类型所占的字节数
  • 返回值类型:是size_t类型
  • sizeof有无括号:
    • sizeof不加括号,后面不可以直接跟数据类型
    • sizeof加括号,后面既可以跟表达式也可以跟数据类型
  • 注意事项
    • 对引用类型执行sizeof运算得到被引用对象所占空间的大小
    • 对指针执行sizeof运算得到指针本身所占空间大小
    • 对解引用指针执行sizeof运算得到指针指向指向的对象所占空间的大小,指针不需有效
    • 对数组执行sizeof运算得到整个数组所占空间的大小,等价于对数组中所有的元素各执行一次sizeof运算并将结果求和。注意,sizeof运算不会把数组转换指针来处理
    • 对string对象或vector对象执行sizeof运算只返回该类型固定部分的大小,不会计算对象中的元素占用了多少空间

演示案例:

C++:19---sizeof运算符_引用类型

C++:19---sizeof运算符_引用类型_02

  • names为指针,所以返回4
  • name为字符数组,返回数组大小(还有一个\0)