gpt4 book ai didi

c++ - 一种省略为仅用于构造最终对象的对象命名的方法

转载 作者:行者123 更新时间:2023-11-27 23:33:12 25 4
gpt4 key购买 nike

假设我们有以下两个类:

class Temp{
public:
char a;
char b;
};
class Final{
private:
int a;
char b;
char c;
public:
Final(Temp in):b(in.a),c(in.b){}
//rest of implementation
};

假设 Temp 类的对象的唯一用途是构造 Final 类的对象,所以我想知道在当前的 c++ 标准中,我们是否可以使用宏或以某种方式告诉编译器,因为我的这个 Temp 类对象m defining 仅在一行代码中使用,即作为 Final 类构造函数的参数;自己给它起个名字,这样我就不用为 Temp 类的每个对象起一个名字了?

最佳答案

嗯,这并不是唯一使用 Temp 的地方,因为在调用构造函数时必须构造一个 Temp 对象,对吗?

至于“取名字”,可以使用嵌套类:

class Final 
{
public:
struct ConstructorParameter { char a, b; };

Final(const ConstructorParameter& in) { ... };
};

或者,当然,您可以只使用两个参数创建一个构造函数:

class Final
{
public:
Final(char a, char b) { ... };
};

关于c++ - 一种省略为仅用于构造最终对象的对象命名的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3247344/

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