bool operator==(const type_index& rhs) const noexcept; // (1) C++11
概要
等値比較を行う
戻り値
*target == *rhs.target
※target
は、type_index
のメンバ変数として保持されているtype_info
オブジェクトへのポインタ(説明用)
例外
投げない
備考
- この演算子により、以下の演算子が使用可能になる (C++20):
operator!=
例
#include <cassert>
#include <typeindex>
int main()
{
std::type_index t1 = typeid(int);
std::type_index t2 = typeid(int);
std::type_index t3 = typeid(double);
assert(t1 == t2);
assert(t1 == typeid(int));
assert(!(t1 == t3));
assert(!(t1 == typeid(double)));
}
xxxxxxxxxx
#include <cassert>
#include <typeindex>
int main()
{
std::type_index t1 = typeid(int);
std::type_index t2 = typeid(int);
std::type_index t3 = typeid(double);
assert(t1 == t2);
assert(t1 == typeid(int));
assert(!(t1 == t3));
assert(!(t1 == typeid(double)));
}
出力
バージョン
言語
- C++11
処理系
- Clang: ?
- GCC: 4.6.1 ✅
- ICC: ?
- Visual C++: 2010 ✅, 2012 ✅, 2013 ✅, 2015 ✅, 2017 ✅
参照
- P1614R2 The Mothership has Landed
- C++20での三方比較演算子の追加と、関連する演算子の自動導出