gpt4 book ai didi

c++ - c++ 中有标准的 'int class' 吗?

转载 作者:可可西里 更新时间:2023-11-01 16:54:18 26 4
gpt4 key购买 nike

C++ 是否有(至少或多或少)标准的 int 类?

如果不是这样,是否计划用于 C++13?如果不是,是否有任何特殊原因?

我猜 OOP 设计会从中受益,例如,在返回 int 的自定义类中有一个赋值运算符会很好:

int i=myclass;

不是

int i=myclass.getInt();

好的,有很多它可能有用的示例,为什么它不存在(如果不存在)?

它用于航位推算和其他滞后补偿方案,并将这些值视为“正常”变量会很好,希望无论如何!

最佳答案

it would be nice to have an assignment operator in a custom class that returns an int

您可以使用转换运算符来做到这一点:

class myclass {
int i;
public:
myclass() : i(42) {}

// Allows implicit conversion to "int".
operator int() {return i;}
};

myclass m;
int i = m;

您通常应该避免这种情况,因为额外的隐式转换会引入歧义,或者隐藏类型系统会捕获的类别错误。在 C++11 中,您可以通过声明运算符 explicit 来防止隐式转换;然后该类可用于初始化目标类型,但不会被隐式转换:

int i(m);    // OK, explicit conversion
i = m; // Error, implicit conversion

关于c++ - c++ 中有标准的 'int class' 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9587243/

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