Time of Update: 2018-12-07
原文地址:http://hi.baidu.com/shuiyuan2004/blog/item/7d4b43eccdf5c2d32f2e213f.htmlC++單元測試架構的比較單元測試現在已經成為標準的編程實踐,但是C++缺少Java和.Net平台語言的反射機制,所以無法枚舉測試方法,必須手工添加,或者使用一些特別的宏,弄得代碼非常難看。Java語言單元測試是JUnit的天下,C#基本上都用NUnit,而C++則群花怒放,單元測試架構非常多,JUnit移植過來的CppUnit,Boost::
Time of Update: 2018-12-07
1 "Times New Roman";mso-hansi-font-family:"Times New Roman"'>函數模板mso-bidi-font-family:Arial">1.1 初探函數模板mso-hansi-font-family:"Times New Roman"'>函數模板的定義mso-pattern:gray-15
Time of Update: 2018-12-07
cGameHost包含的一個關鍵管理對象就是資源管理員(resource manager).我們的程式使用他自己的管理系統來管理我們將要建立的裝置。這個資源管理系統的根,cResourcePoolManager類,是建立在一個我們引擎中提供的支援類的集合的基礎上的。在我們討論資來源物件本身,我們花一點時間來瞭解這個我們將要使用的資源集區和將會使用的資源管理計劃。 建立資料池
Time of Update: 2018-12-07
管理共用資料資源 引擎包含集中不同的共用資料。這些資源表示的資料在多人遊戲中訪問和共用。例子包括紋理,頂點緩衝,索引緩衝和渲染方法。事實上,許多共用資源都是依賴於顯卡,因為他們使用顯存作為他們儲存的一部分。這些裝置的管理器需要訪問這些依賴資源。例如,顯示管理器需要訪問所有紋理,頂點和索引緩衝這樣它能夠處理那些顯示裝置失去和重新得到的介面的情況。
Time of Update: 2018-12-07
索引緩衝和頂點緩衝 索引緩衝和頂點緩衝資源在例子引擎中使用得非常頻繁,並且把他們作為獨立資源是很有用的。對我們引擎的大部分資料來說,在那些傳統模型不提供索引和頂點緩衝的時候保留他們然後在某個時候覆蓋整個模型符合我們的基本要求。索引和頂點緩衝對於動態資料特別有用,當使用裝置依賴資源的時候他們必須被很小心的處理。使用動態頂點和索引緩衝使我們能夠隨時建立幾何體或者在CPU上動畫已經存在的物體。在我們構建地形引擎的時候,我們使用這兩種辦法。
Time of Update: 2018-12-07
設計模式裡面反射用的很多,還有.Net,java裡面反射機制已經很成熟了,而C++貌似一直沒有要支援反射的跡象試著自己想想解決辦法,首先想到的就是利用原廠模式,很簡單,利用一個字串 new出相應的對象,代碼大概是這樣的if(className == "A"){ return new
Time of Update: 2018-12-07
在編程工作中常會遇到在一個“類”中通過函數指標調用成員函數的要求,如,當在一個類中使用了C++標準庫中的排序函數qsort時,因qsort參數需要一個“比較函數”指標,如果這個“類”使用某個成員函數作“比較函數”,就需要將這個成員函數的指標傳給qsort供其調用。本文所討論的用指標調用 “類”的成員函數包括以下三種情況: (1).將 “類”的成員函數指標賦予同類型非成員函數指標,如: 例子1#include <stdlib.h>typedef void (*Function1)(
Time of Update: 2018-12-07
1 第六章 模板實戰從某種意義上講,模板是位於宏和普通聲明之間的一種構造。 1.1 包含模型我們可以用幾種方法來組織模板原始碼,其中最常用的就是包含模型。所謂包含模型,其實可以有三種組織方式:l 直接在標頭檔中採用內嵌函式的編寫方式來寫模板類和模板函數;(通過我在VS2005上做實驗,目前只支援這種模型)l 申明和定義分開,但是都寫在標頭檔中;l
Time of Update: 2018-12-07
文章目錄 Runner.cppMyFooTest.cpp (same goes for MyBarTest.cpp) 原文地址:http://www.beroux.com/english/articles/boost_unit_testing/So many C++ unit testing framework exist, so why Boost Test Library? The excellent but outdated
Time of Update: 2018-12-07
1 第七章 模板術語1.1 類模板還是模板類在c++中,類和聯合都被稱為類類型。 l 類模板(class template):該類是個模板,它代表的是:整個家族的參數化描述;l 模板類(template class):n 作為類模板的同義字;n 從模板產生的類;n 具有一個template-id名稱的類; 正是由於template class具有不確定性,所以應當避免使用。 1.2
Time of Update: 2018-12-07
1 第四章 非類型模板參數對於函數模板和類模板,模板參數並不局限於類型,普通值也可以作為模板參數。1.1 非類型的類模板參數例如:Template<typename T, int MAXSIZE>Class Stack{Private: T elems[MAXSIZE];…}; Int main(){ Stack<int, 20> int20Stack; Stack<int, 40>
Time of Update: 2018-12-07
今天開始總結C++中的類操作這次學習是用一個自己寫的鏈表來學習的!首先回顧一下今天學到了:1.建構函式的聲明和定義建構函式就是在類聲明對象的時候,首先啟動的函數,它是用來對類對象初始化的函數,在沒有給出建構函式的情況下系統會預設一個建構函式 像這樣:class CBox{ public: CBox();}//Box.hCBox::CBox(){}這樣的函數就是建構函式,至於它的書寫文法就不再贅述了!建構函式的用處:1.初始化
Time of Update: 2018-12-07
老師的作業,讓做一個區域網路聊天室!看了孫鑫的視頻!自己也簡單的實現了一下!感覺挺棒的!一個中心-----"練習"下面貼出自己的簡單理解,告訴自動掠過,,,,,,,,,聊天室基於UDP協議,1.通訊端初始化AfxSocketInit()函數初始化 1 if(!AfxSocketInit())2 {3 AfxMessageBox("載入通訊端失敗庫!");4 return FALSE;5 }
Time of Update: 2018-12-07
買了一本《C++程式設計語言(特別版)》,研讀了兩個禮拜,感覺特棒(當然,現在碰到了痛點,趕緊趁前面沒有忘記,作為複習,鞏固一下,高手掠過)開始之前,把自己編譯時間的錯誤發一下:i.。。。。for writing : 說明你得程式正在運行,關了重新運行ii.類對象作為參數是的錯誤,說什麼讓你加逗號:有可能是你的類名字寫錯了@ 1.枚舉的應用定義:1 enum keyword {ASM,AUTO,BREAK};//定義了一個 keyword 枚舉類型(可以說是新的類型)應用: 1 void
Time of Update: 2018-12-07
試題解釋 那個題打錯字了,是:友元運演算法符,指的是以友元的形式重載運算子。運算子多載兩種形式:成員函數和友元若是成員函數 在重載時會有一個隱藏的參數 *this 所以答案是 C若是友元的話就不存在預設參數了,答案是B 這個錯誤主要是沒看清找不必要的。函數主要是函數名 函數體 參數 傳回值等。 數組的定義和執行個體化考察:本題定義了一個二維數組,分別是x[0]和x[1]兩個。所以 x[1]就是4的地址 *x[1]表示4這個值了。而且,在x[][]二維的定義中 的初始化方式
Time of Update: 2018-12-07
作者:Vamei 出處:http://www.cnblogs.com/vamei 歡迎轉載,也請保留這段聲明。謝謝! gdb是the GNU Debugger的簡稱。它是一款UNIX平台的調試器(debugger),可用於為C, C++, Objective-C, Java, Fortran等程式debug。在gdb中,你可以通過設定斷點(break
Time of Update: 2018-12-07
文章目錄 作者:Vamei 出處:http://www.cnblogs.com/vamei 歡迎轉載,也請保留這段聲明。謝謝! 在編譯一個大型項目的時候,往往有很多目標檔案、庫檔案、標頭檔以及最終的可執行檔。不同的檔案之間存在依賴關係(dependency)。比如當我們使用下面命令編譯時間:$gcc -c -o test.o test.c$gcc -o helloworld
Time of Update: 2018-12-07
C堆上申請二維數組之前寫了一篇《C++堆上申請二維數組》,應該說C++的方式相對於C還是更簡單容易理解一些,那麼C如何寫呢?方法一:通過數組指標申請連續的空間 1 #include <stdio.h> 2 #include <stdlib.h> 3 int main() 4 { 5 // 申請a[3][2]三行兩列二維數組 6 int (*a)[2] = (int(*)[2])malloc(sizeof(int)*3*2); 7 a[0][0] =
Time of Update: 2018-12-07
cocos2d-x 中有個代理函數:1 CCLayer::menuHandler(cocos2d::CCObject *pSender)2 {3 }當點擊不同的功能表項目時,這個函數會被調用。於是需要通過 pSender 來判斷哪個功能表項目被點擊了。無論是通過 if 語句還是 switch 語句,不能達到常數級的時間複雜度,視覺效果也不好。這時需要表驅動法,指向類成員的指標有點搞,查了下 Bxxxx Strxxx大師的書,終於弄明白寫法: 1 void
Time of Update: 2018-12-07
在Lua的官方C API中,Lua與C通過一個虛擬棧來互動資料。例如有個a.lua的檔案中有求和函數:function sum(a, b) return a + bend要在C代碼中開啟lua檔案,並調用求和函數,大致要這樣寫:lua_State *s = luaL_newstate();luaL_openlibs(s);luaL_loadfile(s, "a.lua");lua_getglobal(s, "sum");lua_pushinteger(s,