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
《Thinking in C++》中解釋: 引用(&)像是一個能編譯器逆向引用的常量型指標。通常用於函數的參數表中和函數的傳回值,也可以獨立使用。例如:int x;int &r = x;當建立一個引用時,引用必須被初始化指向一個存在的對象,但也可以:int &q = 12;這裡,編譯器指派了一個儲存單元,它的初值初始化為12。引用必須和儲存單元聯系,訪問引用時,就是訪問那個儲存單元。如:int x = 0;int &a =
Time of Update: 2018-12-04
在使用C++編程時,經常要用到不同資料類型之間的類型轉換,可能大家對C語言的類型強制轉換比較熟悉,就是在表達時前面加一個“(強制轉換類型)”。在C++中仍然可以用C方式的對不同類之間資料類型轉換,但是,C++提供了更好的資料類型轉換方式,就是利用關鍵字“dynamic_cast”來完成對不同類之間資料類型之間的轉換。dynamic_cast的使用格式是:dynamic_cast <T> (ptr)其中,T必須是一個類的的指標或引用,也可以是 void
Time of Update: 2018-12-04
#include <stdio.h> /*標準輸入輸出定義*/#include <stdlib.h> /*標準函數庫定義*/#include <unistd.h> /*Unix標準函數定義*/#include <sys/types.h> /**/#include <sys/stat.h> /**/#include <fcntl.h> /
Time of Update: 2018-12-04
dynamic_cast< T > (arg)DescriptionIn the expression, dynamic_cast< T > (ptr), T must be a pointer or a reference to a defined class type or void*. The argument ptr must be an expression that resolves to a pointer or reference.If T is
Time of Update: 2018-12-04
25、如何擷取有關視窗正在處理的當前訊息的資訊 調用CWnd: : GetCurrentMessage可以擷取一個MSG指標。例如,可以使用 ClassWizard將幾個功能表項目處理常式映射到一個函數中,然後調用GetCurrentMessage 來確定所選中的功能表項目。 viod CMainFrame : : OnCommmonMenuHandler ( ) { //Display selected menu item in debug window . TRACE ("Menu
Time of Update: 2018-12-04
編譯器為內聯一個方法所使用的過程是這樣的:內聯方法的連續代碼塊被複製到調用該方法的調用點處。內聯方法內的任何局部變數在塊內分配。內聯方法的輸入參數和傳回值被影射到調用方法的局部變數空間。如果內聯方法有多個返回點,則這些返回點就變成內聯塊尾部的分支(可怕的goto)。所有與調用有關的痕迹以及隨之即來的所有可能的效能損失都被消除了。然而避免調用只是與內聯有關的效能項的一半,調用間最佳化是內聯效能的另一半。
Time of Update: 2018-12-04
49、如何?一個橡皮區矩形 CRectTracker是一個很有用的類,可以通過調用CRectTracker:: TrackRubberBand響應WM_LBUTTONDOWN訊息來建立一個橡皮區矩形。下例表明使用CRectTracker移動和重設視窗中的藍色橢圓的大小是很容易的事情。 首先,在檔案檔中聲明一個CRectTracker資料成員: class CSampleView : Public CView { … public : CrectTracker m_tracker; … };
Time of Update: 2018-12-04
一、 優點 使用內聯彙編可以在 C/C++ 代碼中嵌入組合語言指令,而且不需要額外的彙編和串連步驟。在 Visual C++ 中,內聯彙編是內建的編譯器,因此不需要配置諸如 MASM 一類的獨立彙編工具。這裡,我們就以 Visual Studio .NET 2003 為背景,介紹在 Visual C++ 中使用內聯匯的相關知識(如果是早期的版本,可能會有些許出入)。 內聯彙編代碼可以使用 C/C++ 變數和函數,因此它能非常容易地整合到 C/C++ 代碼中。它能做一些對於單獨使用
Time of Update: 2018-12-04
C++的程式人生 作者:華文廣 日期:2010/11/20 作為一名從工科院校畢業的程式員,能有機會走入CG影視製作領域,也是因為一個機緣巧合。那是O7年中,畢業快兩年了,一直在一家企業,研發一個基於3D的即時髮型設計系統,由於公司對項目的定位過高,幾乎越出電腦硬體所能及的範圍,
Time of Update: 2018-12-04
在C語言中有待用資料類型,聲明一個待用資料類型意味著:該變數的生存周期是靜態,即在程式的開始即分配到程式,終止時才釋放。在C++中,聲明一個類的待用資料成員意味著所有的執行個體只有該資料成員的一個拷貝。 《深入淺出MFC》這樣解釋: Static 成員不屬於對象的一部分,而是類的一部分。所以程式可以在沒有誕生分和 對象的時候就處理此種成員變數.但必須首先初始化它。
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
文章目錄 SystemSystem.IOSystem.IO.CompressionSystem.TextSystem.Text.ReularExpressionsSystem.Collections , System.Collections.GenerisSystem.ReflectionSystem.ThreadingMicrosoft.Win32System.Net , System.Net.SocketsSystem.Net.Mail.Net
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
文章目錄 但這個問題在C#中可就是個大問題了啊.那針對問題2,C#咋整呢?
Time of Update: 2018-12-04
文章目錄 函數重名
Time of Update: 2018-12-04
文章目錄 好處注意事項
Time of Update: 2018-12-04
我們知道當執行個體化一個類時,也就是產生一個對象時需要分配記憶體空間.那一個對象具體需要多少位元組的記憶體空間? 通過些什麼規則計算出來的? 假如有如下一個類------------------------------------------------------------------------------------------------------------------------------類聲明Arwen.hclass
Time of Update: 2018-12-04
文章目錄 C++標頭檔作用,為什麼C#不需要標頭檔. 原始碼的翻譯簡介我們知道機器其實是比較笨的,它只認識0101這樣的機器語言.你用進階語言寫的原始碼對機器來說就像地球人看火星文一樣,沒法整明白的.必須要經過中間很多翻譯環節.通常來說分為如下四步,實際上每一步都相當於在做翻譯中的一小部分工作.1.先行編譯階段,也叫預先處理.顧名思義就是在處理之前預先做些準備工作.比如你寫的#include
Time of Update: 2018-12-04
文章目錄 wchar_t符號char符號 對於C++中的其他整數和浮點數的符號問題我們是很清楚的.因為C++標準有明確規定.浮點型float和double是沒有符號這一說.它們倆的表達範圍是固定的.能表示正數和負數.如果你這樣寫unsigned float編譯器會把unsigned標誌忽略掉.整型short ,int , long 是不加指明就預設為signed. 但char ,