gpt4 book ai didi

c++ - 是否可以重载 *static_cast* 运算符?

转载 作者:可可西里 更新时间:2023-11-01 18:41:57 24 4
gpt4 key购买 nike

我已经定义了一个类A,实际的属性是无关紧要的。是否可以定义 static_cast<class T>(int) 的特化运算符从整数转换为 A 类?

到目前为止,我一直通过定义一个convert 函数来做到这一点,例如A convert(int) .但我宁愿使用 static_cast为了与其他转换保持一致。

这可能吗?
我还想避免隐式转换,这就是我不通过 A 的构造函数执行此操作的原因。

最佳答案

static_cast 是一个关键字,因此您无法在那里重载或覆盖任何内容。如果您想提供控制整数如何转换为 A 类 实例的代码,请编写 A::A(int) 形式的适当构造函数。

更新:如果你想避免隐式转换,你可以使这个构造函数explicit .不知何故,我没有完全阅读问题的最后一句话,抱歉。

关于c++ - 是否可以重载 *static_cast* 运算符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8432651/

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