Time of Update: 2018-12-03
該系列博文主要參考自 cppreference.com 和
Time of Update: 2018-12-03
該系列博文主要參考自 cppreference.com 和 cplusplus.com由於博主水平有限,內容僅供參考climits該標頭檔中定義了許多宏CHAR_BIT 一個byte的bit數MB_LEN_MAX一個多位元組字元所佔的最大位元組數CHAR_MIN, SCHAR_MIN, SHRT_MIN, INT_MIN, LONG_MIN, LLONG_MIN(c++11)分別為char, signed char, short, int, long, long
Time of Update: 2018-12-03
目錄:一.編程修養二.編程技巧三.編程風格 /*******************************************************一.編程修養 ----C語言程式寫作上的三十二個“修養”*******************************************************/ ———————————————————————— 01、著作權和版本 02、縮排、空格、換行、空行、對齊
Time of Update: 2018-12-03
網上看到的這篇關於Linux下C語言嵌入彙編的文章寫的非常全,轉載過來。 Using Assembly Language in Linux.Intel和AT&T彙編文法差異:1。首碼:Intel彙編寄存器和立即數無需首碼。後者寄存器首碼為%,立即數首碼為$。eg: Intex Syntax mov eax,1 mov ebx,0ffh int 80h AT&T Syntax movl $1,%eax movl $0xff,%ebx int
Time of Update: 2018-12-03
new操作符(new operator)與operator new的關係,你想在堆上建立一個對象,應該用new操作符。它既分配記憶體又為對象調用建構函式。如果你僅僅想分配記憶體,就應該調用operator new函數;它不會調用建構函式。如果你想定製自己的在堆對象被建立時的記憶體配置過程,你應該寫你自己的operator new函數,然後使用new操作符,new操作符會調用你定製的operator new。如果你想在一塊已經獲得指標的記憶體裡建立一個對象,應該用placement
Time of Update: 2018-12-03
迭代器定義了常用的操作集,但有些迭代器具有比其他迭代器更強大的功能。例如ostream_iterator只支援自曾、解引用和複製運算,而vector容器提供的迭代器除了這些運算,還支援自減、關係和算數運算。因此,迭代器可根據所提供的操作集進行分類。類似地,還可根據演算法要求它的迭代器提供什麼類型的操作,對演算法分類。有一些演算法,例如 find,只要求迭代器提供讀取所指向內容和自增的功能。另一些演算法,,比如
Time of Update: 2018-12-03
Using Assembly Language in Linux.Intel和AT&T彙編文法差異:1。首碼:Intel彙編寄存器和立即數無需首碼。後者寄存器首碼為%,立即數首碼為$。eg: Intex Syntax mov eax,1 mov ebx,0ffh int 80h AT&T Syntax movl $1,%eax movl $0xff,%ebx int $0x802。二者對運算元處理方向不同:eg: Intel 彙編文法:
Time of Update: 2018-12-03
----start一:前提條件linux 版本:FedaroCore4DB2 版本:DB2 Express-C 9.5DB2必須使用root使用者進行安裝。 二:步驟1、將db2exc_952_LNX_x86.tar.gz 檔案上傳至/root/2、使用root使用者登入系統,解壓檔案:tar xzvf /root/db2exc_952_LNX_x86.tar.gz3、解壓後,進入expc目錄, 運行db2prereqcheck檔案檢查系統是否安裝條件cd
Time of Update: 2018-12-03
剛看到一些關於linux下C編程的一些風格,有些與ANSI C不同,記錄下來,以作以後參考:1、linux C中可以使用變長數組,甚至0長度數組,這點與ANSI C有很大的不同。ANSI C數組長度只能使用常數,即便是const修飾的常量也不能使用。當然在C++中可以使用常量及變長數組2、linux C中的switch中的case可以使用範圍表示,如case '0'...'3':就相當於ANSI C中的case '0':case '1':case '2':case
Time of Update: 2018-12-03
C風格的DLL匯出函數的典型方法說到底,DLL是對應C語言的動態連結技術,在輸出C函數和變數時顯得方便快捷所以寫DLL檔案最典型的一種Case:不用C++的類而都是C風格的代碼這種情況要匯出函數,有兩種方式:第一種:函數前加相應修飾符#ifdef __cplusplus #define EXPORT extern "C" __declspec (dllexport)#else#define EXPORT __declspec (dllexport)#endif然後在每一個要匯出的函數前面加EX
Time of Update: 2018-12-03
1、什麼是const? 常類型是指使用類型修飾符const說明的類型,常類型的變數或對象的值是不能被更新的。(當然,我們可以偷梁換柱進行更新:)2、為什麼引入const? const 推出的初始目的,正是為了取代先行編譯指令,消除它的缺點,同時繼承它的優點。3、cons有什麼主要的作用? (1)可以定義const常量,具有不可變性。 例如: const int Max=100; int Array[Max];
Time of Update: 2018-12-03
前言: 本文只是本人對C++中關於靜態類型的一個總結,如錯誤之處,請大家幫我改正。我分兩個方面來總結,第一方面主要是相對於面向過程而言,即在這方面不涉及到類,第二方面相對於物件導向而言,主要說明static在類中的作用。一、在面向過程設計中的static關鍵字1、靜態全域變數定義:在全域變數前,加上關鍵字 static
Time of Update: 2018-12-03
Bill Gates 曾經失言: 640K ought to be enough for everybody — Bill Gates 1981 C++程式員們經常編寫記憶體管理程式,往往提心弔膽。如果不想觸雷,唯一的解決辦法就是發現所有潛伏的地雷並且排除它們,躲是躲不了的。本文的內容比一般教科書的要深入得多,讀者需細心閱讀,做到真正地通曉記憶體管理。 1、記憶體配置方式 記憶體配置方式有三種:
Time of Update: 2018-12-03
對於C++而言,是一種無格式的語言,編譯器會忽略所有的空格,斷行符號標記,分行符號等等,並把所有這些統稱為空白。 然後我們來說說標示符的命名,首先,那些基本的概念要有哦;第二,最好不要以底線開頭;第三,不要以跟關鍵字相近的名字命名,比如INT,Return等等。 然後程式的步驟,編輯,編譯,連結,運行和測試。 對於C++而言,是一種無格式的語言,編譯器會忽略所有的空格,斷行符號標記,分行符號等等,並把所有這些統稱為空白。 C++語言區分大小寫!
Time of Update: 2018-12-03
一、定義.純虛函數是在基類中聲明的虛函數,它在基類中沒有定義,但要求任何衍生類別都要定義自己的實現方法。在基類中實現純虛函數的方法是在函數原型後加“=0”virtual void funtion1()=0二、引入原因:1、為了方便使用多態特性,我們常常需要在基類中定義虛擬函數。2、在很多情況下,基類本身產生對象是不合情理的。例如,動物作為一個基類可以派生出老虎、孔雀等子類,但動物本身產生對象明顯不合常理。為瞭解決上述問題,引入了純虛函數的概念,將函數定義為純虛函數(方法:virtual
Time of Update: 2018-12-03
轉載請註明出處:http://blog.csdn.net/muge0913/article/details/7314854Linux 實現了請求頁面調度,頁面調度是說頁面從硬碟按需交換進來,當不再需要的時候交換出去。這樣做允許系統中每個進程的虛擬位址空間和實際實體記憶體的總量再沒有直接的聯絡,因為在硬碟上的交換空間能給進程一個實體記憶體幾乎無限大的錯覺。交換對進程來說是透明的,應用程式一般都不需要關心(甚至不需要知道)核心頁面調度的行為。然而,在下面兩種情況下,應用程式可能像影響系統的頁面調度:
Time of Update: 2018-12-03
Trie樹,又稱為字典樹,是一種樹形結構,是一種雜湊樹的變種,是一種用於快速檢索的多叉樹資料結構。用於儲存大量的字串。它的優點是:利用字串的公用首碼來節約儲存空間。Trie的核心思想是空間換時間。利用字串的公用首碼來降低查詢時間的開銷以達到提高效率的目的。它有3個基本性質:1、根節點不包含字元,除根節點外每一個節點都只包含一個字元。2、從根節點到某一節點,路徑上經過的字元串連起來,為該節點對應的字串。3、每個節點的所有子節點包含的字元都不相同。這是一個Trie結構的例子:在這個Trie結構中,儲
Time of Update: 2018-12-03
本系列文章有muge0913編寫轉載請註明出處:http://blog.csdn.net/muge0913/article/details/7331129要對一個訊號進行處理,就需要給出此訊號發生時系統所調用的處理函數。可以對一個特定的訊號(除去SIGKILL和SIGSTOP訊號)註冊相應的處理函數。註冊某個訊號的處理函數後,當進程接收到此訊號時,無論進程處於何種狀態,就會停下當前的任務去執行此訊號的處理函數。 1、註冊訊號函數。#include<signal.h>void(*sig
Time of Update: 2018-12-03
1.是不是一個父類寫了一個virtual 函數,如果子類覆蓋它的函數不加virtual ,也能實現多態?virtual修飾符會被隱形繼承的。private 也被整合,只事衍生類別沒有存取權限而已。virtual可加可不加。子類的空間裡有父類的所有變數(static除外)。同一個函數只存在一個實體(inline除外)。子類覆蓋它的函數不加virtual ,也能實現多態。在子類的空間裡,有父類的私人變數。私人變數不能直接存取。-------------------------------------
Time of Update: 2018-12-03
一、介紹二叉搜尋樹(Binary Search Tree),或者是一棵空樹,或者是具有下列性質的二叉樹:1,若它的左子樹不空,則左子樹上所有結點的值均小於它的根結點的值;2,若它的右子樹不空,則右子樹上所有結點的值均大於它的根結點的值;3,它的左、右子樹也分別為二叉搜尋樹。二叉搜尋樹的尋找過程和次優二叉樹類似,通常採取二叉鏈表作為二叉搜尋序樹的儲存結構。中序遍曆二叉搜尋樹可得到一個關鍵字的有序序列,一個無序序列可以通過構造一棵二叉搜尋樹變成一個有序序列,構造樹的過程即為對無序序列進行排序的過程。