新聞中心
STL萃取學(xué)習(xí)

創(chuàng)新互聯(lián)建站專(zhuān)注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于成都網(wǎng)站設(shè)計(jì)、成都做網(wǎng)站、文水網(wǎng)絡(luò)推廣、微信小程序開(kāi)發(fā)、文水網(wǎng)絡(luò)營(yíng)銷(xiāo)、文水企業(yè)策劃、文水品牌公關(guān)、搜索引擎seo、人物專(zhuān)訪、企業(yè)宣傳片、企業(yè)代運(yùn)營(yíng)等,從售前售中售后,我們都將竭誠(chéng)為您服務(wù),您的肯定,是我們最大的嘉獎(jiǎng);創(chuàng)新互聯(lián)建站為所有大學(xué)生創(chuàng)業(yè)者提供文水建站搭建服務(wù),24小時(shí)服務(wù)熱線:18982081108,官方網(wǎng)址:www.cdcxhl.com
一,萃取模板類(lèi)實(shí)現(xiàn)
iterator類(lèi):模板常用屬性的集合類(lèi),其他類(lèi)只需要集成該類(lèi)即可。本例為學(xué)習(xí)就只包括value_type屬性。
iterator_traits類(lèi):屬性萃取類(lèi)。
/********************************* * * Author : szyu * * Date : 2017.3.1 * **************************************/ #ifndef __SZYU_ITERATOR__ #define __SZYU_ITERATOR__ templateclass iterator_traits { public: typedef typename T::value_type value_type; }; template class iterator { public: typedef T value_type; }; #endif
/****************************** * * Author : szyu * * Date : 2017.3.1 * ************************************/ #ifndef __SZYU_HEAD__ #define __SZYU_HEAD__ #include "iterator.h" templateclass Test : public iterator { }; template typename iterator_traits ::value_type function( int num1, int num2 ) { std::cout << "Traits function int." << std::endl; return num1 + num2; } template typename iterator_traits ::value_type function( double num1, double num2 ) { std::cout << "Traits function double." << std::endl; return num1 + num2; } #endif
二,測(cè)試用例
/************************* * * Author : szyu * * Date : 2017.3.1 * **********************************/ #include#include "head.h" void test1() { int v1 = function >(1, 2); std::cout << "v1 = " << v1 << std::endl; double v2 = function >( 1.1, 2.2 ); std::cout << "v2 = " << v2 << std::endl; } int main( int argc, char *argv[] ) { test1(); return 0; }
三,測(cè)試結(jié)果
Traits function int. v1 = 3 Traits function double. v2 = 3.3
網(wǎng)頁(yè)題目:[C++]STL萃取學(xué)習(xí)
網(wǎng)站路徑:http://www.dlmjj.cn/article/jhojdc.html


咨詢
建站咨詢
