gpt4 book ai didi

c++ - 如何使用结构作为条件的操作数?

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:55:04 25 4
gpt4 key购买 nike

我在 C++11 中有一个简单的结构

struct a {
int a;
int b;
int c;
....
}

我想使用这个结构,就好像它本身就是一个标量类型一样,所以我重载了所有运算符。

我找不到如何定义的一种行为是在 if 语句中使用结构:

a v = {1,2,3};
if (v) { }

是否有我可以重载的运算符来启用此行为?我想要标准行为:如果结构中的任何位为 1,则为真,否则为假。

最佳答案

添加一个明确的 bool 转换:

struct a
{
explicit operator bool() const
{
return a || b || c;
}

int a;
int b;
int c;
// ...
};

关于c++ - 如何使用结构作为条件的操作数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25443764/

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