青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

Edgard

討論FunctionTemplate申明的隱藏性(Visibility)

看看兩端代碼,區別重要在:
一個是:inline int const& max申明在template <typename T>
inline T const& max之前。


// maximum of two int values
inline int const& max (int const& a, int const& b)
{
    return a<b?b:a;
}

// maximum of two values of any type
template <typename T>
inline T const& max (T const& a, T const& b)
{
    return a<b?b:a;
}

// maximum of three values of any type
template <typename T>
inline T const& max (T const& a, T const& b, T const& c)
{
    return max (max(a,b), c); 
}                              

一個是:inline int const& max申明在template <typename T>
inline T const& max之后。

// maximum of two values of any type
template <typename T>
inline T const& max (T const& a, T const& b)
{
    return a<b?b:a;
}

// maximum of three values of any type
template <typename T>
inline T const& max (T const& a, T const& b, T const& c)
{
    return max (max(a,b), c); 
}

// maximum of two int values
inline int const& max (int const& a, int const& b)
{
    return a<b?b:a;
}

調用程序:
int main( )
{
      //當然這里本來就寫得不好,要先顯式申明寫局部變量......
      // 看你了解多少,討論討論兩種執行可能的執行路徑,即:FunctionTemplate的調用路徑!!!
      ::max( 4, 10 ,15 );


posted on 2005-12-15 21:10 Edgard 閱讀(540) 評論(5)  編輯 收藏 引用

評論

# re: 討論FunctionTemplate申明的隱藏性(Visibility) 2005-12-16 10:26 小明

Function templates can be overloaded with nontemplate functions. All else being equal, the nontemplate function is preferred in Function templates can be overloaded with nontemplate functions. All else being equal, the nontemplate function is preferred in selecting the actual function being called. The following example illustrates this:

// details/nontmpl.cpp

#include <string>
#include <iostream>

template<typename T>
std::string f(T)
{
return "Template";
}

std::string f(int&)
{
return "Nontemplate";
}

int main()
{
int x = 7;
std::cout << f(x) << std::endl;
}
This should output:

Nontemplate


以上是C++ templates的原文。
所以nontemplate的函數應該被匹配調用,跟聲明的前后沒關系

  回復  更多評論   

# re: 討論FunctionTemplate申明的隱藏性(Visibility) 2005-12-16 12:47 Edgard

上面是我讀一本書測試過的例子,書中曾說:This is only one example of code that might behave differently than expected as a result of detailed overload resolution rules. For example, the fact that not all overloaded functions are visible when a corresponding function call is made may or may not matter. In fact, defining a three-argument version of max() without having seen the declaration of a special two-argument version of max() for ints causes the two-argument template to be used by the three-argument version:,這里的意思比較適合第二種情況,即”一個是:inline int const& max申明在template <typename T>
inline T const& max之后。”,我沒有能在其他C++編譯器上測試過,不知道C++標準中是否規定FunctionTemplate Resolution Rules,如果沒有,依據上面的英文描述,不同編譯器有不同的FunctionTemplate Resolution Rule,有可能template <typename T>
inline T const& max (T const& a, T const& b, T const& c) 不可見到申明在后的inline int const& max。

大家的意見呢?  回復  更多評論   

# re: 討論FunctionTemplate申明的隱藏性(Visibility) 2005-12-17 15:08 清風雨

無意闖到這邊來了。

我是在對幾個概念不太清楚的情況下,想找找說明。本來是不管這些概念的,但,我想試試特化是不小心寫錯了,編譯器告訴我無法顯示化。
我就納悶了,特化、偏特化、顯示化,所以,想找找概念的介紹,一不小心發現了這個blog站,而你說的問題,我又忍不住想開一下口。^_^

關于特化的匹配原則,就像我們期望的那樣,編譯器是優選最接近的。
最簡單的測試方法,就是針對模板圓形,特化形式分別給出不同輸出,這樣,一眼便能知道編譯器選了誰。  回復  更多評論   

# re: 討論FunctionTemplate申明的隱藏性(Visibility) 2006-01-08 20:27 chenchen

<c++ template>上說必須把重載的寫在template的前面,然而我在vs2003上的測試是無所謂,至于標準上怎么說那我就不知道了,寫在前面就一定保險,寫在后面估計是有危險!  回復  更多評論   

# re: 討論FunctionTemplate申明的隱藏性(Visibility) 2007-05-27 23:37 xiongx

這玩意跟C的先申明后使用是一脈相承的吧,template的很多編譯策略都是看起來能用就行,不會顧及全面的  回復  更多評論   


只有注冊用戶登錄后才能發表評論。
網站導航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            欧美国产欧美亚洲国产日韩mv天天看完整 | 国产一区二区高清不卡| 欧美精品二区三区四区免费看视频| 久久久蜜桃精品| 欧美精品入口| 国产精品久久二区二区| 国产精品亚洲激情| 伊人影院久久| 中文在线不卡视频| 久久国产综合精品| 欧美黄免费看| 亚洲午夜视频在线观看| 久久精品官网| 欧美私人网站| 国产亚洲精品久久久| 亚洲黑丝一区二区| 欧美一区二区三区四区在线| 嫩草影视亚洲| 亚洲在线免费观看| 欧美高清在线视频| 国产日韩精品一区观看| 亚洲精品久久视频| 久久九九国产精品怡红院| 亚洲国产日韩一区| 欧美一区二区视频97| 欧美护士18xxxxhd| 一区二区三区在线免费观看 | 久久亚洲综合网| 91久久久久久国产精品| 小嫩嫩精品导航| 欧美午夜精品伦理| 91久久久久久久久久久久久| 久久精品国产99国产精品澳门| 欧美激情日韩| 香蕉成人啪国产精品视频综合网| 欧美成人精品影院| 国产视频一区在线观看一区免费| 亚洲欧洲在线一区| 久久久久九九九| 亚洲免费在线看| 欧美日韩在线一区| 99热在线精品观看| 亚洲福利在线看| 久久亚洲精选| 亚洲高清av在线| 久久亚洲欧美国产精品乐播| 亚洲免费小视频| 欧美午夜免费影院| 久久久久国内| 一本不卡影院| 欧美激情小视频| 亚洲黑丝在线| 欧美多人爱爱视频网站| 久久久福利视频| 国内精品久久久久久久影视蜜臀| 欧美在线视频二区| 亚洲欧美日韩在线播放| 国产欧美日韩免费看aⅴ视频| 亚洲午夜一区二区| 一区二区欧美国产| 国产精品国产一区二区| 一本色道久久综合| 亚洲少妇中出一区| 国产精品午夜在线观看| 亚洲欧美日韩在线一区| 亚洲曰本av电影| 国产欧美一区视频| 久久久久久日产精品| 久久精品一区蜜桃臀影院| 激情综合久久| 欧美电影资源| 欧美日韩精品中文字幕| 亚洲视频axxx| 亚洲影视九九影院在线观看| 国产一区二区成人| 欧美激情亚洲| 国产精品久久久久一区二区| 久久久久久一区二区三区| 久久一区二区三区四区五区| 亚洲狼人综合| 亚洲综合社区| 在线播放亚洲一区| 亚洲精选在线| 国产午夜精品全部视频在线播放| 美女被久久久| 国产精品video| 久久精品91久久香蕉加勒比| 久久综合色88| 亚洲欧美中文在线视频| 久久久久一区二区三区四区| 亚洲欧洲日产国码二区| 在线视频日韩| 亚洲第一免费播放区| 99视频精品在线| 狠狠网亚洲精品| 亚洲激情在线观看视频免费| 国产精品伦一区| 欧美成人综合在线| 国产精品少妇自拍| 亚洲国产福利在线| 国产欧美日韩视频一区二区三区| 欧美成人国产一区二区| 国产精品美女诱惑| 欧美福利视频在线观看| 国产精品久久久久久久久搜平片| 久久亚洲欧美| 国产精品久久久久9999高清| 欧美福利一区二区| 国产日韩欧美91| 亚洲视频axxx| 亚洲美女精品成人在线视频| 亚欧成人精品| 久久精品国产精品| 欧美影院久久久| 欧美一区二区三区婷婷月色 | 欧美激情精品久久久久| 久久精品官网| 美日韩精品视频| 浪潮色综合久久天堂| 欧美国产视频日韩| 国产精品久久久久久久9999| 欧美日韩一区二区三区在线视频| 欧美国产大片| 欧美午夜美女看片| 国产亚洲人成网站在线观看| 国内自拍亚洲| 亚洲区免费影片| 国产精品99久久久久久有的能看| 亚洲免费婷婷| 免播放器亚洲| 一区二区三区欧美视频| 欧美一区二区三区在线观看视频 | 亚洲激情视频网站| 一本久久综合亚洲鲁鲁| 欧美中文字幕精品| 91久久综合| 久久精品视频免费| 欧美日韩精品在线| 亚洲日本中文字幕| 久久欧美肥婆一二区| 99视频在线观看一区三区| 久久日韩精品| 在线日韩欧美视频| 久久久不卡网国产精品一区| 日韩午夜激情av| 欧美精品麻豆| 亚洲精品欧美激情| 欧美小视频在线观看| 91久久在线| 免费成人黄色片| 久久久av毛片精品| 国模套图日韩精品一区二区| 亚洲午夜精品国产| 亚洲欧美日韩精品久久奇米色影视 | 日韩亚洲成人av在线| 欧美第一黄色网| 快播亚洲色图| 日韩亚洲欧美成人| 亚洲裸体视频| 国产精品高潮呻吟久久| 亚洲一区二区三区影院| 夜夜嗨网站十八久久| 国产精品中文字幕在线观看| 亚洲自啪免费| 久久久之久亚州精品露出| 有坂深雪在线一区| 亚洲精品欧洲| 国产欧美韩国高清| 欧美大色视频| 国产精品网站在线观看| 裸体歌舞表演一区二区| 欧美精品v国产精品v日韩精品| 在线中文字幕不卡| 久久精品一本| 午夜日本精品| 欧美精品一区在线| 久久久久亚洲综合| 国产精品欧美经典| 亚洲第一黄色网| 国产精品一区二区欧美| 欧美激情一区三区| 狠狠干成人综合网| 亚洲视频每日更新| 亚洲蜜桃精久久久久久久| 久久精品国产亚洲精品 | 国内久久视频| 99re这里只有精品6| 亚洲精品人人| 欧美不卡在线视频| 国产亚洲综合在线| 亚洲高清自拍| 亚洲国产天堂久久国产91| 在线一区二区日韩| 亚洲欧美区自拍先锋| 欧美日韩中文字幕| 99精品国产高清一区二区| 亚洲天堂av在线免费观看| 欧美精品一区二区三区在线播放 | 亚洲精品一二三区| 亚洲永久字幕|