模板的編譯模型:
應該將類定義和函式宣告放在標頭檔案中,而普通函式和類成員函式的定義放在原始檔中。要進行模板的例項化,便一起必須能訪問定義模板的源**。
1、包含編譯模型
//utlities.h
#ifndef utlities_h
#define utlities_h
templateint compare(const t&,const t&);
#include "utilites.c"
#endif //end of utlities.h
//utlities.c
#include "utlities.h"
templateint compare(const t&v1,const t&v2)
;//queue.c implementation file declared queue as export
export templateclass queue;
#include "queue.h"
匯出類的成員將自動宣告為匯出,也可以將類模板的個別成員宣告為匯出的
非型別形參的模板實參:
template
class screen
private:
string screen;
string::size_type cursor;
string::size_type height,width;
};該模板有兩個非型別形參,使用screen型別時序顯示宣告為screen<24,80>
非型別模板實參必須是編譯時常量表示式
類模板的友元宣告:
templateclass bar
;類也可以只授予對特定例項的訪問權
templateclass foo2;
templatevoid temp_fcn2(const t&);
tempalteclass bar;
;foo2是類模板,由原關係只擴充到foo2的形參型別為char *的特定例項。只有與給定bar例項有相同模板實參的那些foo2或temp_fcn版本是友元,因此foo3可以訪問bar的私有部分,但不能訪問bar或者任意其他bar例項的私有部分
如果友元類是普通類(不是模板類)則可以不事先宣告,反之就需要宣告
templateclass a;
template
class b
;
讀書筆記2
關於this指標 雖然this指標大家已經很熟悉了,但是我這裡討論的關於this指標的問題可能大家還沒注意過 為了說明這個關於this的歸屬問題,我自寫了一段再簡單不過的程式,雖簡單但具體 include class a void aa 我的問題是指標p1是指向b自身嗎?一看程式,大家就知道 不是,...
讀書筆記(2)
沉默的藝術 意識科學基礎理論 量子效應只是用於穩定某種內在自由度極大的基本粒子,然後再用基本粒子的內在屬性產生意識體驗。只能通過呈現乙個系統的 物理 屬性來描述乙個系統。只能通過變成內在屬性配對的其中乙個系統,以直接體驗的方式來獲得這些內在屬性的資訊。定義乙個包含所有系統的系統d,除該系統外無任何系...
讀書筆記2
ripple專注於跨境支付領域,主要為銀行和其他金融機構提供基於區塊鏈協議的外匯 轉賬方案。目前已公布的銀行客戶有3家,並正在和另外80多家銀行深入洽談。ripple主 要通過其開發的interledger協議專案,在保持銀行等金融機構的各自不同的記賬系統的基 礎上,打造乙個全球統一的網路金融傳輸協...