C++里最容易忽視卻不能忽視的問題(必看)
1 define 只是簡單地文本替換。
2 每個機(jī)器的字長不同。
3 每個類型在不同的機(jī)器上,所占用的內(nèi)存空間不同。
4 每個機(jī)器內(nèi)部的字節(jié)大小端不同。
5 并不是所有的編譯器或機(jī)器都支持最新的C++標(biāo)準(zhǔn)。
6 并非所有的編譯器都是從右往左執(zhí)行單行的多個表達(dá)式。
7 返回struct時,各個機(jī)器有不同的優(yōu)化手段。因此最好使用指針或引用。
8 并非所有的運(yùn)算符都可以重載,并非""不能重載。
9 并非所有的編譯器都支持'\uxxx'的Unicode。
10 并非所有的默認(rèn)值都為0。
11 并非所有相同的#pragram都有相同的作用。
12 并非聲明了inline編譯器就一定會內(nèi)聯(lián)。
13 重載和默認(rèn)參數(shù),肯定會沖突。int Change(int property ,int value = 0); float Change(int property);調(diào)用Change(12);則編譯器會抱怨不明確。
14 使用template是有代價(jià)的,會導(dǎo)致代碼膨脹,編譯時間長,各種各樣的類型錯誤但卻又不知道哪兒出錯。
15 最新的C++標(biāo)準(zhǔn)或特性,說不定就是沒用的,只能增加復(fù)雜性。
16 reinterpret_cast時,可能會失敗。
17 if,switch第一個條件一定會判斷,如果命中條件,則不再判斷其他條件
以上這篇C++里最容易忽視卻不能忽視的問題(必看)就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Qt5.9繼承QObject創(chuàng)建多線程實(shí)例
本文主要介紹了Qt5.9繼承QObject創(chuàng)建多線程實(shí)例,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-09-09

