Impossible is nothing
愛過知情重醉過知酒濃 花開花謝終是空 緣份不停留像春風(fēng)來又走 女人如花花似夢
公告
日歷
<
2025年5月
>
日
一
二
三
四
五
六
27
28
29
30
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
2
3
4
5
6
7
統(tǒng)計
隨筆 - 8
文章 - 91
評論 - 16
引用 - 0
導(dǎo)航
C++博客
首頁
發(fā)新隨筆
發(fā)新文章
聯(lián)系
聚合
管理
常用鏈接
我的隨筆
我的評論
我參與的隨筆
留言簿
(4)
給我留言
查看公開留言
查看私人留言
隨筆分類
(4)
STL/BOOST(4)
(rss)
隨筆檔案
(8)
2006年6月 (2)
2006年4月 (4)
2006年3月 (1)
2006年2月 (1)
文章分類
(77)
C++語言(57)
(rss)
GDI/GDI+(1)
(rss)
Windows/MFC(3)
(rss)
編譯器(4)
(rss)
軟件工程(11)
(rss)
圖像處理(1)
(rss)
文章檔案
(91)
2006年7月 (4)
2006年6月 (12)
2006年5月 (3)
2006年4月 (4)
2006年3月 (27)
2006年2月 (41)
相冊
文章用圖
搜索
最新評論
1.?re: STL學(xué)習(xí)筆記[未登錄]
很詳細,贊
--bneliao
2.?re: 深度探索c++的對象模型
筆記很詳細,贊
--bneliao
3.?re: 近日復(fù)習(xí)記錄
不錯嘛!
--秦歌
4.?re: 區(qū)域填充算法
頂頂頂頂頂頂頂頂
頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂
頂頂頂頂
頂頂頂頂
頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂頂
頂頂頂頂
--lishali
5.?re: Singleton模式的演化[未登錄]
評論內(nèi)容較長,點擊標題查看
--galaxy
閱讀排行榜
1.?從輸入流中讀入一行(2264)
2.?sap的幾道筆試題目(轉(zhuǎn))(1477)
3.?工作中發(fā)現(xiàn)的(1328)
4.?什么是調(diào)色板?(1005)
5.?Stay Hungry, Stay Foolish" (832)
6.?繼續(xù)貼面試題目(729)
7.?近日復(fù)習(xí)記錄(654)
8.?要讀的書(548)
評論排行榜
1.?工作中發(fā)現(xiàn)的(3)
2.?sap的幾道筆試題目(轉(zhuǎn))(2)
3.?繼續(xù)貼面試題目(1)
4.?從輸入流中讀入一行(1)
5.?Stay Hungry, Stay Foolish" (1)
一個模板巧妙技術(shù),語法技巧
#include?
<
iostream
>
//
?返回類型,大小分別為1、2
typedef?
char
?RT1;
typedef?
struct
{
????
char
?a[
2
];
}
?RT2;
//
?選擇這個版本將返回char,大小為1
template
<
typename?T
>
?RT1?test(typename?T::X?
const
*
)
{
????
int
????dumy????
=
?
0
;
????dumy
++
;
}
//
?選擇這個版本將返回char,大小為2
template
<
typename?T
>
?RT2?test(
)
{
????
int
????dumy????
=
?
0
;
????dumy
++
;
}
//
?依靠編譯器自動選擇test函數(shù),然后依據(jù)返回類型判斷是否含有X
template
<
typename?T
>
bool
?type_has_member_type_X()
{
????
return
?(
sizeof
(test
<
T
>
(
0
))?
==
?
1
);
}
//
?有X類型的類
class
?HasX
{
public
:
????
class
?X
????
{
????}
;
}
;
//
?無X類型的類
class
?NonX
{
public
:
????
class
?Y
????
{
????}
;
}
;
int
?_tmain(
int
?argc,?_TCHAR
*
?argv[])
{
????
//
?編譯器選擇重載函數(shù)策略:選擇類型最匹配版本
????
//
?傾向于把0轉(zhuǎn)化為常量空指針,所以選擇返回為RT1版本
????
if
(type_has_member_type_X
<
HasX
>
())
????
{
????????std::cout?
<<
?
"
Has?X
"
?
<<
?std::endl;
????}
????
else
????
{
????????std::cout?
<<
?
"
Non?X
"
?
<<
?std::endl;
????}
????
//
?沒有T::X,所以選擇返回為RT2版本
????
if
(type_has_member_type_X
<
NonX
>
())
????
{
????????std::cout?
<<
?
"
Has?X
"
?
<<
?std::endl;
????}
????
else
????
{
????????std::cout?
<<
?
"
Non?X
"
?
<<
?std::endl;
????}
????
return
?
0
;
}
輸出結(jié)果:
Has X
Non X
posted on 2006-04-06 00:17
笑笑生
閱讀(405)
評論(0)
編輯
收藏
引用
所屬分類:
C++語言
只有注冊用戶
登錄
后才能發(fā)表評論。
【推薦】100%開源!大型工業(yè)跨平臺軟件C++源碼提供,建模,組態(tài)!
相關(guān)文章:
Effective C++
Essential C++讀書筆記
深度探索c++的對象模型
理解復(fù)雜聲明
一個模板巧妙技術(shù),語法技巧
一個復(fù)雜的boost.lambda表達式的例子
C++ 編程思想學(xué)習(xí)筆記-命名控制
2005年華為招聘--C語言筆試試題
dynamic_cast詳解
vc++7.1轉(zhuǎn)移到vc++2005 需要的一些變動
網(wǎng)站導(dǎo)航:
博客園
IT新聞
BlogJava
博問
Chat2DB
管理
Copyright © 笑笑生
Powered by:
博客園
模板提供:
滬江博客
久久久久久a亚洲欧洲aⅴ
|
久久亚洲中文字幕精品一区
|
蜜臀久久99精品久久久久久小说
|
久久最近最新中文字幕大全
|
激情久久久久久久久久
|
伊人久久精品无码av一区
|
久久综合综合久久97色
|
日韩久久久久久中文人妻
|
很黄很污的网站久久mimi色
|
狠狠色丁香婷婷久久综合五月
|
av无码久久久久不卡免费网站
|
久久久久人妻一区精品果冻
|
国产精品国色综合久久
|
久久91精品国产91
|
久久精品无码一区二区app
|
日韩AV无码久久一区二区
|
久久综合中文字幕
|
久久国产精品一国产精品金尊
|
亚洲国产成人久久精品99
|
人人狠狠综合久久亚洲88
|
久久ZYZ资源站无码中文动漫
|
亚洲国产高清精品线久久
|
久久996热精品xxxx
|
久久综合九色综合精品
|
潮喷大喷水系列无码久久精品
|
久久久久久精品免费免费自慰
|
无码任你躁久久久久久久
|
久久91精品综合国产首页
|
色综合久久天天综合
|
精品久久久久久国产
|
国产成人精品久久一区二区三区
|
伊人久久大香线蕉综合影院首页
|
久久www免费人成看片
|
久久久久亚洲AV片无码下载蜜桃
|
精品久久久久久国产91
|
久久久久久九九99精品
|
99久久人妻无码精品系列蜜桃
|
亚洲美日韩Av中文字幕无码久久久妻妇
|
99久久精品免费看国产免费
|
国产精品欧美久久久久无广告
|
99久久精品九九亚洲精品
|