亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? stl_introduction.html

?? 指導程序員合理、高效的進行標準模板庫編程。
?? HTML
?? 第 1 頁 / 共 2 頁
字號:
type is substituted for <TT>InputIterator</TT> must provide certain 
operations: it must be possible to compare two objects of that type for 
equality, it must be possible to increment an object of that type, it 
must be possible to dereference an object of that type to obtain the 
object that it points to, and so on. </P>
<P>
<TT>Find</TT> isn't the only STL algorithm that has such a set of 
requirements; the arguments to <TT><A href="for_each.html">for_each</A></TT> and <TT><A href="count.html" tppabs="http://www.sgi.com/Technology/STL/count.shtml">count</A></TT>, 
and other algorithms, must satisfy the same requirements. These requirements are 
sufficiently important that we give them a name: we call such a set of 
type requirements a <I>concept</I>, and we call this particular 
concept <B><A href="InputIterator.html">Input Iterator</A></B>. We say that a type <I>conforms to a concept</I>, or that 
it <I>is a model of a concept</I>, if it satisfies all of those 
requirements.  We say that <TT>int*</TT> is a model of <B>Input 
Iterator</B> because <TT>int*</TT> provides all of the operations that 
are specified by the <B>Input Iterator</B> requirements. </P>
<P>
Concepts are not a part of the C++ language; there is no way to declare 
a concept in a program, or to declare that a particular type is a model 
of a concept. Nevertheless, concepts are an extremely important part of 
the STL. Using concepts makes it possible to write programs that 
cleanly separate interface from implementation: the author of <TT>find</TT>
 only has to consider the interface specified by the concept <B>Input 
Iterator</B>, rather than the implementation of every possible type 
that conforms to that concept. Similarly, if you want to use <TT>find</TT>, 
you need only to ensure that the arguments you pass to it are models 
of <B>Input Iterator. </B>This is the reason why <TT>find</TT> and <TT>reverse</TT>
 can be used with <TT>list</TT>s, <TT>vector</TT>s, C arrays, and many 
other types: programming in terms of concepts, rather than in terms of 
specific types, makes it possible to reuse software components and to 
combine components together. </P>
<H2>
Refinement</H2>
<P>
<B>Input Iterator</B> is, in fact, a rather weak concept: that is, it 
imposes very few requirements. An <B>Input Iterator</B> must support a 
subset of pointer arithmetic (it must be possible to increment an <B>Input 
Iterator</B> using prefix and postfix <TT>operator++</TT>), but need 
not support all operations of pointer arithmetic. This is sufficient 
for <TT><A href="find.html">find</A></TT>, but some other algorithms require that their 
arguments satisfy additional requirements. <TT><A href="reverse.html">Reverse</A></TT>, for 
example, must be able to decrement its arguments as well as increment 
them; it uses the expression <TT>--last</TT>. In terms of concepts, we 
say that <TT>reverse</TT>'s arguments must be models of <B><A href="BidirectionalIterator.html">Bidirectional Iterator</A></B> 
rather than <B>Input Iterator</B>. </P>
<P>
The <B>Bidirectional Iterator</B> concept is very similar to the <B>Input
 Iterator</B> concept: it simply imposes some additional requirements. 
The types that are models of <B>Bidirectional Iterator</B> are a subset 
of the types that are models of<B> Input Iterator</B>: every type that 
is a model of <B>Bidirectional Iterator</B> is also a model of <B>Input 
Iterator</B>. <TT>Int*</TT>, for example, is both a model of <B>Bidirectional 
Iterator</B> and a model of <B>Input Iterator</B>, but <TT><A href="istream_iterator.html">istream_iterator</A></TT>, 
is only a model of  <B>Input Iterator</B>: it does not conform to the 
more stringent <B>Bidirectional Iterator</B> requirements. </P>
<P>
We describe the relationship between <B>Input Iterator</B> and <B>Bidirectional 
Iterator</B> by saying that <B>Bidirectional Iterator</B> is a <I>refinement</I>
 of <B>Input Iterator</B>. Refinement of concepts is very much like 
inheritance of C++ classes; the main reason we use a different word, 
instead of just calling it &quot;inheritance&quot;, is to emphasize 
that refinement applies to concepts rather than to actual types.</P>
<P>
There are actually three more iterator concepts in addition to the two 
that we have already discussed:  the five iterator concepts are 
<B><A href="OutputIterator.html">Output Iterator</A></B>, <B><A href="InputIterator.html" tppabs="http://www.sgi.com/Technology/STL/InputIterator.shtml">Input Iterator</A></B>, 
<B><A href="ForwardIterator.html">Forward Iterator</A></B>, <B><A href="BidirectionalIterator.html" tppabs="http://www.sgi.com/Technology/STL/BidirectionalIterator.shtml">Bidirectional Iterator</A></B>, and 
<B><A href="RandomAccessIterator.html">Random Access Iterator</A>;</B> <B>Forward Iterator</B> is a 
refinement of <B>Input Iterator</B>, <B>Bidirectional Iterator</B> 
is a refinement of <B>Forward Iterator</B>, and <B>Random Access Iterator</B>
is a refinement of <B>Bidirectional Iterator</B>.   (<B><A href="OutputIterator.html">Output Iterator</A></B>
is related to the other four concepts, but it is not part of the hierarchy
of refinement: it is not a refinement of any of the other iterator concepts,
and none of the other iterator concepts are refinements of it.)

The <I><A href="Iterators.html">Iterator Overview</A></I> has more information about iterators 
in general. </P>
<P>
Container classes, like iterators, are organized into a hierarchy of 
concepts. All containers are models of the concept <B><A href="Container.html">Container</A></B>; 
more refined concepts, such as <B><A href="Sequence.html">Sequence</A></B> and 
<B><A href="AssociativeContainer.html">Associative Container</A></B>, describe specific types of containers. 
</P>
<H2>
Other parts of the STL</H2>
<P>
If you understand algorithms, iterators, and containers, then you 
understand almost everything there is to know about the STL. The STL 
does, however, include several other types of components. </P>
<P>
First, the STL includes several  <I>utilities</I>: very basic concepts 
and functions that are used in many different parts of the library. The 
concept<B> <A href="Assignable.html">Assignable</A></B>, for example, describes types that have 
assignment operators and copy constructors; almost all STL classes are 
models of <B>Assignable</B>, and almost all STL algorithms require 
their arguments to be models of <B>Assignable</B>. </P>
<P>
Second, the STL includes some low-level mechanisms for allocating and 
deallocating memory. <I><A href="Allocators.html">Allocators</A></I> are very specialized, and 
you can safely ignore them for almost all purposes. </P>
<P>
Finally, the STL includes a large collection of <I><A href="functors.html">function objects</A></I>, 
also known as <I>functors</I>. Just as iterators are a generalization 
of pointers, function objects are a generalization of functions: a 
function object is anything that you can call using the ordinary 
function call syntax. There are several different concepts relating to 
function objects, including <B><A href="UnaryFunction.html">Unary Function</A></B> (a function 
object that takes a single argument, <I>i.e.</I> one that is called as <TT>f(x)</TT>) 
and <B><A href="BinaryFunction.html">Binary Function</A></B> (a function object that takes two 
arguments, <I>i.e.</I> one that is called as <TT>f(x, y)</TT>). Function 
objects are an important part of generic programming because they allow 
abstraction not only over the types of objects, but also over the 
operations that are being performed. </P>

<HR SIZE="6"> <FONT SIZE="-2"> Copyright &copy; 1996 Silicon Graphics, Inc.
<HR>
<TABLE BORDER=0 WIDTH="100%" >
<TR>
<TD WIDTH="33%"><FONT SIZE=-1><A HREF="index.html" >
STL</A></FONT></TD>

<TD WIDTH="33%">
<CENTER><FONT SIZE=-2>&copy; Copyright 1997-1998 CodeGuru</FONT>&nbsp;</CENTER>
</TD>

<TD WIDTH="34%">
<DIV ALIGN=right><FONT SIZE=-1>Contact : <A HREF="mailto:webmaster@codeguru.com">webmaster@codeguru.com</A>&nbsp;</FONT></DIV>
</TD>
</TR>
</TABLE>
<SCRIPT LANGUAGE="JavaScript" ><!--
var adurl = "/cgi-bin/doubleclick.cgi?";

if( self.adcategory )
	adurl += adcategory;
else
	adurl += "mfc";

if( self.parent.norefreshad )
	parent.norefreshad = false;
else if( validframes )
	parent.frames['ad'].location = adurl;



if( !validframes && nfrm == -1)
{
	var dclkPage = "www.codeguru.com/";
	if( self.adcategory )
		dclkPage += adcategory;
	else 
		dclkPage += "mfc";
//	var random = Math.random();
	document.write('<nolayer><center>');
	document.write('<iframe src="http://ad.doubleclick.net/adi/' + dclkPage + ';ord='
	 + random + '" width=470 height=62 marginwidth=0 marginheight=0 hspace=0 vspace=0 '
	 + 'frameborder=0 scrolling=no bordercolor="#000000">');
	document.write('<a href="http://ad.doubleclick.net/jump/' + dclkPage + ';ord='
	 + random + '">');
	document.write('<img src="http://ad.doubleclick.net/ad/' + dclkPage + ';ord='
	 + random + '" height=60 width=468>' + '</a>');
	document.write('</iframe>');
	document.write('</center></nolayer>');
	document.write('<layer  src="http://ad.doubleclick.net/adl/' + dclkPage + 
	 ';ord=' + random + '"></layer>');
	document.write('<ilayer visibility=hide width=468 height=83></ilayer>');
}

// -->
</SCRIPT> 
<!-- SCRIPT LANGUAGE="JavaScript" SRC="/global/fscript.js">
//
</SCRIPT --> 

<noscript>
<p align="center">
<a href="http://ad.doubleclick.net/jump/www.codeguru.com/cpp;ord=NupaBNFCY34AAHa7US4">
<img src="http://ad.doubleclick.net/ad/www.codeguru.com/cpp;ord=NupaBNFCY34AAHa7US4"></a>
</p>
</noscript>





</BODY>
</HTML>


?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩国产大片| 日本一不卡视频| 久久久亚洲午夜电影| 欧美一级国产精品| 欧美一级一区二区| 日韩欧美亚洲另类制服综合在线| 欧美美女视频在线观看| 欧美二区乱c少妇| 欧美一区二区三区日韩| 日韩一级在线观看| 久久久久成人黄色影片| 国产亲近乱来精品视频| 国产精品久久久久久久久搜平片| 国产精品九色蝌蚪自拍| 一区二区三区小说| 亚洲成人av一区二区三区| 丝袜a∨在线一区二区三区不卡| 日韩不卡手机在线v区| 奇米色一区二区| 国内外成人在线视频| 国产99精品国产| 在线日韩一区二区| 欧美一级在线视频| 亚洲国产精品成人久久综合一区 | 日韩av在线发布| 久久电影网站中文字幕| 国产米奇在线777精品观看| 成人avav影音| 欧美熟乱第一页| 久久婷婷国产综合国色天香| 综合久久综合久久| 日韩福利视频网| 成人午夜视频网站| 777xxx欧美| 亚洲色图视频免费播放| 日本欧美在线看| 99久久综合99久久综合网站| 欧美另类变人与禽xxxxx| 久久久精品tv| 日韩精品一区第一页| 成人国产精品视频| 日韩一区二区三区视频在线| 综合欧美一区二区三区| 麻豆精品国产91久久久久久| 97久久超碰国产精品| 久久久久成人黄色影片| 日本亚洲一区二区| 91在线国内视频| 国产人成亚洲第一网站在线播放 | 欧美人伦禁忌dvd放荡欲情| 久久综合狠狠综合久久综合88| 一区二区欧美精品| 成人一级片在线观看| 日韩精品中午字幕| 亚洲成人免费视频| 91美女片黄在线| 日本一区二区三区dvd视频在线| 亚洲国产美女搞黄色| 99久久久国产精品免费蜜臀| 久久久久久9999| 美国欧美日韩国产在线播放| 欧美精品色一区二区三区| 一区二区三区四区在线播放| 国产精品一区在线观看乱码| 精品少妇一区二区三区 | 欧美高清视频一二三区| 亚洲精品福利视频网站| caoporn国产精品| 国产精品久久久久9999吃药| 国产馆精品极品| 久久久噜噜噜久久中文字幕色伊伊| 青青草精品视频| 欧美精品高清视频| 日韩电影在线看| 欧美日本一道本在线视频| 国产嫩草影院久久久久| 中文无字幕一区二区三区| 久久这里只有精品首页| 91伊人久久大香线蕉| 久久成人久久爱| 亚洲成人免费视频| 免费观看在线综合| 蜜臀av性久久久久蜜臀aⅴ| 久久夜色精品一区| 久久久91精品国产一区二区精品 | 99精品视频中文字幕| 久久久国际精品| 福利91精品一区二区三区| 国产亚洲欧洲997久久综合| 国产精品一区二区三区99| 中文字幕高清不卡| 91污片在线观看| 亚洲a一区二区| 欧美刺激午夜性久久久久久久| 精品在线观看视频| 久久久久久久久久久久久久久99| 丁香婷婷综合激情五月色| 日韩毛片一二三区| 欧美日韩国产首页| 麻豆91在线播放| 国产农村妇女精品| 欧美日韩在线一区二区| 蜜臀91精品一区二区三区| 国产色婷婷亚洲99精品小说| 日韩一级高清毛片| 久久九九久精品国产免费直播| 国产精品久久二区二区| 国产精品护士白丝一区av| 日韩电影在线免费看| 午夜精品久久久久久久久| 麻豆精品一区二区三区| 成人一区二区视频| 色综合久久中文综合久久97| 日韩电影免费一区| 91蜜桃传媒精品久久久一区二区| 欧美日韩国产在线播放网站| 一区在线播放视频| 成人网在线播放| 欧美精品一区二区精品网| 亚洲激情在线播放| 99久久久国产精品| 久久久精品国产99久久精品芒果| 免费高清成人在线| 日韩三级免费观看| 一区二区三区欧美日| 国产在线精品免费av| 日韩一区二区在线免费观看| 日韩中文字幕亚洲一区二区va在线| 91在线观看高清| 一区二区日韩av| 欧美视频一区二区在线观看| 亚洲精品成人精品456| 色综合视频在线观看| 亚洲一卡二卡三卡四卡| 91高清视频免费看| 国产精品天干天干在线综合| 91蝌蚪porny九色| 久久疯狂做爰流白浆xx| 欧美日韩第一区日日骚| 中文字幕一区二| 一本到不卡免费一区二区| 亚洲国产色一区| 日韩午夜在线观看| 97精品久久久久中文字幕| 亚洲18色成人| 中文字幕在线一区二区三区| 精品免费99久久| 在线看国产日韩| 欧美理论片在线| 亚洲色图欧美激情| 91麻豆高清视频| 亚洲三级在线看| 国产欧美一区二区精品性色| 在线播放日韩导航| 欧美高清dvd| 日韩一区二区三区免费看| 欧美精品九九99久久| 91麻豆精品国产91久久久久久久久| 日本久久电影网| 欧美日韩一区小说| 91精品久久久久久蜜臀| 欧美一区二区三区在| 欧美一区二区在线观看| 欧美xxxxx牲另类人与| 精品国产一区二区国模嫣然| 久久人人超碰精品| 中文字幕日韩一区| 天堂va蜜桃一区二区三区漫画版| 婷婷丁香久久五月婷婷| 乱中年女人伦av一区二区| 国产又黄又大久久| 成人精品免费看| 91猫先生在线| 欧美一区二区二区| 久久久精品中文字幕麻豆发布| 国产精品丝袜黑色高跟| 亚洲精品第1页| 蜜桃传媒麻豆第一区在线观看| 国产一区二区精品久久| 91天堂素人约啪| 欧美二区三区的天堂| 久久久国产综合精品女国产盗摄| 亚洲人成精品久久久久久| 亚洲成人一二三| 国产精品一区专区| 欧美色视频在线观看| 欧美成人一区二区三区片免费 | 韩国一区二区在线观看| 国产成人夜色高潮福利影视| 日本高清成人免费播放| 欧美xxxxx牲另类人与| 亚洲免费成人av| 国内久久精品视频| 欧美伊人久久大香线蕉综合69| 精品精品国产高清a毛片牛牛| 一区在线观看视频| 精品写真视频在线观看| 91美女在线视频| 国产欧美一区二区三区鸳鸯浴 | 免费观看成人av|