《Effective C 》 編譯器的復仇

2021-06-18 21:33:29 字數 573 閱讀 9318

今天看到《effective c++》item12中一段比較有意思的描述:

當我們為類親自構造copy constructor和assign operator函式時,編譯器不會再自動生成copy constructor和assign operator。這時,假設我們為類新新增了成員變數,但是忘記在copy constructor和assign operator函式中做相應修改時(即partial copy),編譯器也不會做任何警告,scott meyers對此進行的描述是:

「yet most compilers say nothing about this, not even at maximal warning level (see alsoitem 53). that's their revenge for your writing the copying functions yourself. you reject the copying functions they'd write, so they don't tell you if your code is incomplete.」

哈哈哈,看到這些會心一笑,編譯器好小氣的說。scott meyers真有意思。

Effective C 編譯器同行優化

author processwidget std tr1 shared ptr new widget priority 編譯器會把上面的語句分成三個步驟 但是編譯器用什麼順序來執行這三個步驟,彈性很大 如果像如下的順序 如果第二步 priority 發生異常。那麼widget就不會被釋放。這就是說可...

VC編譯器與GCC編譯器的區別

今天無意寫了一段 發現了vc編譯器與gun的gcc編譯器還是存在區別的。畢竟gcc支援的是標準c。include struct node int main 上述 在gcc下是編譯失敗的,提示的錯誤 uknown typename node 但是放到vc編譯器下則順利編譯通過。於是按照標準c寫了另外乙...

編譯方舟編譯器

環境 mac os parallels desktop 安裝ubuntu 16.04 安裝基礎包 sudo apt get y install openjdk 8 jdk git core gnupg flex bison gperf build essential zip curl zlib1g ...