Time of Update: 2018-12-04
在使用C++編程的過程當中,常常需要對類成員進行初始化,通常的方法有兩種: 第一種方法: CMYClass::CSomeClass() { x=0; y=1; } 第二種方法: CSomeClass::CSomeClass() : x(0),
Time of Update: 2018-12-04
BSS段:BSS段(bss segment)通常是指用來存放程式中未初始化的全域變數的一塊記憶體地區。BSS是英文Block Started by Symbol的簡稱。BSS段屬於靜態記憶體配置。資料區段:資料區段(data segment)通常是指用來存放程式中已初始化的全域變數的一塊記憶體地區。資料區段屬於靜態記憶體配置。程式碼片段:程式碼片段(code segment/text
Time of Update: 2018-12-04
C語言中結構體對齊問題 收藏 關於C語言中的結構體對齊問題1,比如: struct{short a1;short a2;short a3;}A;struct{long a1;short a2;}B;sizeof( A)=6, sizeof(
Time of Update: 2018-12-04
1. 定義const對象const 把一個對象轉換成一個常量: const int bufSize = 512;定義bufSize為常量並初始化為512. 因為常量在定義後就不能修改,所以定義時必須初始化。 2 const 引用 const int ival = 1024;const int &refVal = ival;const 引用可以綁定到不同但相關的類型的對象或綁定到右值int i=42; double dval = 3.14;const int &r =
Time of Update: 2018-12-04
1. 如何擷取應用程式的執行個體控制代碼? 應用程式的 執行個體控制代碼儲存在CWinAppIm_hInstance 中,可以這麼調用 AfxGetInstancdHandle獲得控制代碼. Example: HANDLE hInstance=AfxGetInstanceHandle(); 2. 如何通過代碼獲得應用程式主視窗的指標? 主視窗的 指標儲存在CWinThread::m_pMainWnd中,調用 AfxGetMainWnd實現。 AfxGetMainWnd()
Time of Update: 2018-12-04
編譯器為內聯一個方法所使用的過程是這樣的:內聯方法的連續代碼塊被複製到調用該方法的調用點處。內聯方法內的任何局部變數在塊內分配。內聯方法的輸入參數和傳回值被影射到調用方法的局部變數空間。如果內聯方法有多個返回點,則這些返回點就變成內聯塊尾部的分支(可怕的goto)。所有與調用有關的痕迹以及隨之即來的所有可能的效能損失都被消除了。然而避免調用只是與內聯有關的效能項的一半,調用間最佳化是內聯效能的另一半。
Time of Update: 2018-12-04
文章目錄 下面我們以程式集(dll)為單位為討論下.Net 2.0中的類庫,而不是以命名空間. 我們知道安裝了.NET Framework後,裡面有非常多的類庫,可能有些類我們一輩子都不會去用到.但大概知道有哪些類,以後想用的時候就可以很容易找到.所謂類庫就是很多事微軟的人給你做好了,給只要簡單的調用下就行了.這裡主要講下.NET 2.0,3.0與3.5中的類庫.類庫的組織要查看類庫中的所有資訊你開啟Object
Time of Update: 2018-12-04
/*goal, C++類型轉換。雖然平時用得不多,但是面試C++時會問到這方面,各個cast的用法。date, 2013-3-6env, ubuntu1204-gcc*/#include <iostream>using std::cout; using std::endl;// 去除未引用警告template <typename T>void SinkUnusedWarning(T) { }class F {};class G{public://
Time of Update: 2018-12-04
文章目錄 函數重名
Time of Update: 2018-12-04
為啥需要動態分配記憶體 數組是我們常用的一種資料結構.但它有一個缺點,就是用的時候必須確定數組大小.如果我們要用數組來儲存的資料不確定可咋整啊?把數組定得太大浪費空間,太小的話又裝不下.這是一種情況.另外就是對象太大.我們使用的資料大部分時候都預設儲存在棧(stack)裡面,由系統去管理,會自動給分配記憶體,自動給刪除掉.但是stack很小,就那麼幾M,如果你讀取一個幾十M的常值內容然後儲存到一個字串裡,stack肯定會被撐爆了.
Time of Update: 2018-12-04
最常用的序列化是把某個類序列化成二進位檔案.但有時我們也會把類序列化成xml檔案.假如有如下一個類class Arwen{private Hashtable table = new Hashtable();private TimeSpan time = new TimeSpan(0, 0, 1);public Hashtable Table{get { return table; }set { table = value; }}public TimeSpan Time{get { return
Time of Update: 2018-12-04
主要實現雙鏈表如下功能:void AddBack(T val); //鏈表尾部添加元素void AddFront(T val); //鏈表頭部添加元素bool InsertAt(int pos, T val); //在指定的索引處插入元素bool RemoveBack(); //尾部刪除元素bool RemoveFront(); //頭部刪除元素bool RemoveAt(int pos); //刪除指定索引處元素 bool Find(T val);
Time of Update: 2018-12-04
類和柏拉圖的理念世界
Time of Update: 2018-12-04
文章目錄 為啥需要枚舉類型1.不需要分配記憶體的情況2.需要分配記憶體的情況枚舉類型具體用法
Time of Update: 2018-12-04
DES(Data Encryption
Time of Update: 2018-12-04
文章目錄 2.參數預設值只能在聲明或定義中一處指定.不能同時指定.3.預設參數與函數重載的二義性問題. 預設參數在函數參數較多時是非常有用的.可以只傳必須的值,其它取預設值.使用方法如下: 1.預設參數是嚴格按照從左至右的順序使用所以只有如下使用才是合法的(1)參數全部為預設值. void Fun( int a = 1, int b = 2, int c = 3)(2)void Fun(int a , int b = 2, int c =
Time of Update: 2018-12-04
/*功能,C++ inline。可以用來取代宏定義的函數。聲明定義內嵌函式,提示編譯時間內聯——將所調用的代碼嵌入到主調函數中。注意是否內聯取決於實現——編譯器有權不實際內聯,如果它認為這是必要的或更符合預期的目標代碼品質。日期,2013年3月13日環境,ubuntu1204-gcc部落格,http://blog.csdn.net/shunqiziranhao007/article/details/8670253*/#include <iostream>using
Time of Update: 2018-12-04
/*功能,C++ static日期,2013年3月13日環境,ubuntu1204-gcc部落格,http://blog.csdn.net/shunqiziranhao007/article/details/8667985*/#include <iostream>using std::cout; using std::endl;#define P1 cout << endl;#define P2(X) cout << X;#define P3(X) cout
Time of Update: 2018-12-04
Day001, you'll learn about the following:The primary areas of the Visual C++ development environment The Application Wizard--how you can use it to build the basic infrastructurefor your applications The Dialog Painter--how you can use it to paint
Time of Update: 2018-12-04
不安裝.NET Framework 運行C#.NET程式 收藏 首先,要說明的是飛信也是用C#寫的,但是我們在運行C#時,並不用安裝.NET Framework,這事因為,飛信本身內建了一個.NET 虛擬程式,由這個程式來調用我們飛信主程式。 同樣,我們要可以利用這可現成的虛擬機器來運行我們的C#.NET程式,這樣即使在沒有安裝.NETFramework的windows系統中,也可以運行我們的C#.NET程式。