编程语言
首页 > 编程语言> > C/C++编程:C++类封装的布局成本

C/C++编程:C++类封装的布局成本

作者:互联网

C++中的类

C中的:

typedef struct point3d{
    float  x;
    float  y;
    float  z;
}Point3D;

#define Point3d_print(pd) \
    printf("%g, %g, %g", pd->x, pd->y, pd->z);

// ***

与C++中的

class Point3D{
public:
    Point3D(float x = 0.0, float y = 0.0, float z = 0.0)
    :_x(x), _y(y), _z(z){}

    float x() { return _x;}
    float y() { return _y;}
    float z() { return _z;}
    //----
private:
    float  _x;
    float  _y;
    float  _z;
};

加上封装后的布局成本

将Point3D封装成C++的类之后,布局成本增加了多少?

没有增加:

C++在布局以及存取时间上主要的额外负担是由vritual引用的。包括:

此外,还有一些多重继承下的额外负担,发生在“一个派生类和其第二会在后继的基类的转换”之间。

总之,C++不一定比C慢

标签:编程,封装,函数,float,C++,pd,return,Point3D
来源: https://blog.csdn.net/zhizhengguan/article/details/116375793