public member function
<functional>

std::function::operator bool

explicit operator bool() const noexcept;
检查是否可调用
返回对象是否可调用。

如果 function 对象是可调用的(即,其 target 是一个 *可调用对象*),则为真。

参数



返回值

如果对象可调用,则为 true
否则(对象是 *空函数*)为 false

示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
// function::operator bool example
#include <iostream>     // std::cout
#include <functional>   // std::function, std::plus

int main () {
  std::function<int(int,int)> foo,bar;
  foo = std::plus<int>();

  foo.swap(bar);

  std::cout << "foo is " << (foo ? "callable" : "not callable") << ".\n";
  std::cout << "bar is " << (bar ? "callable" : "not callable") << ".\n";

  return 0;
}

输出
foo is not callable.
bar is callable.


数据竞争

该对象被访问。

异常安全

无异常保证:此成员函数从不抛出异常。

另见