C/C++ sizeof() 详解(基本数据类型、指针、数组、字符串、函数、结构体、类、联合体) 您所在的位置:网站首页 sizeof编译时确定还是运行时确定 C/C++ sizeof() 详解(基本数据类型、指针、数组、字符串、函数、结构体、类、联合体)

C/C++ sizeof() 详解(基本数据类型、指针、数组、字符串、函数、结构体、类、联合体)

2024-01-27 16:47| 来源: 网络整理| 查看: 265

sizeof() 介绍

sizeof 是一个关键字、操作符,也是一个编译时运算符,其作用是返回一个对象或者类型所占的内存字节数。

sizeof 运算符可用于获取类、结构、共用体和其他用户自定义数据类型的大小。

详解C++ sizeof c++中sizeof()的用法介绍

sizeof() 的使用方法 (1)sizeof(object); //sizeof(对象); (2)sizeof(type_name); //sizeof(类型); (3)sizeof object; //sizeof对象;【不常用】 1. sizeof 计算基本数据类型和表达式

sizeof计算对象的大小实际上是转换成对象类型进行计算,也就是说,同种类型的不同对象其sizeof值都是一致的。

这里,对象可以进一步延伸至表达式,即sizeof可以对一个表达式求值,编译器根据表达式的最终结果类型来确定大小,sizeof是编译时进行运算,与运行时无关,不会对表达式进行计算。

#include #include using namespace std; int main() { cout // a以指针传递 cout 1, 2, 3}; cout return 1; } double doufun(int a, double b){ return a + b; } void voidfun(){ } int main(){ // cout char a; // 1 + pad(3) char* a1; // 4 int c; // 4 }; // 12 struct st1{ char a; // 1 + pad(7) double b; // 8 int c; // 4 char d; // 1 + pad(3) }; // 24 struct st2{ char a; // 1 char a1; // 1 + pad(2) int c; // 4 st1 st; // 24 char d; // 1 + pad(7) }; // 40 // 获取成员在结构体的地址偏移量 cout char a; // 1 + pad(7) double b; // 8 int c; // 4 char d; // 1 + pad(3) }; // 24 class c2{ char a; // 1 char a1; // 1 + pad(2) int c; // 4 c1 cla; // 24 char d; // 1 + pad(7) }; // 40 struct c3 { static int i; // 静态成员 int fun(); // 成员函数 int d; // 4 char ch; // 1 + pad(3) virtual int vir1(); // 8 (64bit) }; // 16

计算以下几个类的大小

class A {}; int main(){ cout} }; int main(){ cout cout cout cout


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有