gpt4 book ai didi

c++ - 如何调用类函数类(构造函数完成所有工作的类)

转载 作者:行者123 更新时间:2023-11-30 04:20:27 28 4
gpt4 key购买 nike

I'm asking this just to know - not necessarily my code will end up using this strategy.

假设我有一个类似这样的类:

class Calc
{
public:
Calc( int &X, int &Y, CalcType aType )
{
int h = Helper( X );
// All the hard work will be done here.
}

int Helper( int I ) { // Do something }

enum CalcType
{
Add,
Sub,
Mul,
Div
};
};

优化会移除这个调用吗:

Calc( X, Y, Calc::Add );

它会删除这个吗:

Calc iCalc( X, Y, Calc::Add ); // iCalc will be unused hence after.

有什么理由不做这样的事情(在构造函数中完成的工作)?

最佳答案

答案是否定的,仅仅因为不使用对象并不意味着实例化将被优化。

如果构造函数为空并且对象从未使用过或仅作为临时对象创建,则智能编译器可能会将其优化掉。在您的情况下,因为“//所有的艰苦工作都将在这里完成。”情况并非如此。

关于c++ - 如何调用类函数类(构造函数完成所有工作的类),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15285033/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com