bool operator==(const type_info& rhs) const; // (1) C++03
bool operator==(const type_info& rhs) const noexcept; // (1) C++11
constexpr bool operator==(const type_info& rhs) const noexcept; // (1) C++23
概要
2つの型が同じかを判定する
戻り値
2つのtype_info
オブジェクトが同じ型に対するものであればtrue
、そうでなければfalse
を返す。
例外
投げない
備考
- この演算子により、以下の演算子が使用可能になる (C++20):
operator!=
例
#include <iostream>
#include <typeinfo>
int main()
{
const std::type_info& a = typeid(int);
const std::type_info& b = typeid(3);
std::cout << std::boolalpha;
std::cout << "same type? " << (a == b) << std::endl;
}
xxxxxxxxxx
#include <iostream>
#include <typeinfo>
int main()
{
const std::type_info& a = typeid(int);
const std::type_info& b = typeid(3);
std::cout << std::boolalpha;
std::cout << "same type? " << (a == b) << std::endl;
}
出力
same type? true
参照
- P1328R1 Making
std::type_info::operator== constexpr
- P1614R2 The Mothership has Landed
- C++20での三方比較演算子の追加と、関連する演算子の自動導出