Time of Update: 2018-07-18
轉自:http://blog.csdn.net/feixiaoxing/article/details/6761837#comments 在我們平常的編程當中,用於判斷的地方很多,但主要有下面三種方式:if-else;switch;。:。其中最後一種方式在本質上和if-else是一樣的。switch和if-else其實也一樣,如果我們把switch改成if(...) {} else if(...) {} else
Time of Update: 2018-07-18
轉自:http://blog.csdn.net/newhappy2008/article/details/6857098 題:有N+2個數,N個數出現了偶數次,2個數出現了奇數次(這兩個數不相等),問用O(1)的空間複雜度,找出這兩個數,不需要知道具體位置,只需要知道這兩個值。 求解:如果只有一個數出現過奇數次,這個就比較好求解了,直接將數組中的元素進行異或,異或的結果 就是只出現過奇數次的那個數。
Time of Update: 2018-07-18
轉自: http://blog.csdn.net/feixiaoxing/article/details/6764791
Time of Update: 2018-07-18
轉自:http://blog.csdn.net/hackbuteer1/article/details/7883531 一、虛函數的工作原理 虛函數的實現要求對象攜帶額外的資訊,這些資訊用於在運行時確定該對象應該調用哪一個虛函數。典型情況下,這一資訊具有一種被稱為 vptr(virtual table pointer,虛函數表指標)的指標的形式。vptr 指向一個被稱為 vtbl(virtual
Time of Update: 2018-07-18
Linux C++ 中的目錄操作 Linux的目錄操作一般流程為:開啟目錄-讀取目錄(中的檔案)-關閉目錄。相應的函數為opendir-readdir-closedir,其原型都在/usr/include/dirent.h中定義。 原型: #include <dirent.h> DIR *opendir(const char *dirname); struct dirent *readdir(DIR *dirp); int closedir(DIR *dirp);
Time of Update: 2018-07-18
轉自:http://www.kuqin.com/language/20120423/320158.html C語言常常讓人覺得它所能表達的東西非常有限。它不具有類似第一級函數和模式比對這樣的進階功能。但是C非常簡單,並且仍然有一些非常有用的文法技巧和功能,只是沒有多少人知道罷了。 指定的初始化 很多人都知道像這樣來靜態地初始化數組: 1
Time of Update: 2018-07-18
轉自:http://blog.csdn.net/haoel/article/details/1388498 背景 在我們用C/C++開發的過程中,總是有一個問題會給我們帶來苦惱。這個問題就是函數內和函數外代碼需要通過一塊記憶體來互動(比如,函數返回字串),這個問題困擾和很多開發人員。如果你的記憶體是在函數內棧上分配的,那麼這個記憶體會隨著函數的返回而被彈棧釋放,所以,你一定要返回一塊函數外部還有效記憶體。
Time of Update: 2018-07-18
轉自:http://www.kuqin.com/language/20120802/323769.html 1:子類不要覆寫父類的非虛函數。 2:子類不要覆寫從父類繼承過來的預設參數 3:子類與父類之間的賦值問題 1:子類不要覆寫父類的非虛函數。 為瞭解釋方便,先看一個簡單的例子。 class A{ public: A(int d):data(d){ } void print() {
Time of Update: 2018-07-18
轉自:http://www.kuqin.com/language/20120723/323076.html 在看《Effective C++》這本書的過程中,我無數次的發出感歎,這他媽寫得太好了,句句一針見血,直接說到點上。所以決定把這本書的內容加上自己的理解寫成5篇部落格,我覺得不管你是否理解這些條款,都值得你先記下來。下面的索引對應的是書中的章節。 11:如果class內動態配置有記憶體,請為此class聲明一個copy constructor和一個assignment運算子
Time of Update: 2018-07-18
#include <stdio.h>#include <time.h>#define N 100000/*庫比較函數:qsort(int *base,int n,int struct_size,int (*compare)(const void *,const void *))中的比較函數*/int compare(const void *first, const void *second){if (*(int *)first > *(int *)second)/*
Time of Update: 2018-07-18
轉自:http://chaozaiai.blog.163.com/blog/static/91328155201223181041376/ append 函數能將某字串(或資料串)加到某字串後面 assign 函數能將字串(或資料串)的內容設定給某字串 at 函數能回傳字串中位於某個位置的字元 begin 函數將回傳該字串的起始定位器 c_str 函數能將字串對象中的內容,以c語言字串的方式輸出 capacity
Time of Update: 2018-07-18
轉自:http://club.topsage.com/thread-541343-1-1.html 執行階段程式庫是程式在運行時所需要的庫檔案,通常執行階段程式庫是以LIB或DLL形式提供的。C執行階段程式庫誕生於20世紀70年代,當時的程式世界還很單純,應用程式都是單線程的,多任務或多線程機制在此時還屬於新觀念。所以這個時期的C執行階段程式庫都是單線程的。
Time of Update: 2018-07-18
轉自:http://blog.csdn.net/yushuai007008/article/details/7038845 C++怎樣產生隨機數:這裡要用到的是rand()函數, srand()函數,C++裡沒有內建的random(int number)函數。 (1) 如果你只要產生隨機數而不需要定義範圍的話,你只要用rand()就可以了:rand()會返回一隨機數值, 範圍在0至RAND_MAX 間。RAND_MAX值至少為32767。 例如:
Time of Update: 2018-07-18
轉自:http://blog.csdn.net/yushuai007008/article/details/7070589 1. 定義: sizeof是C/C++中的一個操作符(operator),簡單的說其作用就是返回一個對象或者類型所佔的記憶體位元組數。 其傳回值類型為size_t,在標頭檔 stddef.h 中定義。這是一個依賴於編譯系統的值,一般定義為 typedef unsigned
Time of Update: 2018-07-18
轉自:http://blog.csdn.net/yushuai007008/article/details/7050336 之所以拋棄char*的字串而選用C++標準程式庫中的string類,是因為他和前者比較起來,不必
Time of Update: 2018-07-18
轉自:http://blog.csdn.net/oncoding/article/details/5128721 預先處理還需要運算子。有沒有搞錯。 ^_^, 沒有搞錯,預先處理是有運算子,而且還不止一個: # (單井號) —— 字串化運算子。 ## (雙井號 )—— 串連運算子 #@ &
Time of Update: 2018-07-18
轉自:http://www.kuqin.com/language/20110522/91699.html 近來一篇<The Dark Side Of C++>在坊間廣為轉載,作為一個以C++為吃飯傢伙的程式員,還是應該下載下來好好讀一讀的。 總的來講還是總結的蠻全的,由於個人知識的限制,我讀完後將其分為三類:一類是我不以為然的,覺得算不上陰暗面;一類是深有同感,深受其害;而另外一類則是還不理解,需要日後有時間的時候加以研究的。 一、不以為然 不斷變更的標準,
Time of Update: 2018-07-18
轉自:http://club.topsage.com/thread-541343-1-1.html 3.1 C++記憶體對象大會戰
Time of Update: 2018-07-18
#一個程式佔用的記憶體區一般分為以下5部分: 1.全域/待用資料區。 儲存全域變數和靜態變數(包括全域靜態變數和局部靜態變數),編譯期間已指派好空間。 2.常量資料區。
Time of Update: 2018-07-18
轉自:http://blog.csdn.net/feixiaoxing/article/details/6766366 無論是在判斷還是在迴圈的過程中,通常在遇到合適的條件的時候就會退出相應的模組。跳出模組啟動並執行方式很多,break,continue,return都可以。下面我們就可以分別對他們進行將介紹。 (1)continue只能用於迴圈,而break迴圈、判斷都可以應用。兩者有什麼區別呢。