原创 C++ primer 第二章

學習一門編程語言要理解語法特徵的實現細節 * 內置類型 * 變量 用來爲對象命名 * 表達式和語句 操縱上述數據類型 * if while 控制結構 * 函數 * 擴充:兩種機制* 1. 程序員自定義數據類型 2

原创 劍指offer第七部分

構造函數初始化列表中成員變量初始化順序取決於聲明順序而不是初始化列表順序 * 做題之前,考慮清楚輸入是否合法,字符串是否爲空,邊界檢查是否越界,考慮特殊輸入測試,三種拋出異常的方法以及各自的優缺點: * 功能測試(整數、負數、

原创 第三條:儘可能使用const

將某些東西聲明爲const可以幫助編譯器發現錯誤;const可以施加於任何作用域內的對象、函數參數、函數返回類型、成員函數本體 編譯器強制實行bitwise constness(物理常量性),而我們的程序應該堅持邏輯常量性(co

原创 c++primer第四章 表達式

左值、右值: 當一個對象被當做右值的時候使用的是對象的值(內容),當對象被用作左值的時候用的是對象的身份(內存); 原則:在使用右值的地方可以用左值代替,但是不能把右值當成左值(也就是位置)使用。當一個左值被用工作右值時,實際

原创 破解IntellijIDEa

感謝作者 https://blog.csdn.net/qq_40914991/article/details/85543575

原创 關於extern "c"的用法解析(轉載)

引言 C++保留了一部分過程式語言的特點,因而它可以定義不屬於任何類的全局變量和函數。但是,C++畢竟是一種面向對象的程序設計語言,爲了支持函數的重載,C++對全局函數的處理方式與C有明顯的不同。 extern “C”的主要作用就

原创 關於VS下動態庫和靜態庫

首先:對於我這種懶(智商)人(不夠用)來說,凡是不能看一眼就會用的東西,都是不夠人性化的,所以,爲智商充值,mark一下。 靜態庫:(暫不能科學上網,給出某科描述) 靜態庫是指在我們的應用中,有一些公共代碼是需要反覆使用,就把這些代碼編

原创 條款10-11:令operator=返回一個reference to *this

條款10:令operator=返回一個reference to *this,這是爲了方便連續賦值,並且滿足右結合律 條款11:在operator=中處理自我賦值 確保對象自我賦值時operator=有着良好行爲,比較來源對象和目標

原创 Peter Norvig:十年學會編程

(轉載)Peter Norvig:十年學會編程 作者 Peter Norvig 是計算機科學家,Google 的研究總監。 在本文中,Peter Norvig會告訴你:爲什麼急功近利地學習軟件開發技術是沒效果滴? ===========

原创 C++的模板

模板是C++泛型編程的基礎,是編譯器生成函數或者類的藍圖或者說公式 定義函數模板: template <typename T>//T是模板參數,可以有一個或者多個 int compare(const T& ctv1,const T &c

原创 Google編程風格指南(一):頭文件相關

避免多重包含,用預編譯宏 #ifndef ... #define ... ... #endif 頭文件命名最好以其所在項目源代碼樹的全路徑,例如: 項目foo中的頭文件foo/src/bar/baz.h

原创 條款08:別讓異常逃離析構函數

析構函數絕對不能拋出任何異常,如果一個被析構函數調用的函數可能會拋出異常,析構函數應該能夠捕捉任何異常,然後吞下他們(不傳播),或者結束程序。 如果客戶需要對某個操作函數運行期間拋出的異常作出反應,那麼classe應該提供一

原创 Paul Graham:夢寐以求的編程語言

這是一篇2001年發表的博文,距今超過10年。但是,好的文章是不會隨時間流逝而貶值滴。 作者 Paul Graham 是硅谷大牛。對許多問題(包括:編程技術、管理、創業)都有獨到見解。 本文描繪了他心目中理想的編程語言,供大夥兒參考。

原创 第四條:確定對象被使用前已經先被初始化

爲內置類型對象手工初始化,因爲C++不保證初始化他們 構造函數最好使用構造函數初始值列表,而不要在構造函數體內使用賦值操作,初值列列出的成員變量其次序應該與類中聲明次序相同 爲了免除‘’跨編譯單元之初始化次序‘’問題,請以local s

原创 C++的各種初始化

C++的初始化有很多方式:默認初始化,值初始化,直接初始化,拷貝初始化,列表初始化。這些方式之間有什麼區別與聯繫呢?我們一一來看。 1.默認初始化 默認初始化是指定義變量時沒有指定初值時進行的初始化操作。例如int a; Sales_