中文字幕日韩精品一区二区免费_精品一区二区三区国产精品无卡在_国精品无码专区一区二区三区_国产αv三级中文在线

C++多目錄多文件編譯技巧-創(chuàng)新互聯(lián)

http://www.cplusplus.com/forum/articles/10627/C++多目錄多文件編譯技巧

1.hpp文件

成都網(wǎng)站設(shè)計(jì)、做網(wǎng)站的關(guān)注點(diǎn)不是能為您做些什么網(wǎng)站,而是怎么做網(wǎng)站,有沒有做好網(wǎng)站,給成都創(chuàng)新互聯(lián)一個(gè)展示的機(jī)會(huì)來(lái)證明自己,這并不會(huì)花費(fèi)您太多時(shí)間,或許會(huì)給您帶來(lái)新的靈感和驚喜。面向用戶友好,注重用戶體驗(yàn),一切以用戶為中心。

hpp文件可以使用template函數(shù)和class靜態(tài)函數(shù)(不含靜態(tài)成員)

a)不可包含全局對(duì)象和全局函數(shù)
由于hpp本質(zhì)上是作為.h被調(diào)用者include,所以當(dāng)hpp文件中存在全局對(duì)象或者全局函數(shù),而該hpp被多個(gè)
調(diào)用者include時(shí),將在鏈接時(shí)導(dǎo)致符號(hào)重定義錯(cuò)誤。要避免這種情況,需要去除全局對(duì)象,將全局函數(shù)封
裝為類的靜態(tài)方法。
b)類之間不可循環(huán)調(diào)用
在.h和.cpp的場(chǎng)景中,當(dāng)兩個(gè)類或者多個(gè)類之間有循環(huán)調(diào)用關(guān)系時(shí),只要預(yù)先在頭文件做被調(diào)用類的聲明
即可,如下:
class B;
class A{
public:
void someMethod(B b);
};
class B{
public:
void someMethod(A a);
};
在hpp場(chǎng)景中,由于定義與實(shí)現(xiàn)都已經(jīng)存在于一個(gè)文件,調(diào)用者必需明確知道被調(diào)用者的所有定義,而不能等到cpp
中去編譯。因此hpp中必須整理類之間調(diào)用關(guān)系,不可產(chǎn)生循環(huán)調(diào)用。同理,對(duì)于當(dāng)兩個(gè)類A和B分別定義在各自的
hpp文件中,形如以下的循環(huán)調(diào)用也將導(dǎo)致編譯錯(cuò)誤:
//a.hpp#include "b.hpp"class A{
public:
void someMethod(B b);
};
//b.hpp#include "a.hpp"class B{
public:
void someMethod(A a);
}

c)不可使用靜態(tài)成員
靜態(tài)成員的使用限制在于如果類含有靜態(tài)成員,則在hpp中必需加入靜態(tài)成員初始化代碼,當(dāng)該hpp被多個(gè)文檔include時(shí),將產(chǎn)生符號(hào)重定義錯(cuò)誤。

2.

#ifndef MATH_HPP_
#define MATH_HPP_

//內(nèi)容

#endif

3.多個(gè)類互相包含使用指針,不要用成員。

網(wǎng)站標(biāo)題:C++多目錄多文件編譯技巧-創(chuàng)新互聯(lián)
當(dāng)前路徑:http://www.rwnh.cn/article46/ichhg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供靜態(tài)網(wǎng)站、商城網(wǎng)站、網(wǎng)站排名App設(shè)計(jì)、網(wǎng)站建設(shè)小程序開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都seo排名網(wǎng)站優(yōu)化
临漳县| 万州区| 花莲市| 定南县| 林甸县| 庄浪县| 陇南市| 准格尔旗| 芒康县| 民丰县| 沧州市| 军事| 汉阴县| 嘉义市| 庆元县| 黄大仙区| 阿拉善右旗| 阿拉善右旗| 霍林郭勒市| 兴国县| 高平市| 吴桥县| 巴东县| 岑巩县| 侯马市| 满洲里市| 保定市| 祁阳县| 黄冈市| 临泉县| 巴彦淖尔市| 林芝县| 张家界市| 紫金县| 靖边县| 砚山县| 永城市| 云南省| 万山特区| 夏津县| 莎车县|