Time of Update: 2018-12-04
前幾天突然使用到了Nullable類型,因為比較少用,所以忘了如何使用,查閱了相關資料,總結如下(參考之MSDN)。1. Nullable類型是一個結構:System.Nullable<T>, 書寫格式為:T?。其中T為任何實值型別。2.
Time of Update: 2018-12-04
簡介 在物件導向的系統中,設計模式是可被複用的資料結構成為了Gamma的《設計模式》書的中心主題。在這篇文章裡,我將解釋設計模式的原理,同時我將比較在Gamma的書中描繪的迭代器設計模式和標準模板庫中實現的迭代器。 設計模式的曆史摘要 在物件導向程式的早期,物件模型幾乎被認為開創了代碼設計和複用的新時代,隨著科學技術的發展,現實比宣傳的更複雜,物件導向的主體是一個強大的工具,但是並不能導致好的軟體設計,就像磚和灰並不能導致好的建築設計一樣。
Time of Update: 2018-12-04
解決大問題的一種方法是把它分解成許多小問題理想情況下這些小問題可以很容易地被解決然後再把它們合在一起就可以解決大問題了如果新分割的小問題解決起來還是太大就把它分割得再小一些重複整個過程直到能夠解決每個小問題這個策略就是分而治之divide and conquer 和逐步求精stepwise refinement 書店問題可以分解成四個子問題或任務:1 讀銷售檔案2 根據書名和出版社計算銷售量3 以出版社名稱對書名進行排序4 輸出結果我們知道怎樣解決第1 2 和4
Time of Update: 2018-12-04
1.向上強制類型轉化產生臨時變數 #include <stdio.h> class Base{public: int m_b; Base(){m_b = 1;} void Say(){ m_b=7; };};class Drived:public Base{ int m_d;}; int main(){ Derived d; ((Base)d).Say(); printf("%d", d.m_b); return
Time of Update: 2018-12-04
常量是一種標識符,它的值在運行期間恒定不變。C語言用 #define來定義常量(稱為宏常量)。C++ 語言除了 #define外還可以用const來定義常量(稱為const常量)。 1 為什麼需要常量
Time of Update: 2018-12-04
原帖地址:http://blog.csdn.net/wuyq11/archive/2008/04/13/2288072.aspx 1.硬體環境不同: C/S 一般建立在專用的網路上, 小範圍裡的網路環境, 區域網路之間再通過專門伺服器提供串連和資料交換服務. B/S 建立在廣域網路之上的, 不必是專門的網路硬體環境,例與電話上網, 租用裝置. 資訊自己管理. 有比C/S更強的適應範圍, 一般只要有作業系統和瀏覽器就行 2.對安全要求不同 C/S 一般面向相對固定的使用者群,
Time of Update: 2018-12-04
反射(Reflection): 就是能夠在運行時刻查詢到類型資訊的進程。他有以下的各個部分,可以根據你應用的需要選擇其中的一個或者某些來使用:1. Assembly:使用它來定義和載入一些Assembly, 載入存在於Assembly 中的modules,並且可以得到這個Assembly的類型,同時建立他的執行個體(MSN原文:Use Assembly to define and load assemblies, load modules that are listed in the
Time of Update: 2018-12-04
註:適合於有C++ ObjectARX開發經驗的朋友。1. 建立一個C# 的庫工程,名字就叫做HelloWorld2. 添加acdbmgd和 acmgd這兩個引用,它們都放在你的AutoCAD安裝目錄裡面3. 把啟動程式相設定為AutoCAD準備工作就這麼簡單。加入第一句語句:[assembly:
Time of Update: 2018-12-04
最近重溫一下基礎的東西,發現了一個有趣的現象,隨便寫點東西。如果一個類沒有非靜態數據成員,沒有虛函數那麼可以稱之為空基類。編譯器會對其進行內存布局優化,使得其大小為1。如:class A {}; // size = 1;class AA { static int i; } // size = 1;class AAA {void f() {} }; //size = 1;注意:大小不是0,因為編譯器會安插1個字節的內存地址,使得每個類的內存地址不同。OK, 再來一個空基類 class B {};
Time of Update: 2018-12-04
1.得到模型空間中所有實體: public List<Autodesk.AutoCAD.DatabaseServices.ObjectId> GetEntitiesInModelSpace() { List<Autodesk.AutoCAD.DatabaseServices.ObjectId> objects = new
Time of Update: 2018-12-04
用Visual C++操作INI檔案 在我們寫的程式當中,總有一些配置資訊需要儲存下來,以便完成程式的功能,最簡單的辦法就是將這些資訊寫入INI檔案中,程式初始化時再讀入.具體應用如下: 一.將資訊寫入.INI檔案中. 1.所用的WINAPI函數原型為: BOOL WritePrivateProfileString( LPCTSTR lpAppName,
Time of Update: 2018-12-04
聯編就是將模組或者函數合并在一起產生可執行代碼的處理過程,同時對每個模組或者函數調用分配記憶體位址,並且對外部存取也分配正確的記憶體位址,它是電腦程式彼此關聯的過程。按照聯編所進行的階段不同,可分為兩種不同的聯編方法:靜態聯編和動態聯編。靜態聯編是指在編譯階段就將函數實現和函數調用關聯起來,因此靜態聯編也叫早綁定,在編譯階段就必須瞭解所有的函數或模組執行所需要檢測的資訊,它對函數的選擇是基於指向對象的指標(或者引用)的類型,C語言中,所有的聯編都是靜態聯編,據我所知道的,任何一種編譯器都支援靜態
Time of Update: 2018-12-04
When I was reading to the last part of this item, it strikes me that why the derived class can call a pure virtual function? Maybe it is a gotcha from the author. If you would pardon my experience on programming, I would like to express my own idea.
Time of Update: 2018-12-04
http://blog.sina.com.cn/s/blog_6a1837e90101128k.html register:這個關鍵字請求編譯器儘可能的將變數存在CPU內部寄存器中,而不是通過記憶體定址訪問,以提高效率。注意是儘可能,不是絕對。你想想,一個CPU 的寄存器也就那麼幾個或幾十個,你要是定義了很多很多register
Time of Update: 2018-12-04
一:BinaryFormatter序列化序列化簡單點來理解就是把記憶體的東西寫到硬碟中,當然也可以寫到記憶體中(這個內容我會在後面寫一個例子).而還原序列化就是從硬碟中把資訊讀到記憶體中.就這麼簡單,呵呵,現在來看下面的例子吧!在這篇文章中我將使用BinaryFormatter序列化類別Book作為例子,希望大家能從例子中深刻體會什麼是序列化.定義類Book: [Serializable] public class Book { string name; float
Time of Update: 2018-12-04
大家都知道C語言中的隨機函數random,可是random函數並不是ANSI C標準,所以說,random函數不能在gcc,vc等編譯器下編譯通過。那麼怎麼實現VC語言中的隨機函數呢?其實,除了random函數,還有一個rand函數,這個函數也是一個隨機函數,他可以產生從0到rand_max(32767)的隨機數。#i nclude<stdio.h>#i nclude<stdlib.h>int main(){ int k; k = rand();
Time of Update: 2018-12-04
/* SK-CHINA SVCHOST virus WRITE BY S.K Compiler: DEV-CPP 4.9.9.2*//* SVCHOST.C *//* SVCHOST.EXE *//* SVCHOST.COM */#include<stdio.h> /*標準輸入輸出*/ #include<string.h> /*字串操作*/ #include<stdlib.h> /*其它函數*/ #include<process.h>
Time of Update: 2018-12-04
1 源檔案hello.c(文本)--à前置處理器----àhello.i(文本)前置處理器:將#include 包含的檔案內容插入該命令處,檢查全文處理#define宏定義,處理條件編譯命令 #if #endif 將不需要的code屏蔽掉,處理完畢後產生修改後的原始碼hello.i.2 hello.i(文本)----à編譯器------àhello.s(組譯工具 文本)編譯器:詞法分析文法分析,產生一條條的彙編語句如mov ax,bx,相當於是最佳化後的組合語言的源檔案。3 hello.s(
Time of Update: 2018-12-04
不多說廢話咯,代碼裡很清晰,學C++已經3年了,當時很多細節都沒關注過,現在看effective c++ 發現已經錯過了很多經典動作。-_-...class CPoint{int x,y;public:CPoint(int x,int y){//cout<<"constructer be call"<<endl;this->x = x;this->y = y;}CPoint(){x = 1;y = 1;}void operator ++()//return
Time of Update: 2018-12-04
UNICODE環境設定在安裝Visual Studio時,在選擇VC++時需要加入unicode選項,保證相關的庫檔案可以拷貝到system32下。UNICODE編譯設定:C/C++, Preprocessor difinitions 去除_MBCS,加_UNICODE,UNICODE在ProjectSetting/link/output 中設定Entry為wWinMainCRTStartup反之為MBCS(ANSI)編譯。Unicode :寬位元組字元集1.