Time of Update: 2017-01-19
本文執行個體講述了c++裡支援靜態數組的容器:boost.array。分享給大家供大家參考。具體分析如下:很多C++程式員都認為boost.array很有可能出現在下一代標準庫裡。對於boost.array的用法有一個基本的瞭解是很有必要的。1.
Time of Update: 2017-01-19
本文執行個體講述了C++之boost::array的用法,分享給大家供大家參考。具體如下:複製代碼 代碼如下:#include <string> #include <iostream> #include <boost/array.hpp> #include <algorithm> using namespace std; int main() {
Time of Update: 2017-01-19
本文執行個體講述了C++實現ping程式的方法。分享給大家供大家參考。具體實現方法如下:該執行個體涉及ICMP資料包的發送與回顯,PING程式碼如下:複製代碼 代碼如下:DWORD WINAPI ThreadProc(LPVOID lParam){ CInitSock initSock; HWND hWnd = (HWND)lParam; //從參數得到控制代碼 char szIp[64] ={0};
Time of Update: 2017-01-19
本文執行個體講述了C++設定逾時時間的簡單實現方法,代碼簡單易懂,功能實用。分享給大家供大家參考。具體實現方法如下:複製代碼 代碼如下:BOOL SetTimeOut(SOCKET s, int nTime, BOOL bRecv) { int ret = ::setsockopt(s, SOL_SOCKET, bRecv?SO_RCVTIMEO:SO_SNDTIMEO, (char*)nTime, sizeof(nTime)
Time of Update: 2017-01-19
本文執行個體講述了C++計算ICMP頭的校正和的方法,分享給大家供大家參考。具體實現代碼如下:複製代碼 代碼如下:USHORT checksum(USHORT* buff, int nSize) { unsigned long cksum=0; //將資料以字為單位加到cksum while (nSize > 1) &
Time of Update: 2017-01-19
本文執行個體講述了C++實現廣播通訊的方法。分享給大家供大家參考。具體實現方法如下:廣播通訊代碼架構:1. 協議都是:複製代碼 代碼如下:SOCKET s = ::socket(AF_INET, SOCK_DGRAM, 0);2. 服務端設定選項複製代碼 代碼如下:BOOL bBroadcast = TRUE; ::setsockopt(s, SOL_SOCKET, SO_BROADCAST, (char*)&bBroadcast, sizeof(BOOL));3. 服務端向255.
Time of Update: 2017-01-19
這次又到了比較簡單的內容了,介紹了一些基本的迴圈控制、關聯運算式、邏輯控制等。這裡就簡單抽一些稍微比較特別的內容來吹吹水,不,是來總結一下吧~一、i++和++i不,我不是來解釋i++和++i的區別的,只是書上提到一點,在使用for迴圈的時候,倒底i++和++i有沒有區別呢?答案是:幾乎沒有,隨便你用哪一個。 但是,要稍微注意一下兩種方式的內部處理方式:i++:先複製一個i的副本,然後將i加1,最後返回i的副本。++i:將i加1,然後返回i。 這麼一說,大家都知道誰的效率更高,
Time of Update: 2017-01-19
預先處理是在編譯之前的處理,而編譯工作的任務之一就是語法檢查,預先處理不做語法檢查。預先處理命令以符號“#”開頭。 常用的預先處理指令包括:宏定義:#define檔案包含:#include條件編譯:#if、#elif、#ifndef、#ifdef、#endif、#undef錯誤資訊指令:#error#line指令布局控制:#pragma宏定義 宏定義又稱為宏代換、宏替換,簡稱“宏”。宏替換隻作替換,不做計算,不做運算式求解。宏定義分帶參數的宏定義和不帶參數的宏定義。在帶參數的宏定義,宏名
Time of Update: 2017-01-19
今天是關於指標初步介紹的最後一篇,也是能讓初學者明白為什麼類是new出來的、為什麼某些變數會莫名被釋放,以及為什麼木頭會這麼聰明。1.使用new建立動態結構體還記得我們的結構體吧?之前說過,結構體也是可以通過new來建立儲存空間的,返回的是一個指向結構體類型空間的指標。如下代碼:複製代碼 代碼如下:struct Man { int age; &
Time of Update: 2017-01-19
對於以前沒有接觸過C++,然後初次接觸Cocos2d-x的朋友來說,可能對於記憶體管理方面會比較生疏。也經常會因為記憶體問題導致各種小Bug,我也曾經寫過一篇retain和release倒底怎麼玩?,用來駕馭Cocos2d-x的對象引用和釋放也算是足夠了。但,難道大家就不想知道retain和release背後的秘密嗎?(小若:不想。) 沒錯,今天木頭來帶大家走進科學,走進世界,一起來探討C++的new和delete。(小若:沒興趣。) 好,既然大家都等不及了,那就開始吧~1.
Time of Update: 2017-01-19
我已經把《C++ Primer》一書準備好了,如果這本《C++ Primer Plus》繼續這麼瞎鬧的話,我就換主角~!沒錯,這書連if while都還沒介紹呢,就開始把指標搬出來了,雖然只是簡單介紹..這目錄編排我也是醒了。那麼,按照書上的進度,今天來初步說說指標。但,今天周五,你懂的,就隨便水一下,因為我怕到周一又忘了。1.枚舉那麼,枚舉是什麼呢?(小若:等等~!說好的指標呢?)大部分進階語言裡應該都有枚舉了,所以也沒什麼好介紹的。使用是這樣的:複製代碼 代碼如下:// 定義enum
Time of Update: 2017-01-19
今天的標題取得..好嚴肅的感覺。(小若:咳噗)這章的內容雖然還是很詳(lao)細(dao),但已經開始有很多值得記錄的內容了~那麼,今天就來初次介紹數組與字串…以及結構體..還有共用體..吧。1.數組我記得大四實習的時候,請教同事:“什麼是屬主?”(其實是和資料庫相關的東西)然後同事驚訝地說道:“啊,你連數組都不知道..這,基礎還是要好好補補…呐,數組的意思呢,是這樣的…”我聽著聽著就不對勁,“等等,這是數組…其實我是問這個屬主…”然後同事鬆了一口氣,估計心裡在想,“唉,嚇死我,我以為來了個渾水
Time of Update: 2017-01-19
我很鬱悶,這本書果然講得很詳細,我在看第二章,看完要深呼吸,實在太詳(lao)細(dao)了。不過這很好,後面難一些的內容應該會不錯~ 那麼,這章只是作為預覽的章節,我抽出一些稍微比較有營養的內容記錄一下吧~ 注意:本系列教程不適合無任何程式設計語言基礎的朋友,只是作為C++基礎的一種補充。教程內容基於《C++ Primer Plus》一書,適合初學者,熟手請直接忽略。1.
Time of Update: 2017-01-19
首先我表示很悲劇,在看《程式員的自我修養--連結、裝載與庫》之前我竟不知道C有強符號、弱符號、強引用和弱引用。在看到3.5.5節弱符號和強符號時,我感覺有些困惑,所以寫下此篇,希望能和同樣感覺的朋友交流也希望高人指點。 首先我們看一下書中關於它們的定義。 引入情境:(1)檔案A中定義並初始設定變數i(int i = 1), 檔案B中定義並初始設定變數i(int i = 2)。編譯連結A、B時會報錯b.o:(.data+0x0): multiple definition of `i';a.o:
Time of Update: 2017-01-19
本文執行個體講述了C/C++函數調用棧的實現方法。可用於實現簡單的指令碼解譯器。分享給大家供大家參考。具體實現方法如下:標頭檔聲明部分:複製代碼 代碼如下:#pragma onceconst int BUFFERSIZE = 1024;const int growfactor = 2; // this stack is used as call stack.class TStack{private:size_t size; // the stack
Time of Update: 2017-01-19
個人感覺VC6.0太土了,而且有很多bug存在,且微軟早就不對其更新。所以,在選擇C++編程的時候。使用IDE,VC6.0一段時間以後,我毅然決然的放棄了,覺得還是使用VS2010比較有前途。但是當使用VS2010的時候,發現了不少問題,用了不少辦法終於將問題挨個解決,所謂“工欲善其事,必先利其器”。想要快速的開發C++軟體,絕對離不開一款好用的IDE。如下為使用中需要的問題,已經解決方案。1、任意建立一個新的對話方塊工程,整個解決方案檔案夾大小達到了100M,垃圾太多了。解決方案:工具--&g
Time of Update: 2017-01-19
new、delete(new[]、delete[])操作符的重載需要注意:1.重載的 new、delete(或者 new[]、delete[])操作符必須是類的靜態成員函數(為什麼必須是靜態成員函數,這很好理解,因為 new 操作符被調用的時候,對象還未構建)或者是全域函數,函數的原型如下:複製代碼 代碼如下:void* operator new(size_t size) throw(std::bad_alloc);// 這裡的 size 為分配的記憶體的總大小void* operator
Time of Update: 2017-01-19
本文執行個體講述了C語言內嵌彙編API記憶體搜尋引擎的方法,分享給大家供大家參考。具體實現方法如下:複製代碼 代碼如下:// apisearchEngine.cpp : Defines the entry point for the console application. // #include "stdafx.h" #include <Windows.h> DWORD __stdcall
Time of Update: 2017-01-19
本文執行個體講述了C++中BOOST字串尋找的方法,分享給大家供大家參考。具體方法如下:BOOST 字串尋找樣本複製代碼 代碼如下:#include <string> #include <iostream> #include <algorithm> #include <functional> #include
Time of Update: 2017-01-19
本文執行個體講述了c++ String去除頭尾空格的方法,分享給大家供大家參考。具體實現方法如下:實現該功能可使用string的find_first_not_of,和find_last_not_of方法,具體實現帶如下:複製代碼 代碼如下:#include <iostream>#include <string>std::string& trim(std::string &);int main() { std::string s = "