精品专区-精品自拍9-精品自拍三级乱伦-精品自拍视频-精品自拍视频曝光-精品自拍小视频

網(wǎng)站建設(shè)資訊

NEWS

網(wǎng)站建設(shè)資訊

C++中為什么不要模板化類繼承

本篇內(nèi)容主要講解“C++中為什么不要模板化類繼承”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實(shí)用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“C++中為什么不要模板化類繼承”吧!

亳州網(wǎng)站建設(shè)公司創(chuàng)新互聯(lián),亳州網(wǎng)站設(shè)計(jì)制作,有大型網(wǎng)站制作公司豐富經(jīng)驗(yàn)。已為亳州成百上千提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\成都外貿(mào)網(wǎng)站建設(shè)要多少錢,請找那個(gè)售后服務(wù)好的亳州做網(wǎng)站的公司定做!

T.80:不要天真地模板化類繼承

Reason(原因)

Templating a class hierarchy that has many functions, especially many virtual functions, can lead to code bloat.

模板化包含很多成員函數(shù),特別是虛函數(shù)的類繼承層次會(huì)導(dǎo)致代碼膨脹。

Example, bad(反面示例)

template
struct Container {         // an interface
   virtual T* get(int i);
   virtual T* first();
   virtual T* next();
   virtual void sort();
};

template
class Vector : public Container {
public:
   // ...
};

Vector vi;
Vector vs;

It is probably a bad idea to define a sort as a member function of a container, but it is not unheard of and it makes a good example of what not to do.

為容器定義一個(gè)排序成員函數(shù)幾乎肯定就是一個(gè)壞主意,但這并非沒有先例,可以當(dāng)作說明我們不應(yīng)該做什么的好例子。

Given this, the compiler cannot know if vector::sort() is called, so it must generate code for it. Similar for vector::sort(). Unless those two functions are called that's code bloat. Imagine what this would do to a class hierarchy with dozens of member functions and dozens of derived classes with many instantiations.

編輯器接受這段代碼時(shí),無法知道vector::sort()是否被調(diào)用了,因此必須為之生成代碼。vector::sort()的情況也一樣。只要這兩個(gè)函數(shù)沒有被調(diào)用,這就是一種代碼膨脹。想象一下:這種情況如果發(fā)生在一個(gè)包含數(shù)十個(gè)成員函數(shù)和被多次例示的數(shù)十個(gè)派生類的繼承結(jié)構(gòu)時(shí)會(huì)發(fā)生什么。

Note(注意)

In many cases you can provide a stable interface by not parameterizing a base; see "stable base" and OO and GP

在很多情況下,你可以在不必參數(shù)化基類的情況下提供穩(wěn)定的接口;參見“穩(wěn)定的基類和OO and GP。

Enforcement(實(shí)施建議)

標(biāo)記依賴模板參數(shù)的虛函數(shù)。

到此,相信大家對“C++中為什么不要模板化類繼承”有了更深的了解,不妨來實(shí)際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!


本文標(biāo)題:C++中為什么不要模板化類繼承
本文鏈接:http://m.jcarcd.cn/article/jghjsg.html
主站蜘蛛池模板: 日韩精品专区在线影 | 日韩综合一二三区视 | 国产精品视 | 国产美女主播在线 | 精品一区二 | 国产欧美日韩 | 91免费网址福利 | 精品国产 | 国产性感美女脚交 | 欧洲一级大黄大 | 国产精品私密 | 午夜福利电影在线 | 国产九一在线视频 | 日韩国产导航 | 中文字幕开心激情 | 国产传媒片免费观看 | 国产精品青草综合久 | 殴美伊人色综合久 | 三级在线国产 | 国产日韩在线看电影 | 国产乱轮精品一区 | 拍免费视频| 福利逼站| 日本免费一区尤物 | 国产淫秽绿帽视频 | 中文字幕亚洲激情 | 成人国产免费软件 | 美日韩一区二区 | 人禽伦免费视 | 国产精品视频一区 | 中文字幕精 | 国产丝袜精品 | 成人免费国产片 | 国产高清乱伦综合 | 老司机深夜免费福利 | 91大神无删减 | 国产精品汇聚精彩 | 国产无须下载的免 | 日韩夜间飞 | 欧美一级在线观看 | 日本一a精品网站 |