在C 中,是否有一種好的方法用於過載 ?

時間 2021-05-30 01:56:08

1樓:

你是不是看了什麼亂七八糟的書了?

我推薦給很多人《C++ Primer》,居然有不止乙個人買了《C++ Primer Plus》。

如何高效學習並掌握現代C++? - 陳碩的回答 - 知乎如何高效學習並掌握現代C++?

有一定c語言和c++基礎,是看c++primer plus 好還是看c++primer好? - vczh的回答 - 知乎

有一定c語言和c++基礎,是看c++primer plus 好還是看c++primer好?

2樓:豆爺

沒有太麻煩,這個基本不涉及新特性,如果你所有需要比較的成員變數都是基本型別,不含有指標(字串算指標)那你可以把他們集中寫在乙個內建結構體裡。然後直接memcmp就可以了,這種結構體有個特殊的名字,我一下想不起來了。原來廣泛的用於c底層資料通訊的,在json,xml和gpb這種序列化結構資料出現前用來傳遞結構化資料。

你這裡還有個注意點,這種結構本身是允許浮點數變數型別的,但是你這裡要比較相等,浮點數不能用memcmp比較,所以浮點數要拿出來單寫

3樓:

c++20前可以借用std::tuple自帶的各種比較符,等於/不等/大於/小於等等。

標準庫還提供了乙個函式std::tie,生成的是傳入引數的引用構成的tuple, 編譯器充分優化下,相比自己乙個個成員手寫比較是不會有什麼效能損失的。

用起來就是這個樣子:

bool

Class

::operator==(

const

Class

&rhs

)const

4樓:

如果每個類成員都是可雜湊的,那麼可以通過定義該類的雜湊來比較。

雜湊不同的兩個例項一定不同,雜湊相同的時候再逐一比較成員。

在競爭中勝過對手是否是一種不善的行為?

怎麼說呢,從你舉的例子來看,接受教育其實是每個人都應該有的權利,因為規定了 高考 這種遊戲吧,使得一些人就必須失去這個機會。我們在競爭中已經習慣了這樣的 不公平 忽略了這種 不善 提出這樣的疑問的時候,大多數人會覺得腦子有毛病吧,其實我覺得還蠻有意思的,在大環境之下我們都已經對那些約定俗成的東西習以...

人類通過科學方法認識世界的行為是否是一種 盲人摸象 的做法?

粟東聖 盲人摸象也得摸,每個人摸一點,湊起來即使看不到全貌也有個大概。就比如我們搞分子生物學的,乙個乙個基因乙個基因研究,總有一天所有基因都能研究完,湊齊了我們就會看到一些模糊的結論 晨曦之脈 這個問題應該屬於哲學和科學的交叉點,人類對世界的認知建立在模擬推理的基礎上,人類現在所有的定義及概念是以 ...

在日常生活中你有哪些提公升自我的好方法

活著的動物 養成幹的習慣,很多毛病都會消失。養成想的習慣,做什麼都覺得千難萬難。提公升自我的好方法 就是你想學什麼,請先做起來,不要只是想想,做了之後在來優化方法也來的急,最怕你知道方法了,而想學的心已不再,或已被各種心理障礙拒之門外。 雨蜻蜓 如果你身體狀態允許,一定要養成健身和閱讀的生活習慣,我...