Time of Update: 2017-01-18
直接上代碼了,說明看注釋就可以:利用靜態成員構建鏈表#include <IOSTREAM.H> class Node { public: Node(int val, Node* next):val(val),next(next){} //~Node(){cout<<"del "<<val<<endl;} static void showAll();//列印全部節點的值 static void
Time of Update: 2017-01-18
1.函數模板的聲明和模板函數的產生1.1函數模板的聲明函數模板可以用來建立一個通用的函數,以支援多種不同的形參,避免重載函數的函數體重複設計。它的最大特點是把函數使用的資料類型作為參數。函數模板的聲明形式為:template<typename 資料類型參數標識符><傳回型別><函數名>(參數表){
Time of Update: 2017-01-18
指標為什麼要區分類型:在同一種編譯器環境下,一個指標變數所佔用的記憶體空間是固定的。比如,在16位編譯器環境
Time of Update: 2017-01-18
初始化數組int ages[3] = {4, 6, 9};int nums[10] = {1,2}; // 其餘的自動初始化為0int nums[] = {1,2,3,5,6}; // 根據大括弧中的元素個數確定數組元素的個數int nums[5] = {[4] = 3,[1] = 2}; // 指定元素個數,同時給指定元素進行初始化int nums[3]; nums[0] = 1; nums[1] = 2; nums[2] = 3; //
Time of Update: 2017-01-18
俗話說,Emacs是神的編輯器,而Vim是編輯器之神。高手程式員都是用這兩樣神器進行開發。本人覺得,Emacs之所以厲害,是因為許多在其他編輯器下必須用滑鼠點選很多步的操作,在Emacs下都可以通過鍵盤來完成。大大地節省了你在顯示器上找按鈕的時間。Emacs在Linux上運行感覺比windows流暢些,用Emacs編輯程式時,手基本不用離開鍵盤,就可以完成所有的工作。那麼今天就讓我們看看如何利用Emacs來調試C++程式。一、安裝Emacs和GCC下載地址:Emacs:http://www.gn
Time of Update: 2017-01-18
首先我們先來看一個稍微簡單些的實現方式:#include <stdio.h>#include <stdlib.h>#define N 15int chessboard[N + 1][N + 1] = { 0 };int whoseTurn = 0;void initGame(void);void printChessboard(void);void playChess(void);int judge(int, int);int main(void){ initGame()
Time of Update: 2017-01-18
C++準確說是一門中級語言,介於彙編和進階語言之間吧,要求程式員瞭解電腦的內部資料存放區。個人認為,作為學生還是花功夫學C++,因為《設計模式》《資料結構》這些課程基本上還是C++應付的比較好(我的切身體會),學習 C++,認真閱讀c++ primer,而後配合 The ADAPTIVE Communication Environment (ACE)瞭解設計模式,
Time of Update: 2017-01-18
linux下udp伺服器端源碼樣本:#include <errno.h> #include <sys/socket.h> #include <netinet/in.h> #include <arpa/inet.h> #include <stdlib.h> #include <string.h> #include <netinet/in.h> #include <stdio.h> #include
Time of Update: 2017-01-18
tcp用戶端樣本#include <errno.h> #include <sys/socket.h> #include <netinet/in.h> #include <arpa/inet.h> #include <stdlib.h> #include <string.h> #include <netinet/in.h> #include <stdio.h> #include
Time of Update: 2017-01-18
1.列出當前網卡:SetupDiEnumDeviceInfo2.找出當前無線網卡的名字(用natvie wifi api)3.卸載\安裝此驅動問題:log為:SetupDiSetClassInstallParams failed. -536870347 完整代碼如下:// ControlWirelessCard.cpp : Defines the entry point for the console application. // #include "stdafx.h"
Time of Update: 2017-01-18
一直對C++中的delete和delete[]的區別不甚瞭解,今天遇到了,上網查了一下,得出了結論。做個備份,以免丟失。 C++告訴我們在回收用 new 分配的單個對象的記憶體空間的時候用 delete,回收用 new[] 分配的一組對象的記憶體空間的時候用 delete[]。 關於 new[] 和 delete[],其中又分為兩種情況:(1) 為基礎資料型別 (Elementary Data Type)分配和回收空間;(2)
Time of Update: 2017-01-18
JsonCpp部署方法:在http://sourceforge.net/projects/jsoncpp/中下載最新版本的jsoncpp庫源碼。之後將jsoncpp-src-版本號碼-tar.gz解壓出來,開啟makefiles中的jsoncpp.sln進行編譯,之後build檔案夾下的vs71\debug\lib_json中會有一個.lib靜態連結庫。JsonCpp主要包含三種類型的class:Value Reader Writer。jsoncpp中所有對象、類名都在namespace
Time of Update: 2017-01-18
Windows應用想要實現串連wifi,監聽wifi訊號,中斷連線等功能,用NativeWifi API是個不錯的選擇。開啟MSDN,搜尋NativeWifi Api,找到Native
Time of Update: 2017-01-18
簡單原廠模式執行個體題目:實現計算機的輸入2個數和運算子,得到結果工程結構:(1)標頭檔COperationFactory.h(運算子工廠類)(2)源檔案SimpleFactory.cpp(用戶端應用類,主函數所在)(3)運算類COperation.cpp(運算子基類)COperation.hCOperationAdd.h(加法運算子子類,繼承於COperation)COperationDiv.h (除法運算子子類,繼承於COperation)COperationMul.h
Time of Update: 2017-01-18
State模式允許一個對象在其內部狀態改變時改變它的行為。對象看起來似乎修改了它的類。在物件導向系統的開發和設計過程,經常會遇到一種情況就是需求變更(Requirement
Time of Update: 2017-01-18
訪問者模式(visitor),表示一個作用於某對象結構中的各元素的操作。它使你可以在不改變各元素的類的前提下定義作用於這些元素的新操作。訪問者模式適用於資料結構相對穩定的系統。它把資料結構和作用於結構上的操作之間的耦合解脫開,使得操作集合可以相對自由地演化。訪問者模式的目的是要把處理從資料結構分離出來。很多系統可以按照演算法和資料結構分開,如果這樣的系統有比較穩定的資料結構,又有易於變化的演算法的話,使用訪問者模式就是比較合適的,因為訪問者模式使得演算法操作的增加變得容易。反之,如果這樣的系統的
Time of Update: 2017-01-18
解譯器模式(interpreter),給定一個語言,定義它的文法的一種表示,並定義一個解譯器,這個解譯器使用該表示來解釋語言中的句子。解譯器模式需要解決的是,如果一種特定類型的問題發生的頻率足夠高,那麼可能就值得將該問題的各個執行個體表述為一個簡單語言中的句子。這樣就可以構建一個解譯器,該解譯器通過解釋這些句子來解決該問題。當有一個語言需要解釋執行,並且你可將該語言中的句子表示為一個抽象文法樹時,可使用解譯器模式。用瞭解釋器模式,就意味著可以很容易地改變和擴充文法,因為該模式使用類來表示文法規則
Time of Update: 2017-01-18
由遇到的問題引出享元模式:在物件導向系統的設計何實現中,建立對象是最為常見的操作。這裡面就有一個問題:如果一個應用程式使用了太多的對象,就會造成很大的儲存開銷。特別是對於大量輕量級(細粒度)的對象,比如在文檔編輯器的設計過程中,我們如果為沒有字母建立一個對象的話,系統可能會因為大量的對象而造成儲存開銷的浪費。例如一個字母"a"在文檔中出現了100000
Time of Update: 2017-01-18
作用:用一個中介對象來封裝一系列的對象互動。中介者使各對象不需要顯式地相互引用,從而使其耦合鬆散,而且可以獨立地改變它們之間的互動。結構圖如下:Colleage抽象同事類,而ConcreteColleage是具體同時類,每個具體同事只知道自己的行為,而不瞭解其他同事類的情況,但它們卻都認識中介者對象,Mediator是抽象中介者,定義了同事對象到中介者對象的介面,ConcreteMediator是具體中介者對象,實現抽象類別的方法,它需要知道所有具體同事類,並從具體同事接受訊息,向具體同事對象發
Time of Update: 2017-01-18
問題描述:一個int數組,裡面資料無任何限制,要求求出所有這樣的數a[i],其左邊的數都小於等於它,右邊的數都大於等於它。能否只用一個額外數組和少量其它空間實現。