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