结构体的比较

 

1. 重写 == 操作符
  
复制代码
#include<iostream>
using namespace std;

struct A{
    char ch;
    int val;
    friend bool operator==(const A &ob1, const A &ob2);
    bool operator==(const A &rhs);
};

bool operator==(const A &ob1, const A &ob2){
    return (ob1.ch == ob2.ch && ob1.val == ob2.val);
}
bool A::operator==(const A &rhs){
    return (ch == rhs.ch && val == rhs.val);
}

int main(){
    struct A s3,s4;
    A  s, s1;
    A s2;
    s1.ch = 1;
    s1.val = 2;
    s2.ch = 1;
    s2.val = 2;
    if (s1 == s2){
        cout << "s1 is equal with s2" << endl;
    }
    else{
        cout << "s1 is not equal with s2" << endl;
    }
    return 0;
}
复制代码

 

2. 对结构体的变量进行一一比较
3. 对结构体指针进行比较,如果保存的是同一实例,两个结构体的指针保存的地址是一样的
 
posted @   王清河  阅读(856)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
历史上的今天:
2018-04-10 1015. Reversible Primes (20)
点击右上角即可分享
微信分享提示