c++ - 将自定义整数包装器转换为 boolean 值

标签 c++ boolean type-conversion wrapper

假设我有一个围绕原始 C++ 类型的自定义包装器:

class myInt
{
    public:
        /*stuff here*/
    private:
        unsigned int data;
}

我该怎么做

myInt mi;  
if(mi){...}  

以您期望的普通整数的方式表现?
我能想到的就是写一个显式的 boolean 类型转换,或者重写 operator==。
像这样的东西:

if(bool(mi)){...}
if(mi.toBool()){...}
if(mi==true){..}

所有这些确实有用,但看起来很丑陋和做作。
我还缺少其他选项吗?

最佳答案

最好的选择是完全放弃包装器。

关于c++ - 将自定义整数包装器转换为 boolean 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20893518/

相关文章:

c++ - 如何将初始化列表与基类一起使用?

java - 如何在 java 中将整数值转换为 'n' 数字 ascii 字节数组

c++ - 为什么 reinterpret_cast 不能将 int 转换为 int?

c++ - g++ 4.9 sanitizer 错误,在 linux 上使用 cin 解析 bool 值(ubuntu 12.04 64 位)

c++ - 如何检查点是否属于 ConvexShape?

c++ - 带/不带虚拟的纯虚拟方法的实现?

python - 检查列表中至少有一个关键字实例

python - 从字符串中获取常用字符

Python:在文件中寻找相同的词?

sql - 无法在 presto 中将 '' 转换为 bigint