- functional[meta header]
- std[meta namespace]
- function template[meta id-type]
- cpp11[meta cpp]
namespace std {
template <class R, class... ArgTypes>
bool operator!=(const function<R(ArgTypes...)>& f, nullptr_t) noexcept;
template <class R, class... ArgTypes>
bool operator!=(nullptr_t, const function<R(ArgTypes...)>& f) noexcept;
}- nullptr_t[link /reference/cstddef/nullptr_t.md]
非等値比較する。
static_cast<bool>(f)
#include <iostream>
#include <functional>
int ident(int x) { return x; }
int main()
{
std::function<int(int)> f = ident;
if (f != nullptr) {
std::cout << "not empty" << std::endl;
}
f = nullptr;
if (f != nullptr) {}
else {
std::cout << "empty" << std::endl;
}
}not empty
empty
- C++11
- Clang, C++11 mode: 3.0
- GCC, C++11 mode: 4.6.4
- Visual C++: ??