内置==的c++类型容器
C++标准库中,许多基本类型和容器类型都支持“==”运算符的比较。以下是一些常见的类型:
基本类型
boolcharsigned charunsigned charchar16_tchar32_twchar_tshortunsigned shortintunsigned intlongunsigned longlong longunsigned long longfloatdoublelong double
容器类型
std::vectorstd::dequestd::liststd::forward_liststd::arraystd::mapstd::multimapstd::setstd::multisetstd::unordered_mapstd::unordered_multimapstd::unordered_setstd::unordered_multisetstd::stringstd::wstringstd::u16stringstd::u32string
其他类型
std::bitsetstd::optionalstd::variantstd::anystd::tuplestd::pairstd::arraystd::functionstd::shared_ptrstd::unique_ptrstd::weak_ptr
对于这些类型,你可以直接使用“==”运算符来比较两个对象是否相等。例如:
std::vector<int> vec1 = {1, 2, 3};
std::vector<int> vec2 = {1, 2, 3};
bool result = (vec1 == vec2); // 结果为true,因为vec1和vec2相等
std::string str1 = "Hello";
std::string str2 = "Hello";
bool result2 = (str1 == str2); // 结果为true,因为str1和str2相等
std::map<int, std::string> map1 = {{1, "one"}, {2, "two"}};
std::map<int, std::string> map2 = {{1, "one"}, {2, "two"}};
bool result3 = (map1 == map2); // 结果为true,因为map1和map2相等
请注意,对于自定义类型,你需要提供“==”运算符的重载,以便能够比较对象是否相等。此外,对于一些容器类型,如std::vector和std::string,它们的比较是基于元素的逐个比较,而std::map和std::set的比较是基于键值对的比较。

浙公网安备 33010602011771号