内置==的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::vector
和std::string
,它们的比较是基于元素的逐个比较,而std::map
和std::set
的比较是基于键值对的比较。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!