当前位置: 首页 > 科技观察

为什么空类的大小是一个

时间:2023-03-13 20:32:34 科技观察

我们可能都知道C++中空类的大小是一个。#includeclassEmptyA{};intmain(){std::cout<<"sizeofEmptyA"<classEmptyA{};classA{inta;};classB:publicEmptyA{intb;};classD:publicA{intd;};classC{intc;EmptyAd;};intmain(){std::cout<<"sizeofEmptyA"<structintegral_constant{staticconstexpr_Tpvalue=__v;typedef_Tpvalue_type;typedefintegral_constant<_Tp,__v>type;};typedefintegral_constanttrue_type;typedefintegral_constantfalse_type;模板<>struct__is_floating_true_type>{float_type>:public};template<>struct__is_floating_point_helper:publictrue_type{};STL中各种空类的继承,如果继承空类会为子类产生额外的size,可以吗?我们平时可能不会用到EBO技术,但是还是建议了解一下,不可能说哪天可以跟面试官假装一波。今天就这样吧。