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

love in C++, live on MFC

to get ready...

C++博客 首頁 新隨筆 聯(lián)系 聚合 管理
  47 Posts :: 0 Stories :: 97 Comments :: 0 Trackbacks
C++編程規(guī)范中第23條中說:
If one header file won't work unless the file that includes it also includes another header, that's gauche and puts unnecessary burden on that header file's users.
呵呵,英語有點(diǎn)拗口,后面舉的例子也都是模板的例子。我倒是遇到過一個(gè)實(shí)際的例子,簡(jiǎn)化后如下:
//a.h
class?A?
{
?
int
?a;
};
?
//b.h
//注意:b.h并沒有include?a.h
class?B?
{
?A?a;
};
?
用的時(shí)候怎么用呢?比如在main.cpp中想用class B
//main.cpp
#include?"a.h"
#include?
"b.h"
//
B?b;
//

//do?something?on?b
可以看到,main為了使用B,還得包含a.h,這就是上面一段英語說的:
如果一個(gè)頭文件(b.h)不能工作,除非包含它(b.h)的文件(也就是main.cpp)也包含另一個(gè)頭文件(a.h)...

hehe,當(dāng)我第一次遇到這種情況時(shí),想了半天也想不明白為什么我明明包含了b.h還是不能用B啊

那么,正確的寫法應(yīng)該是什么呢?
在類B的作者在設(shè)計(jì)B的時(shí)候,就應(yīng)該想到用戶只需要#include "b.h"就可以使用這個(gè)class B。所以,在b.h文件中,應(yīng)該寫明#include "a.h",而不是讓用戶在main.cpp中去include "a.h"

:)
posted on 2006-06-23 20:56 flyingxu 閱讀(1810) 評(píng)論(5)  編輯 收藏 引用 所屬分類: C/C++C++ Coding Standards

Feedback

# re: Make header files self-sufficient的一個(gè)例子 2006-06-27 21:18 Jonlee
呵呵,你真粗心  回復(fù)  更多評(píng)論
  

# re: Make header files self-sufficient的一個(gè)例子 2006-07-05 09:17 mr_xu
以你舉的例子為例,怎么寫才算是好性能的呢?  回復(fù)  更多評(píng)論
  

# re: Make header files self-sufficient的一個(gè)例子 2006-07-06 17:40 flyingxu
@mr_xu
在類B的作者在設(shè)計(jì)B的時(shí)候,就應(yīng)該想到用戶只需要#include "b.h"就可以使用這個(gè)class B。所以,在b.h文件中,應(yīng)該寫明#include "a.h",而不是讓用戶在main.cpp中去include "a.h"
  回復(fù)  更多評(píng)論
  

# re: Make header files self-sufficient的一個(gè)例子 2006-07-07 15:13 yifanernei
這么說也有道理了,但這樣的話如果項(xiàng)目太大,對(duì)a.h的一點(diǎn)變動(dòng)就要把B類的相關(guān)文件全部編譯一次,有可能會(huì)大大增加編輯的時(shí)間.各有所長(zhǎng)吧,根據(jù)需要來決定
其實(shí)不在b.h中包含a.h對(duì)系統(tǒng)的結(jié)構(gòu)設(shè)計(jì)也有好處的,個(gè)人認(rèn)為應(yīng)該想辦法改進(jìn)結(jié)構(gòu),使得不用在main中包含,而不是把a(bǔ).h寫在b.h中.

另外,樓主的第一種寫法是否能編譯通過很值得懷疑,這種寫法應(yīng)該不是在main中需要a.h,而是在b.h中需要a.h,通常我的做法是:

//a.h
class A
{
int a;
};

//a.cpp
#include a.h
//....



//b.h

class A;

class B
{
A & b; //或者 A * b;
// ....
};


//b.cpp
#include a.h //把a(bǔ).h放在.cpp中,而不是.h中
#include b.h

//....



//main.cpp

#include "b.h" //這里只需要包含b.h

int main()
{
B b;
//...


}  回復(fù)  更多評(píng)論
  

# re: Make header files self-sufficient的一個(gè)例子 2006-07-09 01:57 flyingxu
@yifanernei
呵呵,看過你的文章。
能編譯是肯定的,關(guān)鍵是include的理解了,include實(shí)際上就是把文件整個(gè)copy到當(dāng)前位置而已,呵呵。  回復(fù)  更多評(píng)論
  

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            欧美伊人久久久久久午夜久久久久| 国产美女扒开尿口久久久| 在线播放中文字幕一区| 亚洲欧美中文日韩v在线观看| 亚洲国产高清高潮精品美女| 欧美成人中文| 亚洲丰满少妇videoshd| 一区二区国产日产| 91久久久亚洲精品| 国产综合色在线视频区| 久久久久久久网站| 亚洲一区三区视频在线观看| 久久琪琪电影院| 亚洲大片免费看| 国产欧美高清| 欧美华人在线视频| 中国亚洲黄色| 99re6这里只有精品| 99精品国产一区二区青青牛奶| 亚洲福利一区| 一区二区三区视频在线看| 一区二区三区高清在线观看| 欧美日韩久久| 欧美激情一区二区三区在线视频| 免费高清在线视频一区·| 久久精品人人爽| 久久久久国产一区二区三区| 欧美va天堂在线| 欧美国产日韩一区二区| 欧美大片第1页| 久久成人综合视频| 美女任你摸久久| 女女同性精品视频| 美女日韩欧美| 国产欧美日韩精品专区| 国产一区二区三区免费不卡 | 国产精品国产三级国产专区53| 欧美激情一区二区三区全黄| 99在线热播精品免费| 欧美激情1区2区| 日韩视频在线一区二区| 亚洲激情午夜| 亚洲精品视频在线播放| 亚洲一区二区三区精品在线| 亚洲第一区在线| 亚洲电影自拍| 禁久久精品乱码| 亚洲视频精品在线| 欧美成人xxx| 亚洲视频在线二区| 一区二区三区**美女毛片| 夜夜嗨av一区二区三区| 欧美成人午夜77777| 亚洲日本一区二区| 久久国产精品高清| 欧美激情一区二区三区成人| 欧美电影免费观看高清| 欧美h视频在线| 欧美不卡高清| 一区二区三区免费看| 久久综合久久综合久久综合| 国产精品久久久久aaaa樱花| 国产精品国产三级国产aⅴ浪潮 | 性欧美1819性猛交| 国产一区二区三区自拍| 免费成人在线视频网站| 欧美专区中文字幕| 久久久久久夜精品精品免费| 国产精品久久久久久影院8一贰佰 国产精品久久久久久影视 | 久久久91精品| 亚洲精品激情| 国产精品福利网站| 亚洲精选成人| 久久久久综合| 久久精彩免费视频| 国产精品国产三级国产aⅴ入口| 欧美一区激情视频在线观看| 欧美三级视频| 亚洲午夜精品久久久久久浪潮 | 欧美~级网站不卡| 欧美性开放视频| 在线高清一区| 亚洲国产精品999| 欧美日韩妖精视频| 久久国产综合精品| 欧美一区视频| 欧美一区激情视频在线观看| 国产欧美一区二区白浆黑人| 久久精品综合一区| 亚洲欧美日韩精品久久久久| 久久综合国产精品台湾中文娱乐网| 国产精品色婷婷久久58| 亚洲私人影院在线观看| 在线视频欧美日韩| 韩国女主播一区| 日韩午夜高潮| 美女亚洲精品| 久久久91精品国产| 99在线热播精品免费99热| 亚洲黄色免费网站| 久久中文字幕导航| 国内久久婷婷综合| 亚洲国产精品va在线看黑人| 欧美国产亚洲精品久久久8v| 国产欧美三级| 欧美77777| 亚洲免费视频在线观看| 国产日韩一区二区三区在线播放| 亚洲欧美日韩成人| 欧美日韩一卡二卡| 麻豆精品在线视频| 国产婷婷色一区二区三区| 欧美日韩国产精品一区| 亚洲图片你懂的| 午夜欧美不卡精品aaaaa| 亚洲国产第一| 91久久香蕉国产日韩欧美9色| 国产精品久久久久毛片软件| 国产日韩欧美在线视频观看| 亚洲一区在线播放| 日韩一区二区精品视频| 亚洲欧洲精品一区二区三区不卡| 免费亚洲电影在线| 欧美在线在线| 欧美精品免费观看二区| 最新中文字幕一区二区三区| 在线观看91久久久久久| 亚洲欧美日韩久久精品 | 免费不卡在线视频| 蜜桃精品一区二区三区| 一色屋精品视频免费看| 另类av一区二区| 久久本道综合色狠狠五月| 亚洲在线观看| 亚洲国产小视频| 国产精品美女www爽爽爽| 亚洲欧美另类综合偷拍| 一区二区三区国产盗摄| 欧美一区三区二区在线观看| 蜜桃精品久久久久久久免费影院| 国产精品日本| 亚洲一区二区在线免费观看视频| 亚洲小视频在线| 一区二区三区精品视频| 很黄很黄激情成人| 久久精品国产一区二区三区| 亚洲精品中文字幕女同| 亚洲综合精品一区二区| 狠狠色2019综合网| 欧美精品自拍| 欧美aⅴ99久久黑人专区| 亚洲精品乱码久久久久久蜜桃麻豆 | 亚洲免费av观看| 久久在线免费| 亚洲欧美日韩一区二区在线| 亚洲毛片在线看| 久久九九国产| 久久免费精品日本久久中文字幕| 麻豆九一精品爱看视频在线观看免费 | aⅴ色国产欧美| 久久黄色网页| av成人激情| 免费在线欧美黄色| 久久精品国产一区二区电影 | 亚洲夜晚福利在线观看| 国产日韩av高清| 亚洲欧美日韩在线播放| 久久中文字幕导航| 欧美经典一区二区| 欧美一区综合| 欧美激情亚洲综合一区| 久久精品国产第一区二区三区最新章节 | 国产精品久久久久久久app| 欧美精品日本| 欧美大成色www永久网站婷| 一本久久a久久精品亚洲| 欧美成人视屏| 亚洲欧美在线aaa| 亚洲区欧美区| 国产午夜精品福利| 亚洲美女淫视频| 亚洲人成毛片在线播放| 玖玖综合伊人| 伊人夜夜躁av伊人久久| 国产午夜精品一区理论片飘花 | 午夜精品一区二区三区四区| 麻豆成人小视频| 欧美日本不卡高清| 久久久精品免费视频| 欧美与黑人午夜性猛交久久久| 欧美国产精品v| 99国产精品久久久久久久成人热| 在线成人小视频| 欧美日韩国产在线播放网站| 午夜在线观看欧美| 久久久久久穴| 久久精品一区二区三区不卡牛牛| 久久综合九色| 久久九九免费视频| 亚洲成人在线网站|