原创 位統計法的應用

本文根據微信公衆號算法糰子的文章總結得到。 題目描述:在一堆正整數中,有一個數恰好出現了B次,而其他的數均出現了A次,一共N個數,求出那出現B次的數,數據保證有解,設題目的輸入爲:第一行3個正整數,n,a,b(b<a),第二行n個正整數,

原创 C++輸入輸出

1、輸入輸出含義 完成程序的基本功能需要有初始數據的輸入和運行結果的輸出. 以前所用到的輸入和輸出,都是以終端爲對象的,即從鍵盤輸入數據,運行結果輸出到顯示器屏幕上。從操作系統的角度看,每一個與主機相連的輸入輸出設備都被看作一個文件。終端

原创 多態性與虛函數

在面向對象方法中一般是這樣表述多態性的:向不同的對象發送同一個消息,不同的對象在接收時會有不同的反應,產生不同的動作。也就是說,每個對象可以用自己的方式去響應共同的消息。 在C++程序設計中,多態性是指用一個名字定義不同的函數,這些函

原创 運算符重載

1、運算符重載的規則 運算符重載是指同一個運算符可以施加於不同類型的操作數上面。  重載運算符的函數的一般格式如下:  函數類型 operator運算符名稱(形參列表)  {  對運算符的重載處理 } 函數名是由operator和運算符

原创 異常處理

       一個好的程序不僅要保證能實現所需要的功能,而且還應該有很好的容錯能力。在程序運行過程中如果有異常情況出現,程序本身應該能解決這些異常,而不是死機。本章介紹異常處理的基本概念、C++異常處理語句、析構函數與異常處理。通過本章的

原创 友元與靜態成員---面向對象的妥協

1、封裝的破壞—友元 友元可以訪問與其有好友關係的類中的任何成員。     分爲友元類和友元函數 1.1 友元函數 如果在本類以外的其他地方定義了一個函數(這個函數可以是不屬於任何類的普通函數,也可以是其他類的成員函數),在類體中用

原创 最長迴文子串

最近研究了一下最長迴文子串的求法,用自己的話解釋一下各個方法 需分別注意aba,abba兩種迴文子串的處理 1、 直接窮舉法 直接窮舉法顯而易見,先判斷每個子串是否是迴文子串,然後記錄長度,最後給出最長的,時間複雜度O(n^3) 2、改進

原创 代碼定位

在調試程序bug時經常會遇到需要定位代碼的文件路徑及行數的問題,比如在某些情況下,需要通過重載new和delete操作符,檢測內存泄露,返回代碼的位置 有幾個編譯器內置的宏定義,這些宏定義不僅可以幫助我們完成跨平臺的源碼編寫,靈活使用可

原创 泛型編程(Generic Programming,簡稱GP)---模板

泛型就是通過參數化類型來實現在同一份代碼上操作多種數據類型。利用“參數化類型”將類型抽象化,從而實現靈活的複用。 C++引入模板的概念,主要包括函數模板和類模板 1、函數模板 1.1 函數模板定義及其實例化 所謂函數模板,實際上是建立一個

原创 簡單瞭解STL

STL是StandardTemplate Library(標準模板庫)的縮寫,是一個高效的C++程序庫,它被容納於C++標準程序庫(C++ StandardLibrary)中,是ANSI/ISOC++標準的一部分。該庫包含了諸多在計算機科

原创 繼承與派生

通過繼承機制,可以方便地利用一個已有的類建立新類,重用已有軟件中的部分甚至很大的部分,例如微軟基礎類就是通過類的繼承來體現類的可重用性和可擴充性。 1.繼承和派生的概念 所謂“繼承”就是在一個或多個已存在的類的基礎上建立一個新的類。已存

原创 函數返回值的情況

原文地址:http://patmusing.blog.163.com/blog/static/13583496020113191407531/ 在一個函數的內部,return的時候返回的都是一個拷貝,不管是變量、對象還是指針都是返回拷

原创 類與對象

1、類的聲明 class 類名 {public:protected:private: };  public: 既可以被本類的成員函數訪問,也可以在類的作用域內被其他函數訪問。 protected: 可以被本類及其派生類的成員函數訪問,但不

原创 使用 malloc 的一個小問題

void * __cdecl malloc(_In_ size_t _Size); 其中 數據類型 size_t 的範圍 就限制了malloc 申請內存大小的範圍。 在VS2010環境下查找 size_t  到具體的數據類型,在win3

原创 面向對象程序設計的思想

1、客觀世界中的事物都是對象(object),對象之間存在一定的關係 2、用對象的屬性(attribute)描述事物的靜態特徵,用對象的操作(operation)描述事物的行爲(動態特徵)。 3、對象的屬性和操作結合爲一體,形成一個相對獨