gpt4 book ai didi

c++ - 将 POD 实现为自定义类类型转换

转载 作者:行者123 更新时间:2023-11-28 00:44:36 25 4
gpt4 key购买 nike

实现从自定义类到 POD 或其他类型的转换非常简单。它作为以目标类型命名的运算符在自定义类本身中实现。像这样,

operator int{ return anInt; }

反过来呢?例如,我可以将 int 重载为自定义类类型转换吗?

最佳答案

你可以,但你的做法有所不同,为你的类提供一个将基本类型作为参数的构造函数:

class X { 
public:
X(int) {}
};

void f(X const &x) { }

int main(){
f(2); // allowed -- will construct an X, then pass it to `f`.
}

请注意,这在某些情况下可能会导致意外的转换——通常认为将此类构造函数标记为 explicit 以防止在您明确强制转换时不使用它们会更好。

关于c++ - 将 POD 实现为自定义类类型转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16931028/

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