小编Sal*_*Sal的帖子

C++中的引用变量

假设我有以下代码片段GPoint,它具有复制构造函数,赋值运算符和析构函数.相同的for GCircle和this有一个名为的函数GetCentre(),它返回Gpointobject(Centre)的副本.

mainButtonClick(),如下是安全/有效的呼叫GPoint &Centre = circle.GetCentre()?通过这样做(如果有效),我们将节省调用赋值运算符的时间!

class GPoint
{
public:

    GPoint();
    virtual ~GPoint();
    GPoint(double p_dX, double p_dY);
    GPoint (const GPoint &Source);
    GPoint& operator = (const GPoint &point);

public:
    double c_y;
    double c_x;


};

class GCircle//:public GShape
{

public:
    GCircle();
    GCircle(GPoint p_point, double p_dRadius);
    ~GCircle(){}


    operator GPoint&();
    operator double&();

    double& GetRadius() const ;
    GPoint  GetCentre() const {return c_Centre;}  //Return copy Not a reference 

public:
    double  c_dRadius; …
Run Code Online (Sandbox Code Playgroud)

c++ variables optimization reference

6
推荐指数
2
解决办法
318
查看次数

标签 统计

c++ ×1

optimization ×1

reference ×1

variables ×1