Time of Update: 2018-12-05
喜歡最後那段比喻一、預備知識—程式的記憶體配置 一個由c/C++編譯的程式佔用的記憶體分為以下幾個部分 1、棧區(stack)—> 由編譯器自動分配釋放,存放函數的參數值,局部變數的值等。其操作方式類似於資料結構中的棧。 2、堆區(heap)—> 一般由程式員分配釋放,若程式員不釋放,程式結束時可能由OS回收。注意它與資料結構中的堆是兩回事,分配方式倒是類似於鏈表,呵呵。
Time of Update: 2018-12-05
1、c中可以定義可變形參的函數(可變形參 以前還沒聽過呢),最熟悉的printf() 就是典型的可變形參的函數。void myFunciton(paraList,...);void myFunction(...);那麼可變形參的函數跟void形參的函數什麼區別的啊?當然有區別了,調用可變形參的函數時是可以傳遞參數的奧!!2、不要以為傳回值是void 類型的函數中就沒有return !void herFunction(int temp){cout << temp <<
Time of Update: 2018-12-05
VC學習筆記1:按鈕的使能與禁止 用ClassWizard的Member Variables為按鈕定義變數,如:m_Button1; 則 m_Button1.EnableWindow(true); 使按鈕處於允許狀態 m_Button1.EnableWindow(false); 使按鈕被禁止,並變灰顯示 VC學習筆記2:控制項的隱藏與顯示 用CWnd類的函數BOOL ShowWindow(int nCmdShow)可以隱藏或顯示一個控制項。 例1: CWnd
Time of Update: 2018-12-05
C語言中如何擷取時間?精度如何?1 使用time_t time( time_t * timer ) 精確到秒2 使用clock_t clock() 得到的是CPU時間 精確到1/CLOCKS_PER_SEC秒3 計算時間差使用double difftime( time_t timer1, time_t timer0 )4 使用DWORD GetTickCount() 精確到毫秒5 如果使用MFC的CTime類,可以用CTime::GetCurrentTime() 精確到秒6
Time of Update: 2018-12-05
http://baike.baidu.com/view/1065598.html?fromTaglist#1C中CONST的使用: 雖然這聽起來很簡單,但實際上,const的使用也是c語言中一個比較微妙的地方,微妙在何處呢?請看下面幾個問題。 問題:const變數 & 常量 為什麼下面的例子在使用一個const變數來初始化數組,ANSI C的編譯器會報告一個錯誤呢? const int n = 5; int
Time of Update: 2018-12-05
Visual C++如何:使用 XCopy 進行部署來源:http://msdn2.microsoft.com/zh-cn/library/ms235291%28VS.80%29.aspx 本主題示範如何通過將應用程式檔案從一台電腦複製到另一台電腦來部署應用程式。此技術對於在其他電腦上調試應用程式很有用。有關此部署方案的背景,請參見部署方案樣本。將 Visual C++ 庫 DLL 部署為共用組件Visual C++ 可轉散發元件包可用於部署所有 Visual C++
Time of Update: 2018-12-05
在C++中如何將ActiveX控制項所使用的BSTR資料轉換成CHAR字元數組? BSTR類型是COM中使用的標準字串類型。它其實是一個32位指標,儲存字串首字元的地址。 在C++中使用ActiveX控制項編程時經常會遇到聲明為VARIANT* 類型但實際是BSTR資料的參數,如在使用WebBrowser2瀏覽器控制項時候:BeforeNavigate2Explorer1(LPDISPATCH pDisp, VARIANT* URL, VARIANT* Flags,
Time of Update: 2018-12-05
來源:http://cbqcgq.blog.hexun.com/8892167_d.html C語言時間函數 [原創 2007-04-16 23:30:50] C語言的標準庫函數包括一系列日期和時間處理函數,它們都在標頭檔中說明。下面列出了這些函數。在標頭檔中定義了三種類型:time_t,struct tm和clock_t。 在標頭檔中說明的C語言時間函數 time_t time(time_t *timer); double difftime(time_t time1,
Time of Update: 2018-12-05
對於 .NET 編程,Visual C++ 支援建立三種不同類型的組件和應用程式:混合類型、純類型和可驗證類型。三者都可通過 /clr(公用語言運行庫編譯)編譯器選項來獲得。備忘有關可驗證程式集的更多資訊,請參見:混合、純 MSIL 和可驗證編譯模式的功能比較 如何:遷移到 /clr:pure 如何:建立可驗證的 C++ 項目 如何:遷移到 /clr:safe 結合使用 SQL Server 和可驗證的程式集 C++ 安全性最佳做法 混合類型 (/clr)混合程式集(用 /clr
Time of Update: 2018-12-05
#include <iostream>using namespace std;int main(int argc, char* argv[]){ int a[5] = {1,2,3,4,5}; printf("%d/n",a); printf("%d/n",a + 1); printf("%d/n",&a + 1); return 0} 以上代碼的輸出結果為:130901213090161309032 1)
Time of Update: 2018-12-05
在win7 64系統下編譯不了使用vld的64位程式,在網上找到下面這篇文章,文章內的方法可以在vs2010 64中實現。如下:淺談一下C++記憶體流失的檢測,首先我們需要知道程式有沒有記憶體泄露,然後定位到底是哪行代碼出現記憶體泄露了,這樣才能將其修複。 最簡單的方法當然是藉助於專業的偵查工具,比較有名如BoundsCheck工具,功能非常強大,相信做C++開發的人都離不開它。此外就是不使用任何工具,而是自己來實現對記憶體泄露的監控,分如下兩種情況 一. 在 MFC
Time of Update: 2018-12-05
1.覆蓋system panes這個方法主要用在傳統的view架構中,當view不是全屏時,可以通過調用CCoeControl::SetExtentToWholeScreen()方法來擷取全屏。不過應該在MyView::ConstructL中調用ActivateL()之前調用。如下 void CHelloWorldPlusAppView::ConstructL(const TRect& aRect){ // Create a window for this
Time of Update: 2018-12-05
#include "stdafx.h"#include <iostream>using namespace std;int _tmain(int argc, _TCHAR* argv[]){ cout<<"類型type/t/t/t"<<"大小size"<<endl; cout<<"bool /t/t/t"<<sizeof(bool)<<endl; cout<<"char /t/t/t"&
Time of Update: 2018-12-05
C++是一個如此複雜的語言,可以分解為4大部分:1.C語言:比如內建資料類型,數組,指標,預先處理,語句等內容均來源於C。2.物件導向的C++:類、建構函式,解構函式,封裝,繼承,派生,多態,虛函數。3.泛型C++:就是使用模板編程。4.STL庫:各種容器,迭代器,演算法,函數對象。由於有這4種不同的風格,所以當你對內建資料類型操作時,通過值傳遞比通過引用傳遞更高效;但當你使用的是自訂的對象時,由於建構函式和解構函式的存在,傳遞const引用更好。但當你使用STL庫時,由於STL是通過指標實現的
Time of Update: 2018-12-05
我之前的OpenCV的學習,都是C++的,主要的參數資料是使用者手冊和一本書《OpenCV 2 Computer Vision Application Programming Cookbook》(網上可以下載到,但是沒有中文版),這本書的前七章的主要內容我基本都放到了部落格上。(後面的內容有時間在與大家繼續分享。)這本書最大的特點是通俗易懂—因為它是一本“Cookbook”。對很多理論性的內容,都是淺嘗輒止的。而且由於C++的封裝,程式裡不會出現那麼多的指標,這對於我這種C語言水平一般的人來說,
Time of Update: 2018-12-05
經過了大約兩個月的時間,終於是看完了C++primer的大部分內容(最後一章:特殊工具與技術沒有看)。看完之後覺得自己有責任從自己的角度,提出對於這本書的一些不負責任的看法。
Time of Update: 2018-12-05
c++中的關聯容器主要是map、set,已經multimap、multiset。為了講map,得先將pair類型:pair就是一個兩個類型的組合,比如一個人的學號就可以是pair<int,string>,其中的int是學號,string是名字。map就是一個容器,裡面裝的就是若干個pair。每個pair的第一個元素,稱為鍵(注意鍵的類型必須支援小於(<)操作!),第二個元素,稱為值。對於普通的map,每個鍵都對應一個值。這樣的看起來,鍵類似於數組的下標,而值類似於數組的值。ma
Time of Update: 2018-12-05
1、可採用建構函式的初始化列表:Book::book():size(100),weight(50){}//假設size weight 均為int類型 類名為Book2、若採用預設的建構函式(或者說編譯器建立的建構函式), 則有: A 、如果該對象在全域範圍中定義(不在任何的函數中),或者是定義為靜態局部對象:類類型由建構函式初始化 , 內建類型的成員變數初始化為0 B、如果對象在局部範圍中定義:類類型由建構函式初始化 , 內建類型的成員變數沒有被初始化For
Time of Update: 2018-12-05
來說說C語言方面的圖書。什麼,C語言?有讀者奇怪了。沒錯,這一次的主角就是誕生於1973年如今已經兒孫滿堂的C語言。我們之所以要談及C,不僅僅是因為它的影響深遠,這完全可以從C系列語言家族的興旺發達得到證明:C++、Java和C#以及Objective
Time of Update: 2018-12-05
#ifndef _ThreadPool_H_#define _ThreadPool_H_#pragma warning(disable: 4530)#pragma warning(disable: 4786)#include <cassert>#include <vector>#include <queue>#include <windows.h>using namespace std;class ThreadJob //工作基類{public: