Time of Update: 2018-12-05
在 Visual C++ 中 建 立 MFC 擴 展 DLL 我 們 編 寫 了 一 個 擴 展 類 的 樣 例 並 將 其 封 裝 在 DLL 中 以 向 你 演 示 該 過 程。 有 經 驗 的 Windows 編 程 人 員 都 逐 漸 放 棄 了 Windows SDK, 而 轉 向 能 為 Windows 內 置 的 低 級 機 制 提 供 高 級 抽 象 的 開 發 環 境。 這 種 轉 移 的 一 個 主 要 受 益 者 是 Visual C++, 它 依 靠
Time of Update: 2018-12-05
VCKBASE Online Help Journal No.10 在Visual C++中如何利用UDL檔案來建立ADO串連王衛列 秦旻
Time of Update: 2018-12-05
可怕的 C# C# 推出後,議論紛紛,有說,C#要取代 Java。這種說法為時尚早,需要看 C# 的發展前景。不過,C# 真的是一種非常強大的快速開發語言。1)。如果不包括 指標部份的話,可以說,C# 的物件導向的程度要比 Java 還要高!C# 中的基本類型都是基於對象的,例如: int, 當你定義一個 int 型變數以後,你就可以通過這個變數來訪問 int 類型的成員。實際上,C# 為每一個基本類型都內建了相應的類,如: int --> Int32, Int32
Time of Update: 2018-12-05
C++ Builder中保持控制項的位置及大小 C++ Builder/Delphi是Inprise(原Borland)公司廣受歡迎的可視化C++/Pascal開發工具,利用它可極大地加快應用程式的開發速度。但是,也正因為其是可視化編程工具,將控制項拖放到Form後,控制項的位置就固定死了。隨著Form的大小或螢幕解析度的改變,控制項和Form本身的位置往往變得非常混亂。本文將介紹一些正確定位控制項及Form的方法。 利用OnResize事件改變控制項位置及大小 C++
Time of Update: 2018-12-05
徹底搞定C指標-——第五篇:函數參數的傳遞文章結構:||———— 一、三道考題| || |——考題1| |——考題2| |——考題3||———— 二、函數參數傳遞方式之一:值傳遞| || |——1. 值傳遞的一個錯誤認識|
Time of Update: 2018-12-05
本文詳細闡述函數名與函數指標的本質。文章結構:||——一 通常的函數調用||——二 函數指標變數的申明||——三 通過函數指標變數調用函數||——四 調用函數的其它書寫格式||——五 定義某一函數的指標類型||——六 函數指標作為某個函數的參數一、 通常的函數調用 一個通常的函數調用的例子: 這個fun_name函數是一個無傳回值的函數,它並不完成什麼事情。這種調用函數的格式你應該是很熟悉的吧!看主函數中調用fun_name函數的書寫格式: fun_name(10);
Time of Update: 2018-12-05
C++中“指標的指標”用法出處:http://blog.chinaunix.net/space.php?uid=20498030&do=blog&cuid=274854 好多人在學習C++,但對C++中的指標的指標很困惑,我就我認識拿來跟大家分享一下。 系統使用4B的記憶體來存一個指標,也就是說我們申請了一個指標比如int *a=NULL,那麼系統將為你分配4B的記憶體,而我們如果要再定義一個變數來存放指標的的記憶體位址,那麼就需要指標的指標,比如,int
Time of Update: 2018-12-05
4、指標參數是如何傳遞記憶體的? 如果函數的參數是一個指標,不要指望用該指標去申請動態記憶體。樣本7-4-1中,Test函數的語句GetMemory(str, 200)並沒有使str獲得期望的記憶體,str依舊是NULL,為什嗎?void GetMemory(char *p, int num){ p = (char *)malloc(sizeof(char) * num);}void Test(void){ char *str = NULL; GetMemory(str, 100); //
Time of Update: 2018-12-05
6、有了malloc/free為什麼還要new/delete? malloc與free是C++/C語言的標準庫函數,new/delete是C++的運算子。它們都可用於申請動態記憶體和釋放記憶體。 對於非內部資料類型的對象而言,光用maloc/free無法滿足動態對象的要求。對象在建立的同時要自動執行建構函式,對象在消亡之前要自動執行解構函式。由於malloc/free是庫函數而不是運算子,不在編譯器控制許可權之內,不能夠把執行建構函式和解構函式的任務強加於malloc/free。
Time of Update: 2018-12-05
時常在cpp的代碼之中看到這樣的代碼:#ifdef __cplusplusextern "C" {#endif//一段代碼#ifdef __cplusplus}#endif 這樣的代碼到底是什麼意思呢?首先,__cplusplus是cpp中的自訂宏,那麼定義了這個宏的話表示這是一段cpp的代碼,也就是說,上面的代碼的含義是:如果這是一段cpp的代碼,那麼加入extern "C"{和}處理其中的代碼. 要明白為何使用extern
Time of Update: 2018-12-05
踏入C++中的雷區——C++記憶體管理詳解電腦教學網2006-04-25 文/ 偉大的Bill Gates 曾經失言: 640K ought to be enough for everybody — Bill Gates 1981 程式員們經常編寫記憶體管理程式,往往提心弔膽。如果不想觸雷,唯一的解決辦法就是發現所有潛伏的地雷並且排除它們,躲是躲不了的。本文的內容比一般教科書的要深入得多,讀者需細心閱讀,做到真正地通曉記憶體管理。 1、記憶體配置方式 記憶體配置方式有三種: (1
Time of Update: 2018-12-05
8、malloc/free 的使用要點 函數malloc的原型如下:void * malloc(size_t size); 用malloc申請一塊長度為length的整數類型的記憶體,程式如下:int *p = (int *) malloc(sizeof(int) * length); 我們應當把注意力集中在兩個要素上:“類型轉換”和“sizeof”。 * malloc傳回值的類型是void *,所以在調用malloc時要顯式地進行類型轉換,將void * 轉換成所需要的指標類型。 *
Time of Update: 2018-12-05
原文出處:http://blog.chinaunix.net/space.php?uid=53564&do=blog&id=2099623讀ANSI C標準, 或K&R, 或C: A reference manual時, 往往會碰到對某個語言特性這樣的描述. 這三者到底是什麼意思, 我的粗略印象, 從implement-defined, 到unspecified, 到undefined, 依次越來越不靠譜, 越發危險, 越發不可移植. 僅有這樣的模糊認識是不夠的,
Time of Update: 2018-12-05
一、C++ STL各容器有一些共通的能力其中三個最核心的能力是:(1)所有容器提供的是“value語意”而不是“reference語意”。容器進行元素的安插操作時,內部實施的是拷貝操作,存放的是元素的副本。因此容器的每一個元素必須能被拷貝。如果打算存放的對象不具備public
Time of Update: 2018-12-05
由於最近現網的epoll版本伺服器,出現了點詭異的問題,不得已改用libev快速上線,在這裡先記錄下簡單的使用執行個體。代碼中可能存在部分bug,此代碼並非線上跑的代碼,不過已經五髒俱全,如果有任何疑問,歡迎一起討論。轉載註明出處:http://blog.csdn.net/lengzijian/article/details/8315133#include <ev.h>#include <stdio.h>#include
Time of Update: 2018-12-05
problemThe following is not allowed:switch (a){ case 1: int a = 6; //stuff break; case 2: //stuff break;}The following is allowed:switch (a){ case 1: { int a = 6; //stuff
Time of Update: 2018-12-05
優先順序隊列Priority
Time of Update: 2018-12-05
【1】(Page171)switch-case問題對於switch-case,普遍的誤解是:只有與被匹配的case標籤相關聯的語句才被執行。實際上,程式從該點開始執行並繼續越過case邊界直到switch語句結束。例如,下面記錄母音字母個數的switch程式的實現就是不正確的:#include "stdafx.h"#include <iostream>#include "stdlib.h"using namespace std;int
Time of Update: 2018-12-05
引用和指標參數,這兩種參數都允許函數修改實參,也都允許有效地向函數傳遞大型類對象。那麼,怎麼樣決定把函數參數聲明成引用還是指標呢?引用必須被初始化為指向一個對象,而且一旦初始化了,就不能指向其他對象。而指標可以指向一系列不同的對象也可以什麼都不指向。因為指標可能指向一個對象或者沒有任何對象,所以函數在確定指標實際指向一個有效地對象之前不能安全地解引用一個指標。例如:class X;void manip(X *px){//在解引用之前確定它非0if(px !=
Time of Update: 2018-12-05
一、容器vector使用vector必須包含標頭檔<vector>:#include<vector>型別vector是一個定義於namespace std內的template:template<class _Ty,class _Ax = allocator<_Ty>