Skip to content

Latest commit

 

History

History
70 lines (52 loc) · 1.36 KB

op_not_equal.md

File metadata and controls

70 lines (52 loc) · 1.36 KB

operator!=

  • functional[meta header]
  • std[meta namespace]
  • function template[meta id-type]
  • cpp11[meta cpp]
namespace std {
  // operator==により、以下のオーバーロードが使用可能になる (C++20)
  template <class R, class... ArgTypes>
  bool operator!=(const function<R(ArgTypes...)>& f, nullptr_t) noexcept; // (1) C++11

  template <class R, class... ArgTypes>
  bool operator!=(nullptr_t, const function<R(ArgTypes...)>& f) noexcept; // (2) C++11
}
  • 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

処理系

参照