Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/126.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 用两个参数重载运算符bool意味着什么?_C++_Casting_Overloading_Operator Keyword - Fatal编程技术网

C++ 用两个参数重载运算符bool意味着什么?

C++ 用两个参数重载运算符bool意味着什么?,c++,casting,overloading,operator-keyword,C++,Casting,Overloading,Operator Keyword,在作业中,我被告知为某个类实现bool操作符()(const T&,const T&)。重载bool运算符意味着允许将对象隐式转换为bool。用两个参数重载它意味着什么?这些参数是如何在调用端传递的?这是如何使用的?这不是“运算符bool”,而是带有两个T参数的operator(),返回一个bool。换句话说,它是一个二元谓词。您可以这样使用它: struct Foo { bool operator()(const T&, const T&); // should proba

在作业中,我被告知为某个类实现
bool操作符()(const T&,const T&)
。重载
bool运算符
意味着允许将对象隐式转换为
bool
。用两个参数重载它意味着什么?这些参数是如何在调用端传递的?这是如何使用的?

这不是“运算符bool”,而是带有两个
T
参数的
operator()
,返回一个
bool
。换句话说,它是一个二元谓词。您可以这样使用它:

struct Foo
{
  bool operator()(const T&, const T&); // should probably be const
};

... 
Foo f;
T t1, t2;
bool b = f(t1, t2);
这不是“运算符bool”,而是带有两个
T
参数的
operator()
,返回一个
bool
。换句话说,它是一个二元谓词。您可以这样使用它:

struct Foo
{
  bool operator()(const T&, const T&); // should probably be const
};

... 
Foo f;
T t1, t2;
bool b = f(t1, t2);

运算符bool
运算符()
与返回类型bool混淆。赋值是关于后者的。

您将
运算符bool
运算符()
与返回类型bool混淆。作业是关于后者的。

噢。。所以它只是重载
()
操作符。。。谢谢:)哦。。所以它只是重载
()
操作符。。。谢谢:)你到底要做什么<代码>运算符bool或
运算符()
?在问题的标题/文本中,您谈到了
操作员bool
,但您发布的声明是针对
操作员()
。那么,它应该是什么?作业中到底写了什么?你到底要做什么<代码>运算符bool或
运算符()
?在问题的标题/文本中,您谈到了
操作员bool
,但您发布的声明是针对
操作员()
。那么,它应该是什么?作业里到底写了什么?