Time of Update: 2018-12-04
在開發時,需要列印相關的日誌,協助開發人員進行偵錯工具。Object C中利用NSLog列印相關日誌資訊,在這裡我只事記錄一些簡單的內容。NSLog的定義NSLog定義在NSObjCRuntime.h中,如下所示:void NSLog(NSString *format, …);基本上,NSLog很像printf,同樣會在console中輸出顯示結果。不同的是,傳遞進去的格式化字元是NSString的對象,而不是chat *這種字串指標。樣本NSLog可以如下面的方法使用:NSLog
Time of Update: 2018-12-04
這四個操作符:static_cast, const_cast, dynamic_cast, 和reinterpret_cast static_cast 這些操作符你只需要知道原來你習慣於這樣寫,(type) expression而現在你總應該這樣寫:static_cast<type>(expression) 例如,假設你想把一個int 轉換成double,以便讓包含int 類型變數的運算式產生出浮點數值的結果。如果用C 風格的類型轉換,你能這樣寫:int firstNumber,
Time of Update: 2018-12-04
反射(Reflection)是.NET中的重要機制,通過放射,可以在運行時獲得.NET中每一個類型(包括類、結構、委託、介面和枚舉等)的成員,包括方法、屬性、事件,以及建構函式等。還可以獲得每個成員的名稱、限定符和參數等。有了反射,即可對每一個類型了如指掌。如果獲得了建構函式的資訊,即可直接建立對象,即使這個對象的類型在編譯時間還不知道。 程式碼在編譯後產生可執行檔應用,我們首先要瞭解這種可執行應用程式的結構。
Time of Update: 2018-12-04
這個挺讓人蛋疼的,看了愛忘,因為一直沒怎麼用。總結一下,以後不去c++ primer上查了。const指標分為三類:1、指向const對象的指標(1)定義形式:const double* pt;//const 在定義的最前面。(2)關鍵:pt可以改變指向,但不可以改變它所指向的那個對象的值。即它本身的值可以變化,但是不能使用pt改變被它指向的那個對象的值。很明顯嘛,pt是指向const對象的指標,const對象怎麼能改變呢?但是,pt也可以指向非const對象,但把它當做const對象看待。2、
Time of Update: 2018-12-04
1)StreamReader無法取得正確取得當前位置的問題。這個問題網上看到有人提了,參見:StreamReader緩衝引起BaseStream.Position不能反映當前Read位置的問題。不過它給出的解決方案不太認同。我的檔案有幾十兆,不想全部讀入記憶體。如果考慮用Stream/BufferedStream,這樣就得自己寫ReadLine等函數,也不是好招。2)C#中似乎只有map(即Dictionary),貌似沒multi_map?可憐我偏偏要用到這個資料結構。目前我老老實實用Dicti
Time of Update: 2018-12-04
本文已經遷移到: http://cpp.winxgui.com/cn:gc-allocator-and-boost-object-poolC++記憶體管理變革(4): boost::object_pool許式偉 (著作權聲明)2007-4-21這篇文章拖的有點久了。NeutralEvil
Time of Update: 2018-12-04
C/C++字串處理(5):std::deque與std::TextPool許式偉2008-4-4引子std::TextPool 基於 std::deque 實現。所以儘管本文討論 std::deque,但是所有的結論對 std::TextPool 同樣有效。實現概要顧名思義,這是一個“雙向隊列(double-ended queue)”。這意味著從隊列開始和結束處插入(刪除)資料的效能很好。為了達到這個目的,std::deque
Time of Update: 2018-12-04
今有c++程式:class CA{public: CA(int n1=0):_n1(n1){} virtual void vf1(){}private: int _n1;};class CAsub:CA{public: CAsub(int n1=0,int n2=1):CA(n1),_n2(n2){} virtual void vf1(){} virtual void vf2(){}private: int _n2;};int main(int argc, char*
Time of Update: 2018-12-04
難度: 先來一道思考題template<typename T, T* p>struct A{}; 假若有個int類型的對象i,那麼對於下面這段代碼A<int, &i> obj;這個是合法的嗎? 答: A<int, &i> obj; 可能合法 或 可能不合法。什麼東西可以當作模板的參數呢?
Time of Update: 2018-12-04
Normal 0 7.8 磅 0 2 false false false MicrosoftInternetExplorer4 難度:問題: 下面這段代碼為什麼會編譯失敗呢? struct T{ operatorstd::string() const { returnstd::string(); } operatorint() const
Time of Update: 2018-12-04
難度:先閱讀下面的代碼然後來解答下面的那個問題 struct A{}; int main(){A *p = new A;p->~A();free(p);} 問題:new/delete 和 malloc/free 有哪些區別? 答:new/delete 會在分配的記憶體上調用對象的建構函式和解構函式來初始化和銷毀對象,而 malloc/free 卻不能。更重要的是new/delete 和 malloc/free 不能混用。new 是在自由儲存區中分配記憶體,delete
Time of Update: 2018-12-04
原文連結:http://www.cplusplus.com/info/faq.htmlC++ FAQ這個部分包括了關於 C++ 語言的常見各種問題。如果你對某個具體的編程問題有疑問,請去論壇。◎什麼是 C++? C++ 是一種程式設計語言。因為它是源自 C 語言,字面上來說它是“C 的進階”。要找更加介紹性的文字,請參閱 C++ 簡介 章節。◎學習 C++ 之前必須有其它語言的基礎嗎? 不。在運算式方面,C++ 是一門簡單、清晰的語言。確實,一段 C++
Time of Update: 2018-12-04
2004-11-19 21:00Const 最早想法是用於取代前置處理器#define 這個宏,從而形成常量的概念。針對常量const對象,const指標及指向const的指標,函數const型別參數,const 函數傳回型別, const類成員,及const成員函數,及對const最後理解的一些總結來描述 const。①②③④⑤⑥① const對象和const類型的對象對於這兩個概念的描述如下1. int const Object;
Time of Update: 2018-12-04
這篇文章介紹了在c++中通過mshtml實現 瀏覽器的執行個體。http://www.adp-gmbh.ch/win/misc/mshtml/ It is possible to render HTML in an ordinary Windows program with MSHTML. This makes it possible to have a web look and feel in a program. Because I think this is quite
Time of Update: 2018-12-04
大多程式員在學C++前都學過C,並且習慣於C風格(類型)轉換。當寫 C++(程式)時,有時候我們在使用static_cast和reinterpret_cast時可能會有點模糊。在本 文中,我將說明static_cast實際上做了什麼,並且指出一些將會導致錯誤的情況。泛型(Generic Types) float f = 12.3; float* pf = &f; // static cast // 成功編譯, n = 12
Time of Update: 2018-12-04
在C語言的學習中,對記憶體管理這部分的知識掌握尤其重要!之前對C中的malloc()和free()兩個函數的瞭解甚少,只知道大概該怎麼用——就是malloc然後free就一切OK了。當然現在對這兩個函數的體會也不見得多,不過對於本文章第三部分的內容倒是有了轉折性的認識,所以寫下這篇文章作為一個對知識的總結。這篇文章之所以命名中有個“淺談”的字眼,也就是這個意思了!希望對大家有一點協助!如果不扯得太遠的話(比如說作業系統中虛擬記憶體和實體記憶體如何運做如何管理之類的知識等),我感覺這篇文章應該是比
Time of Update: 2018-12-04
這次因為項目被劃分成多個dll模組,而且在某個dll模組中new出來的記憶體塊可能會穿越其他的dll,最後可能不是在它出生的那個dll中被銷毀,這會導致記憶體配置回收出現問題。 考慮了一下,決定由一個dll模組單獨的維護記憶體申請和釋放,其他任何需要動態申請記憶體的模組都調用該dll中的介面即可。不過在實際操作中,有一點點問題:我本來是希望在dll中重載好new和delete,這樣其他模組只要和dll連結就可以,最大限度複用代碼。但是實際上實驗下來是不行的。new重載後公開為匯出函數倒是沒問題,
Time of Update: 2018-12-04
C++的std::string的“讀時也拷貝”技術!趙錕原文:http://coolshell.cn/?p=1443 C++的std::string的讀時也拷貝技術!嘿嘿,你沒有看錯,我也沒有寫錯,是讀時也拷貝技術。什麼?我的錯,你之前聽說寫過時才拷貝,嗯,不錯的確有這門技術,英文是Copy On Write,簡寫就是COW,非常’牛’!那麼我們就來看看這個’牛’技術的效果吧。我們先編寫一段程式01.#include <string> 02.#include
Time of Update: 2018-12-04
原文:http://cocre.com/?p=933 —— 酷殼 之前發表了《6個變態的C語言Hello World程式》[酷殼連結] [CSDN連結],主要是是像大家展示了一些C語言的變態玩法。也向大家展示了一下程式是可以寫得讓人看不懂的,在那篇文章中,可以看到很多人的留言,很多人都覺得很好玩,是的,那本來是用來供朋友們“消遣作樂”,供娛樂娛東而已,不必太過認真。
Time of Update: 2018-12-04
作者:zhanghx6986 來源:http://blog.csdn.net/zhanghx6986 雖然在UNIX上用C語言做開發已經有一段時間了,但是我不得不承認,自己單元測試做的並不好。恰好最近有新的開發工作單位,就學習了一些關於測試驅動開發的知識,準備改進自己的單元測試。XP編程已經興起好一段時間了,也形成了很多優秀的單元測試架構,例如:JUnit,想必使用JAVA的朋友,對該測試架構已經很熟悉了。我記得《程式員》雜誌也有一期專門以TDD作為專題。其實,我真的好羨慕JAVA程式員^_^,