Time of Update: 2018-12-04
為查看方便,收集逸出字元如下:逸出字元 意義 ASCII碼值(十進位) /a 響鈴(BEL) 007 /b 退格(BS) 008 /f 換頁(FF) 012 /n 換行(LF) 010 /r 斷行符號(CR) 013 /t 水平製表(HT) 009 /v 垂直製表(VT) 011 // 反斜線 092 /? 問號字元 063 /' 單引號字元 039 /" 雙引號字元 034 /0 Null 字元(NULL) 000 /ddd 任一字元 三位八進位 /xhh 任一字元 二位十六進位 注意:1,
Time of Update: 2018-12-04
ASCII碼錶大家都很熟悉了吧,利用碼的排列規律,我們可以很容易的實現一些操作,比如判斷是否是數字、大小寫轉換等。這裡寫大小寫轉換的函數:char toUpper(const char& ch){ return ch & 0x5F;}char toLower(const char& ch){ return ch | 0x20;} 函數原理:大小寫字母的差是32,比如大寫的A是65,小寫A是97,所以我們把右邊數第6位置0或者1就能實現大小寫轉換。轉換成大寫時,
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
From Forum Nokia Wiki 提示 詳情如下: 1 如何在程式中支援本地語言注釋? 答: 在Carbide.c++菜單,修改當前編輯視窗的Encoding為UTF-8。 在Carbide.c++菜單找: "Edit"->"Set Encoding..."->Other: UTF-8 上面是修改當前已開啟編輯視窗的Encoding。還可以配置當前項目的Encoding, 開啟工程屬性(press ALT+Enter): "Resource"->"Text
Time of Update: 2018-12-04
Carbide.C++這個IDE是基於Eclipse的,裝好之後就內建了CVS版本控制外掛程式,但要是想用SVN的話就得自己添加外掛程式了,這裡用的是Subclipse(一搜就搜到這個,貌似就是這個外掛程式獨佔了)。我的Carbide.C++是2.0版本,裝的Subclipse是1.6.x,早期版本應該也是可以用的吧。開啟Carbide.C++,然後在功能表項目中的Help > Software Updates > Find and Install 中選擇 New Remote
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
OverviewSymbian cookies are stored in the http header collection like other header information, but can be tricky to retrieve. Attempting to gather them the standard way returns a single item whose name is "Set-cookie" and whose value is "Cookie".
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
區別關鍵在於:發生範圍和virtual關鍵字。一、重載發生的條件:(1) 相同的範圍(在同一個類中);(2) 函數名字相同;(3) 參數不同(個數或類型不同);(4)與 virtual關鍵字無關。二、覆蓋發生的條件有:(1) 不同的範圍(倆函數分別位於基類和衍生類別);(2) 函數名字相同;(3) 參數相同;(4)
Time of Update: 2018-12-04
應該用fscanf()函數來讀取下面給個小例子: 儲存代碼時,以.C為尾碼名.用VC6.0編譯(TC2.0也可,但不能顯示漢字) 用VC6.0編譯時間,不能點"!"來運行程式,因為這樣程式是不能建立檔案的. 應該在Debug檔案夾裡面再運行程式(VC6.0編譯器時,產生的可執行檔放在Debug檔案夾裡面,裡面要有"成績.txt"檔案)#include<stdio.h>#include<conio.h>void
Time of Update: 2018-12-04
下面這個問題摘自論壇的一個文章:已知3個類O、P和Q,類O中定義了一個私人方法F1、一個公有方法F2和一個受保護的方法F3:類P和類Q是類O的衍生類別,其繼承方式如下所示: class P : protected O {…}; class Q : public O {…};關於方法F1的描述中正確的是___(34)___;關於方法F2韻描述中正確的是___(35)___;關於方法F3的描述中正確的是___(36)___。 (34)A.方法F1無法被訪問 B.只有在類O內才能存取方法F1
Time of Update: 2018-12-04
C/C++字串處理盤點:Char*/String/StringBuilder/TextPool/Rope許式偉2008-3-20概要在介紹StdExt的時候,我曾經提到,STL設計精良,但是以下幾塊仍然設計不足(或缺失):allocator(記憶體管理)string(字串處理/文本處理)parallel
Time of Update: 2018-12-04
C/C++字串處理(2):String - 常字串許式偉2008-3-23unfoldTable of Contents概要理解String(BasicString)關於TempString基類源碼參考閱讀概要我們知道,C++標準庫(STL)提供了string(basic_string)類進行字串操作。字串很可能除了記憶體
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++字串處理(4):std::vector與std::StringBuilder許式偉2008-3-28引子std::StringBuilder 基於 std::vector 實現。所以儘管本文討論 std::vector,但是所有的結論對 std::StringBuilder 同樣有效。實現概要簡單來講,std::vector 是一個動態數組,管理的是一塊線性、可動態增長的記憶體。如何加速 std::vector?使用 vector::reserve在大致可預估 vector
Time of Update: 2018-12-04
難度: Normal 0 7.8 磅 0 2 false false false MicrosoftInternetExplorer4 現代程式開發最關注的一件事之一就是如何提高代碼的可複用性和可維護性。 OOP提供了抽象概念來構建一個統一的世界模型,具像的物理對象被實現在這個簡單的抽象模型體系中,最終形成龐大的樹型結構來覆蓋由該抽象涉及到的方方面面,可複用性由此誕生。
Time of Update: 2018-12-04
這是以前(什麼時候?)做的一些零碎筆記(應該是在看c++ primer的時候),不一定正確,但可供參考~~比較好的一個學習方法:<1>.通過一個一個的執行個體學習(可以是每一章一個執行個體,始於一個簡單的例子,最後變成一個參考價值較高的完善例子)<2>.像下面一樣記錄tips,作為備忘(通過自己的語言描述出來,可以加深理解和映像)<3>.無它,手熟爾.1.extern
Time of Update: 2018-12-04
在0.2版的發布中,Nana提供了對PNG的支援,但是在預設狀態下,為了方便快捷地配置程式庫,Nana關閉了支援PNG的特性。對PNG的支援,Nana C++
Time of Update: 2018-12-04
最好先看問題,自己試著回答一下然後再看答案,看你能答對幾道?1.這樣的初始化有什麼問題?char *p = malloc(10); 編譯器提示“非法初始式” 云云。答:這個聲明是靜態或非局部變數嗎?函數調用只能出現在自動變數(即局部非靜態變數) 的初始式中。因為靜態變數的地址必須在編譯的過程中就確定下來而malloc()申請的記憶體位址是在運行時確定的。2. *p++ 自增p 還是p 所指向的變數?答:尾碼++ 和-- 操作符本質上比首碼一目操作的優先順序高, 因此*p++ 和*(p++)