??xml version="1.0" encoding="utf-8" standalone="yes"?>麻豆精品久久久,一区二区日本伦理,欧美伦理影视网http://www.aygfsteel.com/tbg1986/zh-cnWed, 18 Jun 2025 04:41:40 GMTWed, 18 Jun 2025 04:41:40 GMT60修饰W的位置http://www.aygfsteel.com/tbg1986/archive/2008/08/05/220185.html清流琴音清流琴音Tue, 05 Aug 2008 07:24:00 GMThttp://www.aygfsteel.com/tbg1986/archive/2008/08/05/220185.htmlhttp://www.aygfsteel.com/tbg1986/comments/220185.htmlhttp://www.aygfsteel.com/tbg1986/archive/2008/08/05/220185.html#Feedback3http://www.aygfsteel.com/tbg1986/comments/commentRss/220185.htmlhttp://www.aygfsteel.com/tbg1986/services/trackbacks/220185.html 应该修饰符*  ?&紧靠变量名。例如:int  *a;  int &a;
cȝ版式Q?br /> cd以将数据和函数封装v来,其中函数是表C类的行为。也可以UCؓ是服务。类提供了关键字public ,protect ,private用于声明哪些是公qQ哪些是保护的,哪些?U有的。这样可以让c隐藏必要的东西?br /> cȝ版式主要有两U版?
 (1):W一U将privtecd的数?写在前面Q将publiccd的数据写在后面。采用这U版式的E序员主?#8220;以数据ؓ中心Q?#8221;重点xcȝl构?br />  (2):W二U版式是publiccd写在前面。将private写在后面。这U版式的E序员主?#8220;以行Zؓ中心”。重点关注的是类应该提供什么样的接口(或者服务)?br /> 我徏议大安?#8220;以行Zؓ中心?#8221;的这U类?版式。因栯计类的时候。首先考虑的类可以提供什么洋的服务。而且方便用户阅读?br />


清流琴音 2008-08-05 15:24 发表评论
]]>
E序的版?/title><link>http://www.aygfsteel.com/tbg1986/archive/2008/08/01/219360.html</link><dc:creator>清流琴音</dc:creator><author>清流琴音</author><pubDate>Fri, 01 Aug 2008 07:32:00 GMT</pubDate><guid>http://www.aygfsteel.com/tbg1986/archive/2008/08/01/219360.html</guid><wfw:comment>http://www.aygfsteel.com/tbg1986/comments/219360.html</wfw:comment><comments>http://www.aygfsteel.com/tbg1986/archive/2008/08/01/219360.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/tbg1986/comments/commentRss/219360.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/tbg1986/services/trackbacks/219360.html</trackback:ping><description><![CDATA[IQ?br /> IL分隔E序D落的作用?br /> (1):在给个类的声明之后,函数的定义之后,都要加上I?br /> (2):在一个函C内,逻辑关系密切的相兌句之间不可以加上I?br /> 代码行:<br /> (1):一行代码指做一件事情。例?只声明一个变量?br /> (2)Qif ,for while,do{语句自占一行。执行语句不能紧跟其后?br /> Q在定义变量的同时。初始化该变量?br /> 如果变量的引用和定义的地Ҏ较远Q那么很Ҏ׃忘记了变量的初始化。如果引用了一个没有初始化的变量,那么很有可能׃引v错误?br /> 代码行内的空|<br /> (1)Q关键字之后要有I格。向const ,virtual,case{关键字后面臛_要留一个空根{否则的话,无法辨认关键字。象if.while, for{关键字后面紧跟一个空格在?#8220;Q?#8221;以显C关键字的?br /> (2):函数名之后不要留I格Q紧?#8220;Q?#8221;以和关键字区别?br /> 寚wQ?br /> E序的分界符“{”?}"应该独占一行ƈ且位于一列?br /> <br /> <img src ="http://www.aygfsteel.com/tbg1986/aggbug/219360.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/tbg1986/" target="_blank">清流琴音</a> 2008-08-01 15:32 <a href="http://www.aygfsteel.com/tbg1986/archive/2008/08/01/219360.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>文g的结?/title><link>http://www.aygfsteel.com/tbg1986/archive/2008/08/01/219349.html</link><dc:creator>清流琴音</dc:creator><author>清流琴音</author><pubDate>Fri, 01 Aug 2008 07:13:00 GMT</pubDate><guid>http://www.aygfsteel.com/tbg1986/archive/2008/08/01/219349.html</guid><wfw:comment>http://www.aygfsteel.com/tbg1986/comments/219349.html</wfw:comment><comments>http://www.aygfsteel.com/tbg1986/archive/2008/08/01/219349.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/tbg1986/comments/commentRss/219349.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/tbg1986/services/trackbacks/219349.html</trackback:ping><description><![CDATA[头文件由三部分组成:<br /> 1Q头文g开头出的版本和版权?声明?br /> 2Q预处理块?br /> 3Q函数和cȝl构声明{?br /> 规则Q?br /> (1): Z防止头文件被重复的引用,应该使用#ifndef/define/endifl构产生与处理模块?br /> (2):?include<filename.h>来引用标准库的头文gQ编译器从标准库目录开始搜索)?br /> (3):?include"filename.h"来引用非标准库的头文Ӟ~译器将从用户工作的目录开始搜索)<br /> Q头文g中一般只存放“声明”Q而不存放“定义”<br /> <br /> 定义文g的结构:<br /> <br /> 定义文g?内容有由三部分组成:<br /> (1):  定义文g开头处的版本和版权Q?br /> (2):对一些头文g的引用;<br /> (3):E序的实CQ包括数据和代码Q?br /> <br /> 头文件的作用Q?br /> (1):通过头文件来调用库功能。在很多场合源代码不能(或者不准)提供l用戗只提供l用头文件或者二q制的库。用户只需要按照头文g中的接口的声明来调用库功能。而不必关心接口是如何实现的。编译器会从库中提取相应的代码?br /> (2): 头文件可以用来加强类型安全检查。如果某个接口被实现或者被实用的时候,其方式和在头文g中的声明不一致的时候,~译器就会报错。这一单的规则可以大大的减ȝ序员调试和改错的负担?br /> 目录l构Q?br /> 如果一个Y件的头文件比较多Q超q?0个)Q就应该把头文g和定义文件分开。分别保存在不同的目录之中。以便于l护?br /> 例如Q可以将头文件保存在inluude目录之中。将定义文g保存在source文g之中?br /> 如果某些头文件是U有的,不会被程序直接引用,Z加强信息隐藏。那么可以把q些头文件和定义文g攑֜同一目录之中?br /> <img src ="http://www.aygfsteel.com/tbg1986/aggbug/219349.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/tbg1986/" target="_blank">清流琴音</a> 2008-08-01 15:13 <a href="http://www.aygfsteel.com/tbg1986/archive/2008/08/01/219349.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>指针cdhttp://www.aygfsteel.com/tbg1986/archive/2008/07/08/213329.html清流琴音清流琴音Tue, 08 Jul 2008 06:43:00 GMThttp://www.aygfsteel.com/tbg1986/archive/2008/07/08/213329.htmlhttp://www.aygfsteel.com/tbg1986/comments/213329.htmlhttp://www.aygfsteel.com/tbg1986/archive/2008/07/08/213329.html#Feedback0http://www.aygfsteel.com/tbg1986/comments/commentRss/213329.htmlhttp://www.aygfsteel.com/tbg1986/services/trackbacks/213329.html 指针的典型用法是构徏一个连接的数据l构Q例如:链表(list)和数(tree)。ƈ理在程序运行的q程中动态分配的对象。以及作为函数参数类型。主要用来传递数l和大型cȝ对象?br /> 每个指针都有相关的类型?br /> 不同数据cd的指针之间的区别不在于指针的表示上,也不是指针所持有的|地址Q。——对于所有类型的指针q两个方面都是一L。不同之处在于指针所指的对象的类型上。针l类型可以指定编译器咋样解释特定内存上的指定的内容,以及该内存区域因该跨多内存单元?br />

清流琴音 2008-07-08 14:43 发表评论
]]>
变量?/title><link>http://www.aygfsteel.com/tbg1986/archive/2008/07/08/213328.html</link><dc:creator>清流琴音</dc:creator><author>清流琴音</author><pubDate>Tue, 08 Jul 2008 06:26:00 GMT</pubDate><guid>http://www.aygfsteel.com/tbg1986/archive/2008/07/08/213328.html</guid><wfw:comment>http://www.aygfsteel.com/tbg1986/comments/213328.html</wfw:comment><comments>http://www.aygfsteel.com/tbg1986/archive/2008/07/08/213328.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/tbg1986/comments/commentRss/213328.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/tbg1986/services/trackbacks/213328.html</trackback:ping><description><![CDATA[变量名,卛_量的标识W,可以由字W,数字Q以及下划线来组成。他必须以字W或者下划线来开_q且区分大小写?br /> 语言本n没有对变量名做什么限制。但是ؓ了用L惻I他不应过ѝ?br /> c++保留了一些词用作关键字。关键字标识W不能在作ؓ标识W在E序中用了?br /> 对于命名对象有很多已l普遍接受的习惯。主要考虑的因素的是程序的可读性?br /> W一Q对象的命名一般用写?br /> W二Q标识符通常用容易记忆的名字?br /> W三Q对于多词构成的标识W一般在词的中间加上下划Uѝ?br /> 对象的定义:<br /> 一个简单的对象的定义由一个类型指C符后面加上一个名字构成,以分L束?br /> 例如Q?int aaaaa;<br /> 当同cd的多个标识符被定义的时候,我们可以在类型指C符后面用逗号隔开?br /> 一个简单的定义指定了变量的cd和标识符。他q不提供初始倹{?br /> 如果一个变量是在全局域(globe scopeQ中定义?那么pȝ会保证给他一个初始?。如果一个变量是在一个局部域中定义的Q或者通过一个new 动态分配的Q那么系l不会向它提供初始?。这些对象被UCؓ未初始化QuninitializedQ?未初始化的对象不是没有|而是对象的值未被定义?br /> 因ؓ使用未初始化的对象是个很常见?nbsp; 错误Qƈ且很难被发现。所以徏议ؓ每个定义的对象进行初始化?br /> cL刉过~省构造函数提供了cd象的自动初始化?br /> 例如Q?br /> int  main()<br /> {<br /> int valQ?///////未被初始化的倹{?br /> string  projectQ?/////通过stringcȝ~省的构造函数进行了初始化?br /> }<br /> <br /> <br /> val是一个未被初始化的局部变量?br /> 但是project是一个已l被初始化的cd象——被stringcȝ省的构造函数自动初始化?br /> 初始化一个值可以在对象定义的时候进行?br /> c++支持两种形式的初始化?br /> W一U是使用赋值符L现实的操作?br /> 如:<br /> int val=111;<br /> string  project="ssssss";<br /> 隐式形式中,初始化D攑֜括号中?br /> int val(111);<br /> string project("sssssss");<br /> 在对象的定义之中Q当对象的标识符在定义中出现后,对象名马上就是可见的了。因此用对象初始化他自己是合法的Q只是这样做不是明智的?br /> 例如Qint val=val;///////合法Q但是不是明智的?br /> 另外Q每U内|数据类型都支持一U特D的构造函数。可对象初始化??br /> /////讄val?。设|dval?.0?<br /> int val =int();<br /> double dval=double();<br /> 下列的定义中Q?br /> int()<br /> vector <int>ival(10);<br /> 函数int()自动被应用到ival包含?0个元素上?br /> 对象可以用Q意复杂的表达式来初始化,也可以用q回? <img src ="http://www.aygfsteel.com/tbg1986/aggbug/213328.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/tbg1986/" target="_blank">清流琴音</a> 2008-07-08 14:26 <a href="http://www.aygfsteel.com/tbg1986/archive/2008/07/08/213328.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>变量http://www.aygfsteel.com/tbg1986/archive/2008/07/08/213256.html清流琴音清流琴音Tue, 08 Jul 2008 02:49:00 GMThttp://www.aygfsteel.com/tbg1986/archive/2008/07/08/213256.htmlhttp://www.aygfsteel.com/tbg1986/comments/213256.htmlhttp://www.aygfsteel.com/tbg1986/archive/2008/07/08/213256.html#Feedback0http://www.aygfsteel.com/tbg1986/comments/commentRss/213256.htmlhttp://www.aygfsteel.com/tbg1986/services/trackbacks/213256.html c++中给个符号变量都有一个符L型与之对应。这个类型决定了相关内存的大,cdQ布局Q能够存贮在该内存值的范围。以及可以以用到其上的操作集。我们也可以把变量说成是对象QobjectQ?br /> ?br /> 变量和文字常量都有存贮区Qƈ且都有相关的cd。区别在于变量是可以d的(adressableQ常量文字是不可以寻址的(nonadressableQ?每一个变量都有两个g之联pȝQ?br /> 1Q数据倹{存贮在内存的某个存贮区之中。有时候这个数据g被称为是叛_|rvalueQ?我们可以认ؓ叛_是被读取的倹{文字常量和变量都可以被用来做右倹{?br /> 2Q它的地址倹{即存贮它数据值的那块内存的地址。它有时候被UCؓ左|lvalueQ。我们也可以认ؓ左值的意思是位置倹{文字常量不能被用作左倹{?br /> 变量的定义会引v相关内存的分配。因Z个对象只能有一个存贮位|,所以一个对象只能被定义一ơ。如果在一个文件中定义的对象需要在另一个文件中被访问,那么׃出现问题?br /> 在c++中,对象在用之前必ȝ道对象,引用一个未知的对象会引L译器的错误?br /> 如果一个对象在另一?nbsp; 文g中声明着Q我们想在这个文件中来用这个对象,但是又不能在q个文g中在声明相同的对象。那么我们可以用extern关键字来声明q个对象?br /> 例如; file module.c
 string aaaaa;
///定义了对象aaaaa



file  module1.c
////需要用对象aaaaa.Q?br /> ////声明对象aaaaaQɽE序知道它。但是又不能引入W二个定义?br /> extern string aaaaa;
对象声明是ɽE序知道对象的类型和名字。它由关键字extern后面跟对象的cd和对象的名字构成?br /> 声明不是定义Q不会引起内存的分配。实际上它只是说明了在程序之外的某处有这个变量的定义?br /> 虽然一个程序中只能包含一个对象的定义Q但是可以包含很多的对象声明?br /> 比较好的做法?   不是在每个要使用的文件中都单独提供一个声明。而是在在头文件中声明q个对象Q然后在需要声明这个对象的时候包含这个头文g好了。按照这个做法。如果需要修改对象的声明只需要修改一ơ。就能维持多个用这个对象的声明文g的一致性?br />




清流琴音 2008-07-08 10:49 发表评论
]]>
面向对象的程序设?/title><link>http://www.aygfsteel.com/tbg1986/archive/2008/07/07/212970.html</link><dc:creator>清流琴音</dc:creator><author>清流琴音</author><pubDate>Mon, 07 Jul 2008 02:33:00 GMT</pubDate><guid>http://www.aygfsteel.com/tbg1986/archive/2008/07/07/212970.html</guid><wfw:comment>http://www.aygfsteel.com/tbg1986/comments/212970.html</wfw:comment><comments>http://www.aygfsteel.com/tbg1986/archive/2008/07/07/212970.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/tbg1986/comments/commentRss/212970.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/tbg1986/services/trackbacks/212970.html</trackback:ping><description><![CDATA[<p>面相对象的程序设计扩展了l予对象的程序设计。可以提供类型和子类型的关系。这个是通过一U称作承(inheritanceQ的机制来实现的?/p> <img src ="http://www.aygfsteel.com/tbg1986/aggbug/212970.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/tbg1986/" target="_blank">清流琴音</a> 2008-07-07 10:33 <a href="http://www.aygfsteel.com/tbg1986/archive/2008/07/07/212970.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>c++的數據結?/title><link>http://www.aygfsteel.com/tbg1986/archive/2008/07/04/212620.html</link><dc:creator>清流琴音</dc:creator><author>清流琴音</author><pubDate>Fri, 04 Jul 2008 07:35:00 GMT</pubDate><guid>http://www.aygfsteel.com/tbg1986/archive/2008/07/04/212620.html</guid><wfw:comment>http://www.aygfsteel.com/tbg1986/comments/212620.html</wfw:comment><comments>http://www.aygfsteel.com/tbg1986/archive/2008/07/04/212620.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/tbg1986/comments/commentRss/212620.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/tbg1986/services/trackbacks/212620.html</trackback:ping><description><![CDATA[<p>c++預定了一i數值數據類型。可以用來表C整型,點型和單個字W。此外還預定了表C字W串的字W數i?br /> 1Q字W型char:通常用來表示單個字W和整數。它可以用一個機器字來表C(?位表C)?br /> 2Q整型int  短整型short Q長整型long分別表示不同長度的整數倹{典型的情況下:short用半個字表示Q即16位)。int 用一個字表示Q即32位。)long用一個或者兩個字表示。(?2位的器中通常int 和long的通常長度相同。)<br /> 3QQ點型flont ,雙精度double和長雙精度。長雙精度long double 。分別表C單_ֺ點數。雙_ֺ點數和擴展_ֺ的Q點數。典型的情況下,float用一個字表示。double用兩個字表示Qlong double用三個或者四個字表示?br /> char ,int, float , long Eq整值類型(intergral  typeQ。整值類型可以有W號也可以沒有符號。在有符號的型中。最左邊的位是符號為。余下的位代表數倹{。在無符號的型中,所有的位表C數g?br /> 如果W號a置?。那么數D解釋數。如果符號為被設|為0。那么數g被解釋為正數?br /> 一?位有W号的char 表示-128---127之间的倹{而一个无W号的char则表C?--255之间的倹{?br /> 当一个倹{例?。出现在E序的时候,我们U它为文字常量。称他ؓ“文字”是因为我们只能以他的值的形式来指代它。称之ؓ帔R是因为它的g能被改变。每个文字都有相应的cd。文字常量是不可d的(nonadressableQ。尽他的g被存储在机器的某个内存之中。但是我们没有办法来L它的地址?br /> 整数文字帔R可以被写成十q制。八q制Q十六进制的形式。(q不会改变该整数的位序列Q。例如:20可以写成以下的方式:<br /> 20/////////十进制Ş?br /> 024/////八进?br /> 0x14////十六q制?br /> 在整型常量前面加?。该值将被解释成一个八q制数。而在整Ş帔R的前面加?xQ则该值将会被解释成十六进制数?br /> 在缺省的情况下,整Ş帔R被当作一个int的有W号的整数?br /> 我们可以在一个文字常量的后面加上一?#8220;L”或?l"Q将其指定ؓlongcd?br /> cM的,我们在文字常量的后面加上“u”或?#8220;U”。表CZ个无W号的数?br /> 此外Q我们还可以指定无符号longcd的数。例如: 1UL.<br /> 单词true 和false是bool型的文字帔R?br /> 可以打印的文字常量可以用单引?'括v来例如:<br /> 'A','S'...{?br /> 不能够直接打印的字符Q单引号Q双引号Q和反斜杠就i可以用{义序列来来表C(转移序列用反斜杠来开_?br /> \n 换行W?br /> \t水^制表W?br /> \v垂直制表W?br /> \b退格符<br /> \r回R?br /> \a响铃?br /> \\反斜杠键<br /> \?问号<br /> \'单引?br /> \""双引?br /> 另外字符文字前面可以加上“L<br /> 例如QL'a'<br /> q个UCؓ宽字W文字,cd为wchar_t.宽字W常量用来支持某些语a字符的集合。例如:汉语Q日语等<br /> q些语言中的某些字符不能用单个的字符来表C?br /> 字符串常量由零个或者许多个由双引号括v来的 字符<br /> 不可以打印的字符q应的转移序列来表C,而一个字W串文字可以扩展到多行。在一行的最后加上一个\Q表C字W串文字在下一行l?br /> 如:"fdfdf fdfdf\dfdfdfsdffdfdfdf"<br /> 字符串文字的cd是常量字W数l。字W文字本w和 ~译器加上的表示l束?NULL),字符构成?br /> 例如Q?a'表示一个单个的字符a<br /> "a"则表CZ个字Wa和一个空字符Q?br /> I字W是c和c++用来标记字符串结束的W号<br /> 正如宽字W文字。L'a'</p> 也有宽字W串文字L"aaaaaaa"<br /> 宽字W串文字的类型是帔R的宽字符数组。他也有一个等L宽空字符作ؓl束的标记?br /> 如果两个字符串和或者宽字符串在E序中相邅Rc++׃把它们连接v来。ƈ且在最后加上一个空字符Q?br /> 例如Q?one" "two" 则输出的l果为onetwo.<br /> 如果把一个字W串帔R和一个宽字符串常量链接v来,那么l果会是如何呢?<br /> "aa" L"SSS"<br /> l果是未定义(undefine)------x有这U这两种不同cd链接标定义行为?br /> 使用未定义的E序被称为是不可以移植的?br /> 虽然E序可以在当前的~译器下可以执行Q但是不能保证相同的E序在不同的~译器下Q或者在当前的白一L以后的版本中Q还能够正确的编译通过?br /> 在本来可以正常运行的E序中来Lq些是g很o人心烦的事情Q所以我们徏议不要用未定义的程序特征?br /> <img src ="http://www.aygfsteel.com/tbg1986/aggbug/212620.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/tbg1986/" target="_blank">清流琴音</a> 2008-07-04 15:35 <a href="http://www.aygfsteel.com/tbg1986/archive/2008/07/04/212620.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>标准数组——向?/title><link>http://www.aygfsteel.com/tbg1986/archive/2008/06/30/211670.html</link><dc:creator>清流琴音</dc:creator><author>清流琴音</author><pubDate>Mon, 30 Jun 2008 07:18:00 GMT</pubDate><guid>http://www.aygfsteel.com/tbg1986/archive/2008/06/30/211670.html</guid><wfw:comment>http://www.aygfsteel.com/tbg1986/comments/211670.html</wfw:comment><comments>http://www.aygfsteel.com/tbg1986/archive/2008/06/30/211670.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/tbg1986/comments/commentRss/211670.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/tbg1986/services/trackbacks/211670.html</trackback:ping><description><![CDATA[<p>正如我们看到的,管c++的数l支持容器机制。但是它不支持容器抽象的语义。ؓ了在q个层次上编写程序。在标准c++之前。要么我们从某个途径获取q样的类。要么我们自q写这LcR?br /> 在标准c++中。数l类是c++标准库中的一部分。现在它不叫数组了,而叫向量(vector)?br /> </p> 当然向量是一个类模板Q我们可以这样写Q?br /> vector<int> ivec(10);<br /> vector<string>svec(10);<br /> 上面的代码分别定义了包含10个整型的对象的向量,和定义了包含10个字W串的对象的向量?br /> 在我们实现的ArraycL板和vectorcL板的实现中有两个不同的区?<br /> vectorcL板支?#8220;向现有的数组元素赋?#8221;的概念以?#8220;插入附g元素?#8221;概念---------即vector数组可以在运行时动态的增长。(如果E序员愿意用这个特征的话。)<br /> W二个区别是 Q?更加q泛。代表了设计Ҏ的重要改变。vectorcM是提供一个巨大的“可以适用于向?#8221;的操作集。如;store(),min().max(){。而是只是提供一个最集Q如Q等于,于Qsize(),empty(){操作。而一些通用的操作如Qsort(),min().max(),find()。等操作是作为独立的泛型法Qgeneric algorthemQ被提供的?br /> 要定义一个向量我们必d含相关的头文件?br /> #include<vector><br /> 下面都是vector对象的合法定义?br /> vector<int>vecto;///////I的vector<br /> const int size=8;<br /> const int value=1024;<br /> //size?的vector<br /> ///每个元素都被初始化ؓ0<br /> vector<int>vecto(size);<br /> <br /> //size?的vector<br /> ///每个元素都被初始化ؓ1024<br /> vector<int>vecto(size ,value);<br /> ////vector3的size?<br /> ///vector3的初始化gؓia ?个?br /> int ia[4]={0,1,1,2};<br /> vector<int>vector3(ia,ia+4);<br /> <br /> ////vector4是vector2的拷贝?br /> vector<int>vector4(vector2);<br /> 既然定义了向量,那么我们必遍历里面的元素?br /> 与ArraycL板一栗标准的vectorcL板也支持使用下面的操作符?br /> 例如Q?br /> #include<vector><br /> extern int getsiz();<br /> void mumble()<br /> {<br />   int size=getsize();<br /> vector<int>vec(size);<br /> for(int i=0;i<=size;i++)<br /> {<br />  vec[i]=i;<br /> /////,.............................<br /> }<br /> }<br /> <img src ="http://www.aygfsteel.com/tbg1986/aggbug/211670.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/tbg1986/" target="_blank">清流琴音</a> 2008-06-30 15:18 <a href="http://www.aygfsteel.com/tbg1986/archive/2008/06/30/211670.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>用其他名字来命名数组http://www.aygfsteel.com/tbg1986/archive/2008/06/30/211616.html清流琴音清流琴音Mon, 30 Jun 2008 03:15:00 GMThttp://www.aygfsteel.com/tbg1986/archive/2008/06/30/211616.htmlhttp://www.aygfsteel.com/tbg1986/comments/211616.htmlhttp://www.aygfsteel.com/tbg1986/archive/2008/06/30/211616.html#Feedback0http://www.aygfsteel.com/tbg1986/comments/commentRss/211616.htmlhttp://www.aygfsteel.com/tbg1986/services/trackbacks/211616.html名字I间允许我们装名字Q否则的话,q些名字有可能污染到全局的名字空_pollute teh global namespceQ?一般来_只有我们希望我们的代码被外部软g开发部门用的时候。才会用到名字空间?br /> 例如;我们可以q样来封装Arrayc,
namespace cplacple_primer_3E
{
 template <calss eyemly>
 calss Array{,,,,,,,,,};
////////////////////////

}
namespce后面的名字标明了一个名字空间。它独立于全局名字I间。我们可以在里面放一些希望声明在函数和类之外的实体。名字空间ƈ不改变他们的声明意义。只是改变了它们的可视性。如果名字空间中的声明对于程序来说不是立卛_见的。那么我们杂h讉K他们呢?我们p用到限定修饰名字W?
格式如下Q?br /> namespce_idenerfier::entrityname
名字I间别名Qnamespce aliasQ允许用一个可替代的,短的Q或者跟一般的名字来和名字I间来关联v来?br /> 例如Q?br /> //提供一个更一般化的名?br /> namespce lib=cplacple_primer_3E
然后q个名字׃UCؓ原始名字I间的同义词?br /> #include "cplacple.h"
int main()
{
 lib::Array{...........}

 }
别名也可?用来装正在使用的实际的名字I间。在q种情况下,我们可以通过改变别名的名字空间?br /> 来改变所使用的声明集。而无需改变“通过别名来访问这些声?#8221;。的实际代码?br /> using 指示W名字I间中的所有的声明都是可见得。这栯些声明可以不加Q何的限定的用?br /> using和namespce都是关键字。被引用的名字空间必dl被声明了。否则的话,会引L译的错误?br />
using 声明提供了更为精l的名字可视化机制。它允许使名字空间中的单个的声明可见?br /> 例如Q?br /> #include"IBM_Canada_Labaraory.h"
using  namespace IBM_Canada_Labaraory::Matriy
int main()
{
 //ok; IBM_Canada_Labaraory::Matriy

Matriy met(4,5);
//fail,错误。IBM_Canada_Labaraory::Array不可?br /> Array array(4,5);
}
Z防止标准的c++库组件污染用户定义的名字I间。所有的c++库组仉声明在一个称为std的名字空间中?br /> 所以即使我们在我们的文本文件中已经包含了c++库头文gQ头文g中声明的内容在我们的文本文g中也是不可见的?br /> 例如Q?br /> 在c++中下面的代码是不能被~译通过的?br /> #include<string>
///错误。string 是不可见?br /> string  current_string="asdf dfdff";
在string 头文件中所有的声明都包含在std名字I间中?br /> 我们可以?#8220;#include 指示W后面加上using 的办法?lt;string>中的Q在std中声明的lgQ对于我们的文本文g是可见得?br /> 例如Q?br /> #include<string>
 using namespace std
int main()
{
 //////////正确。string 是可见的?br />   string current_string="asd fdfdf"
}
Z使在std中,声明的组件和名字在我们的文本文g中可见。using指示W通常被看作是一U比较差的选择Ҏ?br /> 在上面的例子中。指C符using Q在string头文件中声明的,q且在std名字I间中的  lg在我们的文本文g中都是可见的。这又将全局名字I间污染问题带回来了。而这个问题就是std名字I间首先要努力避免的?br /> 它增加了“c++标准库组件的名字”?#8220;我们E序中声明的全局名字”冲突的机会?br /> 现在有两U机制可以替代using指示W。来引用隐藏在std名字I间中的名字string.
W一U方法:
 可以使用限定的名字?br />   #include<string>
/////正确。用限定的名字
   std:: string current_string="afdfdfsdfs";
W二U方法:
 如下使用using 声明Q?br /> #include<string>
 using std::string;
 /////ok.上面的using声明使string可见?br />  string=“dfdfdfafsdf”;
Z使用名字I间中的声明的名字。最好用带有精l选择功能?using声明替代using 指示W?br />



清流琴音 2008-06-30 11:15 发表评论
]]>
վ֩ģ壺 | | | | | | ɫ| | ͼ| ˳| ʯ| | | | üɽ| Դ| | | ¡| | | | | | ʤ| | Ӽ| | | | | ԭ| ¸| | | ˮ| | ƫ| ͼ| ͩ| |