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

隨筆-59  評(píng)論-36  文章-0  trackbacks-0
C++標(biāo)準(zhǔn):

3. A function first declared in a friend declaration hasexternal linkage (3.5). Otherwise, the function retains its previous linkage (7.1.1).

按照3中說(shuō)的,下面代碼是應(yīng)該通過(guò)的
class?X
{
????friend?
void?f();?
};

int?main()
{
????f();?
//因?yàn)轭怷中的友元函數(shù)f的聲明有外部鏈接,所以,f可見(jiàn)
}
void?f()?{?/*?ok?to?define?friend?function?in?the?class?body?*/?}

編譯測(cè)試:
VC2005/2010通過(guò) ,而GCC 4.4.3報(bào)錯(cuò):無(wú)法找到名字f


5. A function can be defined in a friend declaration of a class if and only if the class is a non-local class (9.8),the function name is unqualified, and the function has namespace scope.
[Example:
class M {
? ? friend void f() { } // definition of global f, a friend of M,
? ? ? ? ? ? ? ? ? ? ? ? // not the definition of a member function
};
—end example]
Such a function is implicitly inline. A friend function defined in a class is in the (lexical) scope of the class in which it is defined. A friend function defined outside the class is not (3.4.1).

按照5中說(shuō)的,既然在類中定義友元函數(shù)f,是"definition of global f",那么也就可以理解為下面的代碼是可以通過(guò)編譯的
class?X
{
????friend?
void?f(){?/*?ok?to?define?friend?function?in?the?class?body?*/?}
};

int?main()
{
????f();?
}?

然而VC2005/2010和GCC4.4.3都不能通過(guò)

TCPL中對(duì)友元有如下說(shuō)明:
? “一個(gè)友元聲明不會(huì)給外圍的作用域引進(jìn)一個(gè)名字”?
? “一個(gè)友元函數(shù)或者需要在某個(gè)外圍作用域里顯式聲明,或者以它的類或由該類派生的類作為一個(gè)參數(shù)(13.6節(jié)),否則就無(wú)法調(diào)用這個(gè)友元了。”

C++ primer有如下:
? “友元聲明將已命名的類或非成員函數(shù)引入到外圍作用域中。此外,友元函數(shù)可以在類的內(nèi)部定義,該函數(shù)的作用域擴(kuò)展到包圍該類定義的作用域。”?
? “用友元引入的類名和函數(shù)(定義或聲明),可以像預(yù)先聲明的一樣使用”
C++ primer中的例子:
class X {
? ? ? ? friend class Y;
? ? ? ? friend void f() { /* ok to define friend function in the class body */ }
};
class Z {
? ? ? ? Y *ymem; // ok: declaration for class Y introduced by friend in X
? ? ? ? void g() { return ::f(); } // ok: declaration of f introduced by X
};


標(biāo)準(zhǔn)中說(shuō)的和C++ PRIMER一樣,而和TCPL不一樣。
至于編譯器,GCC做的和TCPL說(shuō)的一樣,而VC和標(biāo)準(zhǔn)說(shuō)的部分一樣(對(duì)于在友元聲明出定義函數(shù)處有出入)

個(gè)人總結(jié)
兩個(gè)編譯器行為不同,所以盡量提前聲明友元所聲明的名字

以上只是個(gè)人的看法,如果有不對(duì)的地方,懇請(qǐng)各位大大指正

posted on 2010-03-07 10:49 zhaoyg 閱讀(524) 評(píng)論(0)  編輯 收藏 引用 所屬分類: C/C++學(xué)習(xí)筆記
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            亚洲国产成人久久综合| 老司机久久99久久精品播放免费| 性欧美video另类hd性玩具| 亚洲国产一区二区三区青草影视| 亚洲午夜激情| 亚洲伦理网站| 美女性感视频久久久| 欧美一区视频| 国产精品户外野外| 亚洲精品中文字幕在线| 亚洲欧洲精品一区二区三区不卡 | 亚洲成人自拍视频| 亚洲午夜av| 中文av字幕一区| 欧美精品www| 亚洲国产综合视频在线观看| 国内不卡一区二区三区| 亚洲欧美日韩天堂一区二区| 亚洲午夜av| 欧美日韩中文字幕| 一区二区三区四区五区精品视频| 亚洲全部视频| 欧美精品成人91久久久久久久| 老司机免费视频一区二区| 狠狠久久五月精品中文字幕| 小处雏高清一区二区三区| 欧美在线视频一区| 国产一区二区久久久| 欧美一区二区黄色| 久久亚洲二区| 亚洲国产日韩欧美在线99 | 韩国av一区二区三区在线观看| 新狼窝色av性久久久久久| 久久大逼视频| 一区二区在线免费观看| 久久久综合免费视频| 欧美mv日韩mv亚洲| 亚洲看片一区| 国产精品mm| 亚洲欧美高清| 久久性天堂网| 亚洲精品一区二区三区福利| 欧美激情精品久久久久久| 亚洲免费精彩视频| 午夜电影亚洲| 在线不卡中文字幕| 欧美精品一区二区在线播放| 夜夜狂射影院欧美极品| 欧美在线不卡视频| 亚洲成人在线网站| 欧美体内谢she精2性欧美| 亚洲欧美日韩综合国产aⅴ| 久久美女性网| 99re6这里只有精品| 国产精品女人久久久久久| 欧美在线国产精品| 亚洲精品国产欧美| 久久激情综合网| 亚洲精品久久久久久久久久久久| 欧美视频在线免费| 久久免费视频网| 一区二区三区久久| 美女免费视频一区| 亚洲欧美日本另类| 亚洲激情图片小说视频| 国产精品女人毛片| 欧美成人免费小视频| 亚洲欧美中日韩| 亚洲日本成人女熟在线观看| 久久福利电影| 亚洲午夜久久久久久尤物| 狠狠色综合播放一区二区| 欧美日韩99| 久久久久久**毛片大全| 这里只有精品视频在线| 欧美成人精品h版在线观看| 亚洲欧美综合v| 亚洲美女电影在线| 在线观看不卡av| 国产精品区一区二区三| 欧美久久久久| 久久综合狠狠综合久久综合88 | 免费欧美在线| 欧美一区二区三区免费大片| 日韩亚洲视频在线| 欧美激情中文字幕在线| 可以看av的网站久久看| 午夜伦欧美伦电影理论片| 99视频一区二区| 91久久线看在观草草青青| 黄色成人av| 国产婷婷97碰碰久久人人蜜臀| 欧美性一区二区| 欧美精品在线网站| 奶水喷射视频一区| 久久综合九色99| 久久久久久久91| 久久成人免费| 欧美一区免费视频| 午夜激情综合网| 亚洲欧美日韩国产综合在线| 这里是久久伊人| 亚洲视频在线观看网站| 亚洲免费精品| 夜夜爽www精品| 亚洲视频日本| 先锋亚洲精品| 欧美亚洲视频| 久久国产乱子精品免费女| 欧美亚洲网站| 久久九九精品99国产精品| 欧美一区二区在线看| 久久精品国产第一区二区三区| 久久激情综合| 久久深夜福利| 欧美成人精品一区二区| 欧美高清成人| 欧美午夜精品电影| 国产精品毛片va一区二区三区 | 亚洲精品日本| 99pao成人国产永久免费视频| 亚洲精品在线二区| 国产精品99久久久久久人| 亚洲欧美激情四射在线日 | 亚洲香蕉伊综合在人在线视看| 在线一区亚洲| 欧美一区二区三区免费视| 久久久久久久999| 欧美视频一区二| 亚洲私拍自拍| 国产精品99久久久久久久vr| 国产欧美日韩另类一区| 国产精品极品美女粉嫩高清在线| 国产精品久久久久一区| 国产一区二区三区黄| 亚洲黄色免费网站| 亚洲视频国产视频| 久久国产欧美日韩精品| 毛片一区二区三区| 亚洲精品中文字幕女同| 亚洲欧美日韩国产| 久久综合狠狠| 欧美特黄视频| 亚洲高清在线精品| 亚洲小说区图片区| 狂野欧美激情性xxxx| 亚洲精品一区二区在线观看| 午夜久久tv| 欧美美女操人视频| 国产亚洲激情在线| 日韩香蕉视频| 久久日韩粉嫩一区二区三区| 亚洲精品国产精品国自产观看浪潮 | 一区二区三区欧美| 久久久久久久高潮| 99香蕉国产精品偷在线观看| 欧美影院久久久| 欧美视频免费看| 亚洲国产成人精品视频| 亚洲欧美日韩综合国产aⅴ| 欧美成人精品激情在线观看| 亚洲午夜小视频| 欧美韩日一区| 精品51国产黑色丝袜高跟鞋| 亚洲一级电影| 最新日韩av| 玖玖国产精品视频| 国产主播在线一区| 亚洲欧美在线aaa| 亚洲激情视频网| 久久一二三国产| 国产一区日韩二区欧美三区| 亚洲永久网站| 日韩视频免费观看高清在线视频| 麻豆av一区二区三区| 国产亚洲精品久| 欧美一区二区三区另类| 一道本一区二区| 欧美日韩免费观看一区=区三区| 亚洲国产三级在线| 女仆av观看一区| 久久精品国产v日韩v亚洲 | 99国内精品久久久久久久软件| 理论片一区二区在线| 国产一区深夜福利| 欧美在线视频在线播放完整版免费观看 | 久久久99国产精品免费| 亚洲综合首页| 国产九区一区在线| 午夜久久黄色| 午夜精品美女久久久久av福利| 国产精品国产精品| 午夜激情综合网| 亚洲一线二线三线久久久| 国产精品青草综合久久久久99| 亚洲自拍另类| 亚洲欧美www| 国内精品美女av在线播放| 久久一二三四| 美女脱光内衣内裤视频久久网站|