内置==的c++类型容器

C++标准库中,许多基本类型和容器类型都支持“==”运算符的比较。以下是一些常见的类型:

基本类型

  • bool
  • char
  • signed char
  • unsigned char
  • char16_t
  • char32_t
  • wchar_t
  • short
  • unsigned short
  • int
  • unsigned int
  • long
  • unsigned long
  • long long
  • unsigned long long
  • float
  • double
  • long double

容器类型

  • std::vector
  • std::deque
  • std::list
  • std::forward_list
  • std::array
  • std::map
  • std::multimap
  • std::set
  • std::multiset
  • std::unordered_map
  • std::unordered_multimap
  • std::unordered_set
  • std::unordered_multiset
  • std::string
  • std::wstring
  • std::u16string
  • std::u32string

其他类型

  • std::bitset
  • std::optional
  • std::variant
  • std::any
  • std::tuple
  • std::pair
  • std::array
  • std::function
  • std::shared_ptr
  • std::unique_ptr
  • std::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::vectorstd::string,它们的比较是基于元素的逐个比较,而std::mapstd::set的比较是基于键值对的比较。

posted @   walkallday  阅读(7)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
点击右上角即可分享
微信分享提示