微網(wǎng)站的搭建流程泰安優(yōu)化關鍵詞排名哪家合適
簡介: CSDN博客專家,專注Android/Linux系統(tǒng),分享多mic語音方案、音視頻、編解碼等技術,與大家一起成長!
優(yōu)質專欄:Audio工程師進階系列【原創(chuàng)干貨持續(xù)更新中……】🚀
人生格言: 人生從來沒有捷徑,只有行動才是治療恐懼和懶惰的唯一良藥.
1.前言
本篇目的:理解C++之operator=與operator==用法區(qū)別。
<1>.在C++中,“operator==” 和 “operator=” 是兩個不同的操作符的重載形式。
-
operator==
:用于比較兩個對象是否相等的操作符。
它通常在自定義的類中進行重載,以便比較對象的成員變量是否相等。需要注意的是,默認情況下,它執(zhí)行的是淺層比較,即僅比較對象的指針值。如果你想要深層比較,需要重載該操作符來比較對象的每個成員變量。 -
operator=:``賦值操作符,用于將一個對象的值賦給另一個對象。
它通常在自定義的類中進行重載,以便在對象之間進行賦值操作時執(zhí)行自定義的賦值邏輯。通過重載賦值操作符,可以確保在對象賦值時進行深層復制,而不僅僅是簡單的指針復制。
2.應用實例
<1>.operator==操作符重載實現(xiàn)
class Item {
public:int value;bool operator==(const Item& other) const {return value == other.value; // 使用成員變量進行比較}
};int main() {Item item1;item1.value = 10;Item item2;item2.value = 10;if(item1 == item2) {std::cout << "Items are equal" << std::endl;} else {std::cout << "Items are not equal" << std::endl;}return 0;
}
<2>.operator=操作符重載實現(xiàn)
class Prop {
public:int value;Prop& operator=(const Prop& other) {if (this != &other) {value = other.value; // 復制成員變量的值}return *this;}
};int main() {Prop prop1;prop1.value = 10;Prop prop2;prop2.value = 20;prop2 = prop1; // 調用operator=函數(shù),將prop1的值賦給prop2std::cout << "prop2.value: " << prop2.value << std::endl; // 輸出:10return 0;
}