1禁止在頭文件中定義變量2禁止在extern “C”中包含頭文件,否則會導致extern “C”嵌套,嵌套太多導致編譯錯誤3每個模塊提供多個.c文件,在同一目錄下,目錄名為模塊名,并提供一個.h文件4
C++很多類庫都喜歡用回調函數(shù),MFC中的定時器,消息機制,hook機制等待,包括現(xiàn)在在研究的cocos2d-x中也有很多的回調函數(shù)。1.回調函數(shù)什么是回調函數(shù)呢?回調函數(shù)其實就是一個通過函數(shù)指針調用
C++是面向對象的語言,對象是類的實例。C++程序員把重點放在稱為“類”的用戶自定義類型上。? C++中的類是由C的結構演變而來的,結構是由其他類型相關元素組成的一種聚合數(shù)據(jù)類型。比如下面就是一個結構
C++11系列-改進的類型推導:auto、decltype和新的函數(shù)語法C++11引入了一些新的實用的類型推導能力,這意味著你可以花費更少的時間去寫那些編譯器已經知道的東西。當然有些時候你需要幫助編譯
理解Hash? ? ? ?哈希表(hash table)是從一個集合A到另一個集合B的映射(mapping)。? ? ? ?映射是一種對應關系,而且集合A的某個元素只能對應集合B中的一個元素。但反過來
decltype與auto關鍵字一樣,用于進行編譯時類型推導。decltype實際上有點像auto的反函數(shù),auto可以讓你聲明一個變量,而decltype則可以從一個變量或表達式中得到類型,例如:i
一.緩沖區(qū)知識1.什么是緩沖區(qū)緩沖區(qū)又稱為緩存,它是內存空間的一部分。也就是說,在內存空間中預留了一定的存儲空間,這些存儲空間用來緩沖輸入或輸出的數(shù)據(jù),這部分預留的空間就叫做緩沖區(qū)。緩沖區(qū)根據(jù)其對應的
capacity和size理解capacity和size的區(qū)別非常重要,容器的size是指已經保存在容器中的數(shù)據(jù)的個數(shù),而容量是指在不再重新分配內存的前提下容器最大可以包含的數(shù)據(jù)的個數(shù)。舉個例子:容量
本篇文章我們說明如何添加屬性(attribute)。屬性是OO中的一個詞匯,在C++語法中,應該叫數(shù)據(jù)成員。這里我們盡量使用OO中的屬性一詞。打開屬性窗口有兩種方法:1.雙擊類圖中的對應類框圖,選擇【
已經連續(xù)兩篇文章說明右值引用和數(shù)據(jù)移動的概念,今天說明它們的應用場景。我們以std::swap為例進行說明。假設有下面的數(shù)據(jù)類:struct?TestData{ ????TestData(int?_s
接下來就是報名了。實際的高考報名是在前一年的年底,為了簡化我們移到考試之前。以下是時序圖。Student通過調用AdmissionOffice的registerStudent方法來實現(xiàn)報名。如果成功會
兩個小問題解決記錄:XCode中多Target時CFBundleDisplayName的多語言本地化;用C++寫socket程序時編譯錯誤說read和write找不到?第一個:在XCode同一個項目里
關于位圖數(shù)據(jù)怎么4字節(jié)對齊:假如一張2*2的RGB圖片如下:那么它在內存中數(shù)據(jù)理論應該為(圖片數(shù)據(jù)在內存中是連續(xù)的,也就是說一行數(shù)據(jù)緊接著另一行數(shù)據(jù),這里為了直觀所以布局成這樣)(0xFF 0x00
我一直以為,開發(fā)者的能力基本上就可以認為是一次把事情做成的能力。而一次把事情做成至少需要看準需求,選好道路,穩(wěn)妥實現(xiàn)三個步驟。大致可以認為,看準需求是要求的是對事物系統(tǒng)的把握能力,選道路系統(tǒng)分解的能力
?這里并沒不是討論大學課程中所學的《編譯原理》,只是寫一些我自己對C++編譯器及鏈接器的工作原理的理解和看法吧,以我的水平,還達不到講解編譯原理(這個很復雜,大學時幾乎沒學明白)。要明白的幾個概念:?
?? 先列舉C++中的默認函數(shù):默認成員函數(shù):1.默認構造函數(shù);2.默認析構函數(shù);3.拷貝構造函數(shù);4.拷貝賦值函數(shù);5.移動構造函數(shù);6.移動拷貝函數(shù);默認操作符函數(shù):1.operator;2.op
c++ 使用socket實現(xiàn)C/S端文件的下載傳輸首先是服務器端,大致說下流程:服務器創(chuàng)建線程去處理應答accept(),當接受到客戶端連接請求時,首先獲取要發(fā)送的指定的文件數(shù)據(jù)總大小給客戶端,接著就
簡介以下三行代碼有什么區(qū)別?int?a[10]; int?*a?=?(int*)malloc(sizeof(int)*10); int?*a?=?new?int[10];第一行代碼定義a為包含10個i
第1章 容器第1條:慎重選擇容器類型。標準STL序列容器:vector、string、deque和list。標準STL關聯(lián)容器:set、multiset、map和multimap。非標準序列容器sli
為什么要使用線程池?? ? ? ?目前的大多數(shù)網(wǎng)絡服務器,包括Web服務器、Email服務器以及數(shù)據(jù)庫服務器等都具有一個共同點,就是單位時間內必須處理數(shù)目巨大的連接請求,但處理時間卻相對較短。? ?