??xml version="1.0" encoding="utf-8" standalone="yes"?>99久久精品国产一区二区三区,亚洲人成无码www久久久,久久精品国产99国产精品澳门 http://www.shnenglu.com/yehongly/archive/2008/09/21/62401.html?/dc:creator>?/author>Sun, 21 Sep 2008 08:35:00 GMThttp://www.shnenglu.com/yehongly/archive/2008/09/21/62401.htmlhttp://www.shnenglu.com/yehongly/comments/62401.htmlhttp://www.shnenglu.com/yehongly/archive/2008/09/21/62401.html#Feedback0http://www.shnenglu.com/yehongly/comments/commentRss/62401.htmlhttp://www.shnenglu.com/yehongly/services/trackbacks/62401.html#include <stdio.h>;
#include <stdlib.h>;

char *floatToString(double fZ,const int slen,const int alen);

main(int argc,char *argv[])
{
      fprintf(stdout,"[%s]\n",floatToString(atof(argv[1]), atoi(argv[2]), atoi(argv[3])));

      return;
}

char *floatToString(double fZ,const int slen,const int alen)
{
      char tmpstr[256];

      memset(tmpstr,'\0',256);
      sprintf(tmpstr,"%*.*lf",slen,alen,fZ); //-- q里控制_ֺ
      return(tmpstr);
}

]]>
C++文gd函数介绍 http://www.shnenglu.com/yehongly/archive/2008/09/12/61697.html?/dc:creator>?/author>Fri, 12 Sep 2008 09:07:00 GMThttp://www.shnenglu.com/yehongly/archive/2008/09/12/61697.htmlhttp://www.shnenglu.com/yehongly/comments/61697.htmlhttp://www.shnenglu.com/yehongly/archive/2008/09/12/61697.html#Feedback0http://www.shnenglu.com/yehongly/comments/commentRss/61697.htmlhttp://www.shnenglu.com/yehongly/services/trackbacks/61697.html
今天l大家介l一下C++中常用到的读写函敎ͼ新手可以收藏一下,方便以后查找?nbsp;
  1.fopen()
  fopen的原型是QFILE *fopen(const char *filename,const char *mode)Qfopen实现三个功能Qؓ使用而打开一个流Q把一个文件和此流相连接,l此返回一个FILR指针?
  参数filename指向要打开的文件名Qmode表示打开状态的字符Ԍ其取值如下:
  字符?nbsp;含义
  "r" 以只L式打开文g
  "w" 以只写方式打开文g
  "a" 以追加方式打开文g
  "r+" 以读/写方式打开文gQ如无文件出?
  "w+" 以读/写方式打开文gQ如无文件生成新文g
一个文件可以以文本模式或二q制模式打开Q这两种的区别是Q在文本模式中回车被当成一个字W?#8217;\n’Q而二q制模式认ؓ它是两个字符 0x0D,0x0A;如果在文件中d0x1BQ文本模式会认ؓq是文gl束W,也就是二q制模型不会Ҏ件进行处理,而文本方式会按一定的方式Ҏ据作 相应的{换?
  pȝ默认的是以文本模式打开Q可以修改全部变量_fmode的值来修改q个讄Q例如_fmode=O_TEXT;p|默认打开方式为文本模?而_fmode=O_BINARY;则设|默认打开方式是二q制模式?
  我们也可以在模式字符串中指定打开的模式,?rb"表示以二q制模式打开只读文gQ?w+t"?wt+"表示以文本模式打开?写文件?
  此函数返回一个FILE指针Q所以申明一个FILE指针后不用初始化Q而是用fopen()来返回一个指针ƈ与一个特定的文g相连Q如果成败,q回NULLQ中国自学编E网Q?a >www.zxbc.cn ?
  ?
   以下是引用片D:
FILE *fp; 
  if(fp=fopen("123.456","wb")) 
  puts("打开文g成功"); 
  else 
  puts("打开文g成|");
  2.fclose()
  fclose()的功能就是关闭用fopen()打开的文Ӟ其原型是Qint fclose(FILE *fp);如果成功Q返?,p|q回EOF?
  在程序结束时一定要记得关闭打开的文Ӟ不然可能会造成数据丢失的情况,我以前就l常犯这L错误?
  例:fclose(fp);
  3.fputc()
  向流写一个字W,原型是int fputc(int c, FILE *stream); 成功q回q个字符,p|q回EOF?
  例:fputc(’X’,fp);
  4.fgetc()
  从流中读一个字W,原型是int fputc(FILE *stream); 成功q回q个字符,p|q回EOF?
  例:char ch1=fgetc(fp);
  5. fseek()
此函C般用于二q制模式打开的文件中Q功能是定位到流中指定的位置Q原型是 int fseek(FILE *stream, long offset, int whence);如果成功q回0Q参数offset是移动的字符 敎ͼwhence是移动的基准Q取值是Q?
  W号帔R ?nbsp;基准位置
  SEEK_SET 0 文g开?
  SEEK_CUR 1 当前d的位|?
  SEEK_END 2 文gN
  例:fseek(fp,1234L,SEEK_CUR);//把读写位|从当前位置向后Ud1234字节(L后缀表示长整?
  fseek(fp,0L,2);//把读写位|移动到文g?
  6.fputs()
  写一个字W串到流中,原型int fputs(const char *s, FILE *stream);
    例:fputs("I Love You",fp);
  7.fgets()
  从流中读一行或指定个字W,原型是char *fgets(char *s, int n, FILE *stream); 从流中读取n-1个字W,除非d一行,参数s是来接收字符Ԍ如果成功则返回s的指针,否则q回NULL?
  例:如果一个文件的当前位置的文本如下:
  Love ,I Have
  But ……..
  如果?
  fgets(str1,4,file1);
  则执行后str1="Lov"Q读取了4-1=3个字W,而如果用
  fgets(str1,23,file1);
  则执行str="Love ,I Have"Q读取了一?不包括行’\n’)?
  8.fprintf()
  按格式输入到,其原型是int fprintf(FILE *stream, const char *format[, argument, …]);其用法和printf()相同Q不q不是写到控制台Q而是写到Ş了?
  例:fprintf(fp,"%2d%s",4,"Hahaha");
  9.fscanf()
  从流中按格式dQ其原型是int fscanf(FILE *stream, const char *format[, address, …]);其用法和scanf()相同Q不q不是从控制台读取,而是从流d|了?
  例:fscanf(fp,"%d%d" ,&x,&y);
  10.feof()
  是否已到文件尾Q是q回真,否则q回0Q其原型是int feof(FILE *stream);
  例:if(feof(fp))printf("已到文g?);
  11.ferror()
  原型是int ferror(FILE *stream);q回最q的错误代码Q可用clearerr()来清除它Qclearerr()的原型是void clearerr(FILE *stream);
  例:printf("%d",ferror(fp));
  12.rewind()
  把当前的d位置回到文g开始,原型是void rewind(FILE *stream);其实本函数相当于fseek(fp,0L,SEEK_SET);
  例:rewind(fp);
  12.remove()
  删除文gQ原型是int remove(const char *filename); 参数是要删除的文g名,成功q回0?
  例:remove("c:\\io.sys");
  13.fread()
从流中读指定个数的字W,原型? size_t fread(void *ptr, size_t size, size_t n, FILE *stream);参数ptr是保存读取的 数据Qvoid*的指针可用Q何类型的指针来替换,如char*、int *{等来替?size是每块的字节?n是读取的块数Q如果成功,q回实际? 取的块数(不是字节?Q本函数一般用于二q制模式打开的文件中?
  例:
   以下是引用片D:
char x[4230]; 
  FILE *file1=fopen("c:\\msdos.sys","r"); 
  fread(x,200,12 ,file1);//p?00*12=2400个字?
  14.fwrite()
与fread对应Q向中写指定的数据Q原型是 size_t fwrite(const void *ptr, size_t size, size_t n, FILE *stream);参数 ptr是要写入的数据指针,void*的指针可用Q何类型的指针来替换,如char*、int *{等来替?size是每块的字节?n是要写的块数Q? 如果成功Q返回实际写入的块数(不是字节?Q本函数一般用于二q制模式打开的文件中?br>    例:
   以下是引用片D:
  char x[]="I Love You"; 
  fwire(x, 6,12,fp);//写入6*12=72字节 
  把"I Love"写到fp?2ơ,?2字节
  15.tmpfile()
  其原型是FILE *tmpfile(void); 生成一个时文Ӟ?w+b"的模式打开Qƈq回q个临时的指针Q如果失败返回NULL。在E序l束Ӟq个文g会被自动删除?
  例:FILE *fp=tmpfile();
  16.tmpnam();
  其原型ؓchar *tmpnam(char *s); 生成一个唯一的文件名Q其实tmpfile()p用了此函敎ͼ参数s用来保存得到的文件名Qƈq回q个指针Q如果失败,q回NULL?
  例:tmpnam(str1);



]]>
STL vector 容器介绍http://www.shnenglu.com/yehongly/archive/2008/09/04/60925.html?/dc:creator>?/author>Thu, 04 Sep 2008 09:06:00 GMThttp://www.shnenglu.com/yehongly/archive/2008/09/04/60925.htmlhttp://www.shnenglu.com/yehongly/comments/60925.htmlhttp://www.shnenglu.com/yehongly/archive/2008/09/04/60925.html#Feedback0http://www.shnenglu.com/yehongly/comments/commentRss/60925.htmlhttp://www.shnenglu.com/yehongly/services/trackbacks/60925.html阅读全文

]]>
typedefhttp://www.shnenglu.com/yehongly/archive/2007/12/25/39547.html?/dc:creator>?/author>Tue, 25 Dec 2007 01:33:00 GMThttp://www.shnenglu.com/yehongly/archive/2007/12/25/39547.htmlhttp://www.shnenglu.com/yehongly/comments/39547.htmlhttp://www.shnenglu.com/yehongly/archive/2007/12/25/39547.html#Feedback0http://www.shnenglu.com/yehongly/comments/commentRss/39547.htmlhttp://www.shnenglu.com/yehongly/services/trackbacks/39547.html 
typedef用法结- -
q两天在看程序的时?发现很多地方都用到typedef,在结构体定义,q有一些数l等地方都大量的用到.但是有些地方q不是很清楚,今天下午,想好好研究一?上网搜了一?有不资?归纳一?
来源一:Using typedef to Curb Miscreant Code
Typedef 声明有助于创建^台无关类型,甚至能隐藏复杂和难以理解的语法。不怎样Q?typedef 能ؓ代码带来意想不到的好处,通过本文你可以学习用 typedef 避免~欠Q从而代码更健壮?br>typedef 声明Q简U?typedefQؓ现有cd创徏一个新的名字。比如h们常怋?typedef 来编写更观和可ȝ代码。所谓美观,意指 typedef 能隐藏笨拙的语法构造以及^台相关的数据cdQ从而增强可UL性和以及未来的可l护性。本文下面将竭尽全力来揭C?typedef 强大功能以及如何避免一些常见的陷阱?br>如何创徏q_无关的数据类型,隐藏W拙且难以理解的语法?
使用 typedefs 为现有类型创建同义字?br>定义易于记忆的类型名
  typedef 使用最多的地方是创建易于记忆的cd名,用它来归档程序员的意图。类型出现在所声明的变量名字中Q位?''typedef'' 关键字右辏V例如:
typedef int size;
  此声明定义了一?int 的同义字Q名字ؓ size。注?typedef q不创徏新的cd。它仅仅为现有类型添加一个同义字。你可以在Q何需?int 的上下文中?sizeQ?br>void measure(size * psz);
size array[4];
size len = file.getlength();
std::vector vs;
  typedef q可以掩饰符合类型,如指针和数组。例如,你不用象下面q样重复定义?81 个字W元素的数组Q?br>char line[81];
char text[81];
定义一?typedefQ每当要用到相同cd和大的数组Ӟ可以q样Q?br>typedef char Line[81];
Line text, secondline;
getline(text);
同样Q可以象下面q样隐藏指针语法Q?br>typedef char * pstr;
int mystrcmp(pstr, pstr);
  q里带我们到达W一?typedef 陷阱。标准函?strcmp()有两?#8216;const char *'cd的参数。因此,它可能会误导Z象下面这样声?mystrcmp()Q?br>int mystrcmp(const pstr, const pstr);
  q是错误的,按照序Q?#8216;const pstr'被解释ؓ‘char * const'Q一个指?char 的常量指针)Q而不?#8216;const char *'Q指向常?char 的指针)。这个问题很Ҏ解决Q?br>typedef const char * cpstr;
int mystrcmp(cpstr, cpstr); // 现在是正的
CQ不什么时候,只要为指针声?typedefQ那么都要在最l的 typedef 名称中加一?constQ以使得该指针本w是帔RQ而不是对象?br>代码?br>  上面讨论?typedef 行ؓ有点?#define 宏,用其实际cd替代同义字。不同点?typedef 在编译时被解释,因此让编译器来应付超预处理器能力的文本替换。例如:
typedef int (*PF) (const char *, const char *);
  q个声明引入?PF cd作ؓ函数指针的同义字Q该函数有两?const char * cd的参C及一?int cd的返回倹{如果要使用下列形式的函数声明,那么上述q个 typedef 是不可或~的Q?br>PF Register(PF pf);
  Register() 的参数是一?PF cd的回调函敎ͼq回某个函数的地址Q其|名与先前注册的名字相同。做一ơ深呼吸。下面我展示一下如果不?typedefQ我们是如何实现q个声明的:
int (*Register (int (*pf)(const char *, const char *)))
(const char *, const char *);
  很少有程序员理解它是什么意思,更不用说q种费解的代码所带来的出错风险了。显Ӟq里使用 typedef 不是一U特权,而是一U必需。持怀疑态度的h可能会问Q?OKQ有会写q样的代码吗Q?Q快速浏览一下揭C?signal()函数的头文g Q一个有同样接口的函数?br>typedef 和存储类关键字(storage class specifierQ?br>  q种说法是不是有点o人惊Ӟtypedef 像 autoQexternQmutableQstaticQ和 register 一P是一个存储类关键字。这q是?typedef 会真正媄响对象的存储Ҏ;它只是说在语句构成上Qtypedef 声明看v来象 staticQextern {类型的变量声明。下面将带到W二个陷阱:
typedef register int FAST_COUNTER; // 错误
  ~译通不q。问题出在你不能在声明中有多个存储类关键字。因为符?typedef 已经占据了存储类关键字的位置Q在 typedef 声明中不能用 registerQ或M其它存储cd键字Q?br>促进跨^台开?br>  typedef 有另外一个重要的用途,那就是定义机器无关的cdQ例如,你可以定义一个叫 REAL 的Q点类型,在目标机器上它可以i获得最高的_ֺQ?br>typedef long double REAL;
在不支持 long double 的机器上Q该 typedef 看v来会是下面这P
typedef double REAL;
q且Q在q?double 都不支持的机器上Q该 typedef 看v来会是这P?br>typedef float REAL;
   你不用对源代码做M修改Q便可以在每一U^C~译q个使用 REAL cd的应用程序。唯一要改的是 typedef 本n。在大多数情况下Q甚臌个微的变动完全都可以通过奇妙的条件编译来自动实现。不是吗? 标准库广泛地使用 typedef 来创Lq_无关cdQsize_tQptrdiff ?fpos_t 是其中的例子。此外,?std::string ?std::ofstream q样?typedef q隐藏了镉K的,难以理解的模板特化语法,例如Qbasic_stringQallocator> ?basic_ofstream>?br>作者简?br>  Danny Kalev 是一名通过认证的系l分析师Q专?C++ 和Ş式语a理论的Y件工E师?997 q到 2000 q期_他是 C++ 标准委员会成员。最q他以优异成l完成了他在普通语a学研I方面的士论文。业余时间他喜欢听古兔R乐,阅读l多利亚时期的文学作品,研究 Hittite、Basque ?Irish Gaelic q样的自然语a。其它兴包括考古和地理。Danny 时常C?C++ 论坛q定期ؓ不同?C++ |站和杂志撰写文章。他q在教育机构讲授E序设计语言和应用语a评?br>来源二:(http://www.ccfans.net/bbs/dispbbs.asp?boardid=30&;id=4455)
C语言中typedef用法
1. 基本解释
  typedef为C语言的关键字Q作用是ZU数据类型定义一个新名字。这里的数据cd包括内部数据cdQint,char{)和自定义的数据类型(struct{)?br>  在编E中使用typedef目的一般有两个Q一个是l变量一个易C意义明确的新名字Q另一个是化一些比较复杂的cd声明?br>  至于typedef有什么微妙之处,请你接着看下面对几个问题的具体阐q?br> 2. typedef & l构的问?br>  当用下面的代码定义一个结构时Q编译器报了一个错误,Z么呢Q莫非C语言不允许在l构中包含指向它自己的指针吗Q请你先猜想一下,然后看下文说明:
typedef struct tagNode
{
 char *pItem;
 pNode pNext;
} *pNode;
  {案与分析:
  1、typedef的最单?br>typedef long byte_4;
  l已知数据类型long起个新名字,叫byte_4?br>  2?typedef与结构结合?br>typedef struct tagMyStruct
{
 int iNum;
 long lLength;
} MyStruct;
  q语句实际上完成两个操作Q?br>  1) 定义一个新的结构类?br>struct tagMyStruct
{
 int iNum;
 long lLength;
};
  分析QtagMyStructUCؓ“tag”Q即“标签”Q实际上是一个时名字,struct 关键字和tagMyStruct一P构成了这个结构类型,不论是否有typedefQ这个结构都存在?br>  我们可以用struct tagMyStruct varName来定义变量,但要注意Q用tagMyStruct varName来定义变量是不对的,因ؓstruct 和tagMyStruct合在一h能表CZ个结构类型?br>  2) typedef个新的结构v了一个名字,叫MyStruct?br>typedef struct tagMyStruct MyStruct;
  因此QMyStruct实际上相当于struct tagMyStructQ我们可以用MyStruct varName来定义变量?br>  {案与分?br>  C语言当然允许在结构中包含指向它自q指针Q我们可以在建立链表{数据结构的实现上看到无数这L例子Q上qC码的Ҏ问题在于typedef的应用?br>  Ҏ我们上面的阐q可以知道:新结构徏立的q程中遇CpNext域的声明Q类型是pNodeQ要知道pNode表示的是cd的新名字Q那么在cd本nq没有徏立完成的时候,q个cd的新名字也还不存在,也就是说q个时候编译器Ҏ不认识pNode?br>  解决q个问题的方法有多种Q?br>  1)?br>typedef struct tagNode
{
 char *pItem;
 struct tagNode *pNext;
} *pNode;
  2)?br>typedef struct tagNode *pNode;
struct tagNode
{
 char *pItem;
 pNode pNext;
};
  注意Q在q个例子中,你用typedefl一个还未完全声明的cdh名字。C语言~译器支持这U做法?br>  3)、规范做法:
struct tagNode
{
 char *pItem;
 struct tagNode *pNext;
};
typedef struct tagNode *pNode;
 3. typedef & #define的问?br>  有下面两U定义pStr数据cd的方法,两者有什么不同?哪一U更好一点?
typedef char *pStr;
#define pStr char *;
  {案与分析:
  通常Ԍtypedef要比#define要好Q特别是在有指针的场合。请看例子:
typedef char *pStr1;
#define pStr2 char *;
pStr1 s1, s2;
pStr2 s3, s4;
  在上q的变量定义中,s1、s2、s3都被定义为char *Q而s4则定义成了charQ不是我们所预期的指针变量,Ҏ原因在?define只是单的字符串替换而typedef则是Z个类型v新名字?br>  #define用法例子Q?br>#define f(x) x*x
main( )
{
 int a=6Qb=2QcQ?br> c=f(a) / f(b)Q?br> printf("%d \\n"Qc)Q?br>}
  以下E序的输出结果是: 36?br>  因ؓ如此原因Q在许多C语言~程规范中提C?define定义Ӟ如果定义中包含表辑ּQ必M用括P则上q定义应该如下定义才对:
#define f(x) (x*x)
  当然Q如果你使用typedef没有这L问题?br>  4. typedef & #define的另一?br>  下面的代码中~译器会报一个错误,你知道是哪个语句错了吗?
typedef char * pStr;
char string[4] = "abc";
const char *p1 = string;
const pStr p2 = string;
p1++;
p2++;
  {案与分析:
  是p2++出错了。这个问题再一ơ提醒我们:typedef?define不同Q它不是单的文本替换。上qC码中const pStr p2q不{于const char * p2。const pStr p2和const long x本质上没有区别,都是对变量进行只读限Ӟ只不q此处变量p2的数据类型是我们自己定义的而不是系l固有类型而已。因此,const pStr p2的含义是Q限定数据类型ؓchar *的变量p2为只读,因此p2++错误?br>  #define与typedef引申?br>  1) #define宏定义有一个特别的长处Q可以?#ifdef ,#ifndef{来q行逻辑判断Q还可以使用#undef来取消定义?br>  2) typedef也有一个特别的长处Q它W合范围规则Q用typedef定义的变量类型其作用范围限制在所定义的函数或者文件内Q取决于此变量定义的位置Q,而宏定义则没有这U特性?br>  5. typedef & 复杂的变量声?br>  在编E实践中Q尤其是看别Z码的时候,常常会遇到比较复杂的变量声明,使用typedef作简化自有其价|比如Q?br>  下面是三个变量的声明Q我想用typdef分别l它们定义一个别名,请问该如何做Q?br>>1Qint *(*a[5])(int, char*);
>2Qvoid (*b[10]) (void (*)());
>3. doube(*)() (*pa)[9];
  {案与分析:
  对复杂变量徏立一个类型别名的Ҏ很简单,你只要在传统的变量声明表辑ּ里用cd名替代变量名Q然后把关键字typedef加在该语句的开头就行了?br>>1Qint *(*a[5])(int, char*);
//pFun是我们徏的一个类型别?br>typedef int *(*pFun)(int, char*);
//使用定义的新cd来声明对象,{h于int* (*a[5])(int, char*);
pFun a[5];
>2Qvoid (*b[10]) (void (*)());
//首先Z面表辑ּ蓝色部分声明一个新cd
typedef void (*pFunParam)();
//整体声明一个新cd
typedef void (*pFun)(pFunParam);
//使用定义的新cd来声明对象,{h于void (*b[10]) (void (*)());
pFun b[10];
>3. doube(*)() (*pa)[9];
//首先Z面表辑ּ蓝色部分声明一个新cd
typedef double(*pFun)();
//整体声明一个新cd
typedef pFun (*pFunParam)[9];
//使用定义的新cd来声明对象,{h于doube(*)() (*pa)[9];
pFunParam pa;

#define S(s) printf("%s\n", #s); s

 

typedef struct _TS1{

    int x, y;

} TS1, *PTS1, ***PPPTS1;  // TS1是结构体的名UͼPTS1是结构体指针的名U?/span>

// 也就是将l构?/span>struct _TS1 命名?/span>TS1,

// ?/span>struct _TS1 * 命名?/span> PTS1

// ?/span>struct _TS1 *** 命名?/span> PPPTS1

 

typedef struct { // struct后面的结构体说明也可以去?/span>

    int x, y;

} TS2, *PTS2;

 

typedef PTS1 *PPTS1; // 定义PPTS1是指?/span>PTS1的指?/span>

 

typedef struct _TTS1{

    typedef struct ITTS1 {

        int x, y;

    } iner;

    iner i;

    int x, y;

} TTS1;

 

//l构体内部的l构体也一样可以定?/span>

typedef TTS1::ITTS1 ITS1;

 

void test_struct()

{

    // 基本l构体重定义的?/span>

    TS1 ts1 = {100, 200};

    PTS1 pts1 = &ts1; // 完全{h?/span>TS1* pts1 = &ts1;

    PPTS1 ppts1 = &pts1; // 完全{h?/span>TS1** ppts1 = &pts1;

    PPPTS1 pppts1 = &ppts1; // 完全{h?/span> TS1*** pppts1 = &ppts1;

 

    TS2 ts2 = {99, 88};

    PTS2 pts2 = &ts2;   // 完全{h?/span> TS2* pts2 = &ts2;

 

    TTS1 itts1 = {{110, 220}, 10, 20};

    Its1* rits1 = &itts1.i;

    ITS1* &its1 = rits1; // {h?/span> TTS1::ITTS1 *its1 = &(itts1.i);

 

    printf("ts1\t = (%d, %d)\n*pts1\t = (%d, %d)\n"

           "**ppts1\t = (%d, %d)\n***pppts1= (%d, %d)\n\n",

            ts1.x, ts1.y, pts1->x, pts1->y,

            (**ppts1).x, (**ppts1).y, (***pppts1).x, (***pppts1).y);

    printf("ts2\t = (%d, %d)\n*pts2\t = (%d, %d)\n\n",

        ts2.x, ts2.y, pts2->x, pts2->y);

    printf("itts1\t = [(%d, %d), %d, %d]\n*its1\t =  (%d, %d)\n\n",

        itts1.i.x, itts1.i.y, itts1.x, itts1.y, its1->x, its1->y);

 

    S(pts1->x = 119);

    S(pts2->y = 911);

    S(its1->x = 999);

 

    printf("ts1\t = (%d, %d)\n*pts1\t = (%d, %d)\n"

           "**ppts1\t = (%d, %d)\n***pppts1= (%d, %d)\n\n",

            ts1.x, ts1.y, pts1->x, pts1->y,

            (**ppts1).x, (**ppts1).y, (***pppts1).x, (***pppts1).y);

    printf("ts2\t = (%d, %d)\n*pts2\t = (%d, %d)\n\n",

        ts2.x, ts2.y, pts2->x, pts2->y);

    printf("itts1\t = [(%d, %d), %d, %d]\n*its1\t =  (%d, %d)\n\n",

        itts1.i.x, itts1.i.y, itts1.x, itts1.y, its1->x, its1->y);

 

    S((*ppts1)->y = -9999);

    printf("ts1\t = (%d, %d)\n**ppts1\t = (%d, %d)\n\n",

        ts1.x, ts1.y, (*ppts1)->x, (*ppts1)->y);

 

    S((**pppts1)->x = -12345);

    S((***pppts1).y = -67890);

    printf("ts1\t = (%d, %d)\n*pts1\t = (%d, %d)\n"

           "**ppts1\t = (%d, %d)\n***pppts1= (%d, %d)\n\n",

            ts1.x, ts1.y, pts1->x, pts1->y,

            (**ppts1).x, (**ppts1).y, (***pppts1).x, (***pppts1).y);

}



]]>
STL vector的?/title><link>http://www.shnenglu.com/yehongly/archive/2007/12/11/38232.html</link><dc:creator>?/dc:creator><author>?/author><pubDate>Tue, 11 Dec 2007 06:26:00 GMT</pubDate><guid>http://www.shnenglu.com/yehongly/archive/2007/12/11/38232.html</guid><wfw:comment>http://www.shnenglu.com/yehongly/comments/38232.html</wfw:comment><comments>http://www.shnenglu.com/yehongly/archive/2007/12/11/38232.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.shnenglu.com/yehongly/comments/commentRss/38232.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/yehongly/services/trackbacks/38232.html</trackback:ping><description><![CDATA[  <a >http://www.cppreference.com/cppvector/index.html</a> <div id="plplzrz" class="name-format">assign </div> <div id="vvjlhzx" class="syntax-name-format">Syntax: </div> <pre class="syntax-box"> #include <vector> void assign( <strong>size_type</strong> num, const <a >TYPE</a>& val ); void assign( <a >input_iterator</a> start, <a >input_iterator</a> end ); </pre> <p>The assign() function either gives the current vector the values from <em>start</em> to <em>end</em>, or gives it <em>num</em> copies of <em>val</em>.</p> <p>This function will destroy the previous contents of the vector.</p> <p>For example, the following code uses assign() to put 10 copies of the integer 42 into a vector:</p> <pre class="prettyprint"><span id="lvnhnnd" class="pln">vector</span><span id="dtfzvdv" class="pun"><</span><span id="ljvpbjr" class="kwd">int</span><span id="trnplvl" class="pun">></span><span id="dbxdrzh" class="pln"> v</span><span id="hhvhvvx" class="pun">;</span><span id="zxrnzbb" class="pln"><br> v</span><span id="tjvzlnn" class="pun">.</span><span id="xxrdzjj" class="pln">assign</span><span id="zfbxbbz" class="pun">(</span><span id="lhvhbtb" class="pln"> </span><span id="zxfhtbr" class="lit">10</span><span id="btplfnf" class="pun">,</span><span id="jjdzvtt" class="pln"> </span><span id="bxtpvbl" class="lit">42</span><span id="xnjxjlb" class="pln"> </span><span id="nbpjnvn" class="pun">);</span><span id="pxrvhpx" class="pln"><br> </span><span id="tbhdxnx" class="kwd">for</span><span id="brnzltt" class="pun">(</span><span id="rfbxrzr" class="pln"> </span><span id="vtpdxpf" class="kwd">int</span><span id="fnhlzhx" class="pln"> i </span><span id="dbxtzpz" class="pun">=</span><span id="zxlhlll" class="pln"> </span><span id="fvrlppr" class="lit">0</span><span id="hnzfzzp" class="pun">;</span><span id="xvrvrzh" class="pln"> i </span><span id="jhhtpxz" class="pun"><</span><span id="pxjfzbz" class="pln"> v</span><span id="xfrxzzh" class="pun">.</span><span id="ltnbfpf" class="pln">size</span><span id="pfrdxfx" class="pun">();</span><span id="bzzdrhp" class="pln"> i</span><span id="jrpdxff" class="pun">++</span><span id="flpdzhh" class="pln"> </span><span id="dljptrj" class="pun">)</span><span id="xlhlxph" class="pln"> </span><span id="rhbhttb" class="pun">{</span><span id="vthvhpn" class="pln"><br>   cout </span><span id="jhlptbb" class="pun"><<</span><span id="ltfbxxp" class="pln"> v</span><span id="vthbfxp" class="pun">[</span><span id="rhlhtlv" class="pln">i</span><span id="hdbvrhh" class="pun">]</span><span id="jpbxjrr" class="pln"> </span><span id="rrdzltr" class="pun"><<</span><span id="dbdbxxx" class="pln"> </span><span id="dbnljjr" class="str">" "</span><span id="dtpdppp" class="pun">;</span><span id="ffrdhhh" class="pln"><br> </span><span id="dtxhltb" class="pun">}</span><span id="rhtnzhz" class="pln"><br> cout </span><span id="hpdhtrb" class="pun"><<</span><span id="dlpdrzp" class="pln"> endl</span><span id="zfhvhhh" class="pun">;</span><span id="dtbntbz" class="pln">            </span></pre> <p>The above code displays the following output:</p> <pre class="prettyprint"><span id="nlrdppf" class="pln"></span><span id="bbplxxf" class="lit">42</span><span id="nlpjfdv" class="pln"> </span><span id="rfnzvff" class="lit">42</span><span id="zplpldv" class="pln"> </span><span id="dlplfxn" class="lit">42</span><span id="hnjdppx" class="pln"> </span><span id="xlhnrrh" class="lit">42</span><span id="zflfltt" class="pln"> </span><span id="rhbxjhp" class="lit">42</span><span id="ftxbhxf" class="pln"> </span><span id="ttprxxf" class="lit">42</span><span id="jxvfjrz" class="pln"> </span><span id="zxthtjj" class="lit">42</span><span id="dlnrfvd" class="pln"> </span><span id="trlxltt" class="lit">42</span><span id="bzzdxpn" class="pln"> </span><span id="nlxrxnv" class="lit">42</span><span id="rztpbrj" class="pln"> </span><span id="nbfjxnf" class="lit">42</span><span id="rhvhvlv" class="pln">          </span></pre> <p>The next example shows how assign() can be used to copy one vector to another:</p> <pre class="prettyprint"><span id="txjnhrr" class="pln">vector</span><span id="hpbfrzj" class="pun"><</span><span id="hdzlhrp" class="kwd">int</span><span id="brndzjh" class="pun">></span><span id="ltbfzrp" class="pln"> v1</span><span id="djnbvlt" class="pun">;</span><span id="zxlpjtl" class="pln"><br> </span><span id="dtxlffh" class="kwd">for</span><span id="pdrdhhp" class="pun">(</span><span id="rhvhttv" class="pln"> </span><span id="fdhnpzx" class="kwd">int</span><span id="njvztbt" class="pln"> i </span><span id="vljnzhx" class="pun">=</span><span id="ltnjfnl" class="pln"> </span><span id="lrvrdnn" class="lit">0</span><span id="lhntjjb" class="pun">;</span><span id="rhbhbbr" class="pln"> i </span><span id="t9fntjj" class="pun"><</span><span id="fx9fnpp" class="pln"> </span><span id="lt3hdl3" class="lit">10</span><span id="ntb9jdp" class="pun">;</span><span id="lzvl9jj" class="pln"> i</span><span id="9xh9f9x" class="pun">++</span><span id="1l1bjv9" class="pln"> </span><span id="1j9lxpb" class="pun">)</span><span id="9vjbh99" class="pln"> </span><span id="vbx9jfn" class="pun">{</span><span id="9nt39tn" class="pln"><br>   v1</span><span id="93f939t" class="pun">.</span><span id="11ff9tj" class="pln">push_back</span><span id="9lhh391" class="pun">(</span><span id="bhdbr93" class="pln"> i </span><span id="nbh9j3t" class="pun">);</span><span id="fd99bfx" class="pln"><br> </span><span id="t9v99nn" class="pun">}</span><span id="9xt3ffn" class="pln">              <br><br> vector</span><span id="j9bzp3v" class="pun"><</span><span id="j9tpj9v" class="kwd">int</span><span id="9lbdtd3" class="pun">></span><span id="13111x1" class="pln"> v2</span><span id="bbx39rb" class="pun">;</span><span id="9dd3319" class="pln"><br> v2</span><span id="ddpfjnv" class="pun">.</span><span id="t9plhh3" class="pln">assign</span><span id="v9j9jjb" class="pun">(</span><span id="jhn933f" class="pln"> v1</span><span id="x9f9lll" class="pun">.</span><span id="fxzr9ld" class="kwd">begin</span><span id="x9f9lll" class="pun">(),</span><span id="b39x1jj" class="pln"> v1</span><span id="9tpf91b" class="pun">.</span><span id="9nrxjr9" class="kwd">end</span><span id="99133hp" class="pun">()</span><span id="fv39v3r" class="pln"> </span><span id="hx991v3" class="pun">);</span><span id="tzvp9dd" class="pln">             <br><br> </span><span id="hx99931" class="kwd">for</span><span id="9tx9vtl" class="pun">(</span><span id="bplr9nn" class="pln"> </span><span id="drn9xfp" class="kwd">int</span><span id="9r3j9lt" class="pln"> i </span><span id="93ll19l" class="pun">=</span><span id="93v99hh" class="pln"> </span><span id="91fdvt1" class="lit">0</span><span id="ndzth93" class="pun">;</span><span id="zxp3ln9" class="pln"> i </span><span id="t3bfr99" class="pun"><</span><span id="n9drfdv" class="pln"> v2</span><span id="b9t99v9" class="pun">.</span><span id="919vj99" class="pln">size</span><span id="rfbftbr" class="pun">();</span><span id="trn3xfx" class="pln"> i</span><span id="d1ntn39" class="pun">++</span><span id="ft3tppf" class="pln"> </span><span id="3xlf9zh" class="pun">)</span><span id="xlj3z9r" class="pln"> </span><span id="3xb9p93" class="pun">{</span><span id="jxbzl39" class="pln"><br>   cout </span><span id="h933pxh" class="pun"><<</span><span id="pp39x9n" class="pln"> v2</span><span id="9htxb9z" class="pun">[</span><span id="f933l99" class="pln">i</span><span id="rf33brn" class="pun">]</span><span id="hn9jxxn" class="pln"> </span><span id="zh333zj" class="pun"><<</span><span id="9ht3rbr" class="pln"> </span><span id="lt99tt9" class="str">" "</span><span id="dpbpjjl" class="pun">;</span><span id="nltxttb" class="pln"><br> </span><span id="9zv9rrb" class="pun">}</span><span id="9vp9ltb" class="pln"><br> cout </span><span id="jvhv9jz" class="pun"><<</span><span id="3j3tx9h" class="pln"> endl</span><span id="ntb33f9" class="pun">;</span><span id="dtp9vdd" class="pln">            </span></pre> <p>When run, the above code displays the following output:</p> <pre class="prettyprint"><span id="9v9nrz9" class="pln"></span><span id="jp3z3jb" class="lit">0</span><span id="9tn9r9h" class="pln"> </span><span id="x93tfv9" class="lit">1</span><span id="n99tf91" class="pln"> </span><span id="rftj999" class="lit">2</span><span id="9z39h93" class="pln"> </span><span id="b919hp9" class="lit">3</span><span id="pvrv3zh" class="pln"> </span><span id="n93xjjr" class="lit">4</span><span id="nd9lx9x" class="pln"> </span><span id="fr9hnvd" class="lit">5</span><span id="vl9bn9l" class="pln"> </span><span id="nxlzttv" class="lit">6</span><span id="fzvrxfx" class="pln"> </span><span id="p3l9zzr" class="lit">7</span><span id="jzfbxxf" class="pln"> </span><span id="9ft9rrh" class="lit">8</span><span id="tjftf9h" class="pln"> </span><span id="b33hlbl" class="lit">9</span><span id="rftftbr" class="pln">     <br><br><br><br> <div id="b9ptzp3" class="name-format">Vector constructors </div> <div id="dvjxjtt" class="syntax-name-format">Syntax: </div> <pre class="syntax-box"> #include <vector> vector(); vector( const vector& c ); vector( <strong>size_type</strong> num, const <a >TYPE</a>& val = <a >TYPE</a>() ); vector( <a >input_iterator</a> start, <a >input_iterator</a> end ); ~vector(); </pre> <p>The default vector constructor takes no arguments, creates a new instance of that vector.</p> <p>The second constructor is a default copy constructor that can be used to create a new vector that is a copy of the given vector <em>c</em>.</p> <p>The third constructor creates a vector with space for <em>num</em> objects. If <em>val</em> is specified, each of those objects will be given that value. For example, the following code creates a vector consisting of five copies of the integer 42:</p> <pre class="prettyprint"><span id="v39xljx" class="pln">vector</span><span id="9nzv9ff" class="pun"><</span><span id="939p9lv" class="kwd">int</span><span id="9jftnnv" class="pun">></span><span id="b33391h" class="pln"> v1</span><span id="drfr3vv" class="pun">(</span><span id="rhdrd9j" class="pln"> </span><span id="9d3b999" class="lit">5</span><span id="t99d3p9" class="pun">,</span><span id="b393zbr" class="pln"> </span><span id="vh3x9z9" class="lit">42</span><span id="9xb31n9" class="pln"> </span><span id="ntpthp9" class="pun">);</span><span id="9jd9r9f" class="pln">         </span></pre> <p>The last constructor creates a vector that is initialized to contain the elements between <em>start</em> and <em>end</em>. For example:</p> <pre class="prettyprint"><span id="nflhtbd" class="pln"></span><span id="3h9n3tb" class="com">// create a vector of random integers</span><span id="9vp9fnv" class="pln"><br> cout </span><span id="l993999" class="pun"><<</span><span id="9pj99f9" class="pln"> </span><span id="vd3dj39" class="str">"original vector: "</span><span id="fn3t9rj" class="pun">;</span><span id="9dhlp3r" class="pln"><br> vector</span><span id="rt9flpd" class="pun"><</span><span id="bvjnjbb" class="kwd">int</span><span id="j3b39vd" class="pun">></span><span id="nbx3zzz" class="pln"> v</span><span id="jdp3zh3" class="pun">;</span><span id="9xtxrbj" class="pln"><br> </span><span id="jnr9f99" class="kwd">for</span><span id="9399xr9" class="pun">(</span><span id="f99l3jt" class="pln"> </span><span id="lzfb99z" class="kwd">int</span><span id="lbn99z9" class="pln"> i </span><span id="xf3fndv" class="pun">=</span><span id="vjxj3fv" class="pln"> </span><span id="r3p3d19" class="lit">0</span><span id="vdp99vl" class="pun">;</span><span id="fl3lh9d" class="pln"> i </span><span id="h9n31zz" class="pun"><</span><span id="blpd9z9" class="pln"> </span><span id="txb399b" class="lit">10</span><span id="blpd9pf" class="pun">;</span><span id="tbxbzhx" class="pln"> i</span><span id="3p9999j" class="pun">++</span><span id="txb39d3" class="pln"> </span><span id="djnzfnl" class="pun">)</span><span id="trvhv39" class="pln"> </span><span id="v9b33fx" class="pun">{</span><span id="rvz39b3" class="pln"><br>   </span><span id="rrv993b" class="kwd">int</span><span id="pxr9b9p" class="pln"> num </span><span id="dhl3l39" class="pun">=</span><span id="3n3b9vn" class="pln"> </span><span id="xfr9xt3" class="pun">(</span><span id="39999zp" class="kwd">int</span><span id="tdzztll" class="pun">)</span><span id="lt9t9v9" class="pln"> rand</span><span id="fj39xx9" class="pun">()</span><span id="d99vttl" class="pln"> </span><span id="fvz913z" class="pun">%</span><span id="n3lr9ld" class="pln"> </span><span id="d39jf3j" class="lit">10</span><span id="9pt3p91" class="pun">;</span><span id="9n3dxhx" class="pln"><br>   cout </span><span id="9d3z9td" class="pun"><<</span><span id="rvhhbb9" class="pln"> num </span><span id="9j39f9b" class="pun"><<</span><span id="93x9t3l" class="pln"> </span><span id="fj3bnv3" class="str">" "</span><span id="hvr39br" class="pun">;</span><span id="pxbjnv3" class="pln"><br>   v</span><span id="r393rnj" class="pun">.</span><span id="9z3vzh9" class="pln">push_back</span><span id="txb9n9h" class="pun">(</span><span id="dlf9999" class="pln"> num </span><span id="zxbb999" class="pun">);</span><span id="hlp9dp3" class="pln"><br> </span><span id="9h3ln3b" class="pun">}</span><span id="jtxx9bv" class="pln"><br> cout </span><span id="dhl939b" class="pun"><<</span><span id="v3tz99p" class="pln"> endl</span><span id="9r9vxhb" class="pun">;</span><span id="d3t3fjn" class="pln">            <br><br> </span><span id="9xv39bb" class="com">// find the first element of v that is even</span><span id="9j3thpx" class="pln"><br> vector</span><span id="3p9bl39" class="pun"><</span><span id="t9rx3j9" class="kwd">int</span><span id="j3h3l3d" class="pun">>::</span><span id="p1x13ld" class="pln">iterator iter1 </span><span id="b19999h" class="pun">=</span><span id="pvzzxpx" class="pln"> v</span><span id="ftp99xx" class="pun">.</span><span id="zfbrldd" class="kwd">begin</span><span id="xnrhb9t" class="pun">();</span><span id="l39dhrr" class="pln"><br> </span><span id="93fnjhz" class="kwd">while</span><span id="9d3n99d" class="pun">(</span><span id="x399drp" class="pln"> iter1 </span><span id="tzndp9x" class="pun">!=</span><span id="h39xtr3" class="pln"> v</span><span id="33fvrhz" class="pun">.</span><span id="9x9n3n1" class="kwd">end</span><span id="3vlb999" class="pun">()</span><span id="9nl3zdb" class="pln"> </span><span id="13vz99d" class="pun">&&</span><span id="939zl9x" class="pln"> </span><span id="lrv999r" class="pun">*</span><span id="1dl9x9r" class="pln">iter1 </span><span id="rf399n9" class="pun">%</span><span id="1v3x3fx" class="pln"> </span><span id="lbvd3xp" class="lit">2</span><span id="xb3tf3b" class="pln"> </span><span id="9rhptt9" class="pun">!=</span><span id="1zxnbjz" class="pln"> </span><span id="xl93999" class="lit">0</span><span id="fl9thph" class="pln"> </span><span id="t393nj9" class="pun">)</span><span id="x9dzt39" class="pln"> </span><span id="t9vb3lj" class="pun">{</span><span id="l3x99lb" class="pln"><br>   iter1</span><span id="9v39zhz" class="pun">++;</span><span id="flpd99r" class="pln"><br> </span><span id="x1f39j9" class="pun">}</span><span id="9t3prbj" class="pln">              <br><br> </span><span id="tztp9jt" class="com">// find the last element of v that is even</span><span id="t13lzh9" class="pln"><br> vector</span><span id="djnjvf9" class="pun"><</span><span id="nbxl9p9" class="kwd">int</span><span id="9jjlr99" class="pun">>::</span><span id="vjfbfx3" class="pln">iterator iter2 </span><span id="9bbdjrh" class="pun">=</span><span id="tz3x9pz" class="pln"> v</span><span id="9h3939l" class="pun">.</span><span id="9t1dz3v" class="kwd">end</span><span id="txjx39l" class="pun">();</span><span id="3jjlrzh" class="pln"><br> </span><span id="9llntbj" class="kwd">do</span><span id="9dr9zzz" class="pln"> </span><span id="1bpbn39" class="pun">{</span><span id="lxt3f39" class="pln"><br>   iter2</span><span id="jxlhdlt" class="pun">--;</span><span id="tjr9pr9" class="pln"><br> </span><span id="b9n9t9f" class="pun">}</span><span id="9lp999d" class="pln"> </span><span id="lxbp3b9" class="kwd">while</span><span id="9ft9x99" class="pun">(</span><span id="pzdr3d1" class="pln"> iter2 </span><span id="ft9lrb3" class="pun">!=</span><span id="j9vztvv" class="pln"> v</span><span id="j3vztvv" class="pun">.</span><span id="pd3n9f9" class="kwd">begin</span><span id="9bpbfvv" class="pun">()</span><span id="nvhl3p9" class="pln"> </span><span id="zdpd99r" class="pun">&&</span><span id="9nb9nnf" class="pln"> </span><span id="th3r9j9" class="pun">*</span><span id="9hv999h" class="pln">iter2 </span><span id="3t31dl9" class="pun">%</span><span id="hnrf99l" class="pln"> </span><span id="txb3rzj" class="lit">2</span><span id="f39rl99" class="pln"> </span><span id="3x31hhp" class="pun">!=</span><span id="jnzn99b" class="pln"> </span><span id="x3999h3" class="lit">0</span><span id="93tff9t" class="pln"> </span><span id="331z9rd" class="pun">);</span><span id="931jvx9" class="pln">              <br><br> </span><span id="931lxz9" class="com">// only proceed if we find both numbers</span><span id="rd39nvn" class="pln"><br> </span><span id="zdpd93d" class="kwd">if</span><span id="9x999ln" class="pun">(</span><span id="x9dzxfx" class="pln"> iter1 </span><span id="fnh999b" class="pun">!=</span><span id="931tfh9" class="pln"> v</span><span id="9n9b99v" class="pun">.</span><span id="fp9zvvv" class="kwd">end</span><span id="jx9pbjb" class="pun">()</span><span id="9vd9t9r" class="pln"> </span><span id="9tf9dvv" class="pun">&&</span><span id="nrdr999" class="pln"> iter2 </span><span id="tztp39x" class="pun">!=</span><span id="thdr9v9" class="pln"> v</span><span id="9dzlt9x" class="pun">.</span><span id="zh3xjrj" class="kwd">begin</span><span id="hr3bxp9" class="pun">()</span><span id="jrv3nv9" class="pln"> </span><span id="rxb99bt" class="pun">)</span><span id="pxbpnn9" class="pln"> </span><span id="hnjv39h" class="pun">{</span><span id="9lz9xf9" class="pln"><br>   cout </span><span id="9h3993d" class="pun"><<</span><span id="f9l3tr3" class="pln"> </span><span id="jpjpn9n" class="str">"first even number: "</span><span id="fl9thh3" class="pln"> </span><span id="3z3fjz9" class="pun"><<</span><span id="hp3vjj9" class="pln"> </span><span id="flht39b" class="pun">*</span><span id="vzdx993" class="pln">iter1 </span><span id="vb3rff9" class="pun"><<</span><span id="h9b399f" class="pln"> </span><span id="931p9lx" class="str">", last even number: "</span><span id="hnhd33l" class="pln"> </span><span id="3dr9fvz" class="pun"><<</span><span id="nx9hddh" class="pln"> </span><span id="3d3993z" class="pun">*</span><span id="znbdv3t" class="pln">iter2 </span><span id="rb3lhhl" class="pun"><<</span><span id="txjx39n" class="pln"> endl</span><span id="b9v39l3" class="pun">;</span><span id="jpjff9d" class="pln">         <br><br>   cout </span><span id="3rfjzxt" class="pun"><<</span><span id="vj9rff3" class="pln"> </span><span id="bh3ztlx" class="str">"new vector: "</span><span id="jxbp9l9" class="pun">;</span><span id="d3x3339" class="pln"><br>   vector</span><span id="9xlxnvn" class="pun"><</span><span id="9hv99jn" class="kwd">int</span><span id="9ft9bbb" class="pun">></span><span id="9bp9dll" class="pln"> v2</span><span id="td9999d" class="pun">(</span><span id="9p3bpx9" class="pln"> iter1</span><span id="n3h1j99" class="pun">,</span><span id="tbv3v11" class="pln"> iter2 </span><span id="9zn3ln9" class="pun">);</span><span id="d399919" class="pln"><br>   </span><span id="djnnlb9" class="kwd">for</span><span id="9bp3xff" class="pun">(</span><span id="p9b3jj3" class="pln"> </span><span id="vdh3tb9" class="kwd">int</span><span id="vjxxnvd" class="pln"> i </span><span id="jzvtxf9" class="pun">=</span><span id="rdhhbt9" class="pln"> </span><span id="xd3b33n" class="lit">0</span><span id="3lz9bt9" class="pun">;</span><span id="nrddxpj" class="pln"> i </span><span id="9zdzlvx" class="pun"><</span><span id="3l3z9fj" class="pln"> v2</span><span id="3x3l9rv" class="pun">.</span><span id="rx9f91l" class="pln">size</span><span id="v999hrh" class="pun">();</span><span id="vzlz99n" class="pln"> i</span><span id="xfh9rp3" class="pun">++</span><span id="t9jbn39" class="pln"> </span><span id="j9v3f3b" class="pun">)</span><span id="zdhb933" class="pln"> </span><span id="lrvjd99" class="pun">{</span><span id="9zvhlvv" class="pln"><br>     cout </span><span id="9th9lt9" class="pun"><<</span><span id="l39x3xf" class="pln"> v2</span><span id="fnj9jhh" class="pun">[</span><span id="b3399nf" class="pln">i</span><span id="jpth99j" class="pun">]</span><span id="9zvhnvv" class="pln"> </span><span id="9zn99zh" class="pun"><<</span><span id="rzd39tt" class="pln"> </span><span id="brd991j" class="str">" "</span><span id="jxth999" class="pun">;</span><span id="rzt91zr" class="pln"><br>   </span><span id="hnrn39h" class="pun">}</span><span id="b9n3j9p" class="pln"><br>   cout </span><span id="z3hztdd" class="pun"><<</span><span id="t399b99" class="pln"> endl</span><span id="l3f1p39" class="pun">;</span><span id="9vj9vf9" class="pln"><br> </span><span id="hrnz9h9" class="pun">}</span></pre> <p>When run, this code displays the following output:</p> <pre class="prettyprint"><span id="lz9j9j3" class="pln">original vector</span><span id="9hl9zr9" class="pun">:</span><span id="vjxzn9v" class="pln"> </span><span id="zn3xv99" class="lit">1</span><span id="9v9l9tl" class="pln"> </span><span id="txjx99l" class="lit">9</span><span id="3pd9919" class="pln"> </span><span id="j9d1f3t" class="lit">7</span><span id="hvjdzh9" class="pln"> </span><span id="vj3b93j" class="lit">9</span><span id="d3pd3zr" class="pln"> </span><span id="ntxl99n" class="lit">2</span><span id="pxr93jx" class="pln"> </span><span id="9h39pfp" class="lit">7</span><span id="xd9d3f3" class="pln"> </span><span id="r39bjbj" class="lit">2</span><span id="px39z99" class="pln"> </span><span id="931v33l" class="lit">1</span><span id="9rf9rr9" class="pln"> </span><span id="9lz91ll" class="lit">9</span><span id="nx999tl" class="pln"> </span><span id="9hlhd9z" class="lit">8</span><span id="pbft399" class="pln"><br> first even number</span><span id="3319999" class="pun">:</span><span id="hlp3n39" class="pln"> </span><span id="3h399h9" class="lit">2</span><span id="pvplhph" class="pun">,</span><span id="pf9x39t" class="pln"> last even number</span><span id="b9n3fxf" class="pun">:</span><span id="hrnz993" class="pln"> </span><span id="blpd39x" class="lit">8</span><span id="nx99r99" class="pln"><br> </span><span id="3p399p9" class="kwd">new</span><span id="rxbp93f" class="pln"> vector</span><span id="3lztb9x" class="pun">:</span><span id="pdhv39v" class="pln"> </span><span id="9zn9j99" class="lit">2</span><span id="9nbvd99" class="pln"> </span><span id="9393zhh" class="lit">7</span><span id="vjft99b" class="pln"> </span><span id="9r39fvv" class="lit">2</span><span id="fnhv39d" class="pln"> </span><span id="xlhv99d" class="lit">1</span><span id="vzlz9t3" class="pln"> </span><span id="j9v3p9t" class="lit">9</span><span id="j3vb3l3" class="pln">          </span></pre> <p>All of these constructors run in <a >linear time</a> except the first, which runs in <a >constant time</a>.</p> <p>The default destructor is called when the vector should be destroyed.<br><br></p>  </span></pre><img src ="http://www.shnenglu.com/yehongly/aggbug/38232.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/yehongly/" target="_blank">?/a> 2007-12-11 14:26 <a href="http://www.shnenglu.com/yehongly/archive/2007/12/11/38232.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>c++ STL 容器基础Q一Q?/title><link>http://www.shnenglu.com/yehongly/archive/2007/12/11/38224.html</link><dc:creator>?/dc:creator><author>?/author><pubDate>Tue, 11 Dec 2007 06:00:00 GMT</pubDate><guid>http://www.shnenglu.com/yehongly/archive/2007/12/11/38224.html</guid><wfw:comment>http://www.shnenglu.com/yehongly/comments/38224.html</wfw:comment><comments>http://www.shnenglu.com/yehongly/archive/2007/12/11/38224.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.shnenglu.com/yehongly/comments/commentRss/38224.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/yehongly/services/trackbacks/38224.html</trackback:ping><description><![CDATA[     摘要:   <a href='http://www.shnenglu.com/yehongly/archive/2007/12/11/38224.html'>阅读全文</a><img src ="http://www.shnenglu.com/yehongly/aggbug/38224.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/yehongly/" target="_blank">?/a> 2007-12-11 14:00 <a href="http://www.shnenglu.com/yehongly/archive/2007/12/11/38224.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss> <footer> <div class="friendship-link"> <p>лǵվܻԴȤ</p> <a href="http://www.shnenglu.com/" title="精品视频久久久久">精品视频久久久久</a> <div class="friend-links"> </div> </div> </footer> <a href="http://www.muxi365.cn" target="_blank">պƷþþþþ</a>| <a href="http://www.gjznet.cn" target="_blank">9999Ʒŷþþþþ</a>| <a href="http://www.eeof.cn" target="_blank">þþwww˳</a>| <a href="http://www.jddy.net.cn" target="_blank">þþþһƷ</a>| <a href="http://www.cn0317.cn" target="_blank">þۺϾþڹ</a>| <a href="http://www.baikuu.cn" target="_blank">Ĺ˾Ʒþò</a>| <a href="http://www.xinwenzaocan.org.cn" target="_blank">Ʒþþþþר</a>| <a href="http://www.help0.cn" target="_blank">ƷһþþƷ</a>| <a href="http://www.hxg123.cn" target="_blank">ɫۺϾþ߹ۿ</a>| <a href="http://www.qqhaobofangqi.cn" target="_blank">޾ƷҹVAþó</a>| <a href="http://www.8812345.com.cn" target="_blank">91Ʒ91þþþø</a>| <a href="http://www.33759gov.cn" target="_blank">޾ƷŮþþþ99С˵</a>| <a href="http://www.chezhuangbao.cn" target="_blank">ŷ˾þۺһ</a>| <a href="http://www.worktrotter.cn" target="_blank">99þùһ</a>| <a href="http://www.javaoop.cn" target="_blank">ҹþþƷ</a>| <a href="http://www.tjjykj.com.cn" target="_blank">9191ƷѾþ</a>| <a href="http://www.eboa.com.cn" target="_blank">ŷ޳ҹƷþ</a>| <a href="http://www.stylefair.com.cn" target="_blank">ھƷþþþþòӰԺ</a>| <a href="http://www.bagscheap.cn" target="_blank">vĻþ</a>| <a href="http://www.umw.net.cn" target="_blank">þþþþþۺۺϺݺ</a>| <a href="http://www.fj023.cn" target="_blank">Ʒ18þþþþvr</a>| <a href="http://www.in-lan.cn" target="_blank">þøŮ߳MBA</a>| <a href="http://www.yuleluntan.cn" target="_blank">þþþþùƷŮ</a>| <a href="http://www.cstshs.cn" target="_blank">þav</a>| <a href="http://www.huizegufen.cn" target="_blank">ڵþ</a>| <a href="http://www.dripnews.cn" target="_blank">þþƷĻ̾</a>| <a href="http://www.onlinehotel.com.cn" target="_blank">㽶aaþëƬ</a>| <a href="http://www.010law.cn" target="_blank">þþþþƷĻ</a>| <a href="http://www.uucity.com.cn" target="_blank">ŷAŷaþ</a>| <a href="http://www.dzeuegg.cn" target="_blank">һɫþ88ۺ޾Ʒ </a>| <a href="http://www.yf-plastic.com.cn" target="_blank">þþþþAv뾫Ʒר </a>| <a href="http://www.vnzn.cn" target="_blank">˾þô߽ </a>| <a href="http://www.42856.com.cn" target="_blank">˾þۺߴý</a>| <a href="http://www.haole001.cn" target="_blank">ƷۺϾþþþþ98</a>| <a href="http://www.hanqingtoubai.cn" target="_blank">þӰ</a>| <a href="http://www.zsputian.com.cn" target="_blank">޹ƷþþþþԻ</a>| <a href="http://www.bayercas.cn" target="_blank">Ʒ99þþþ91gav</a>| <a href="http://www.cjbyt.cn" target="_blank">þҹɫƷ</a>| <a href="http://www.asnonfj.cn" target="_blank">ձƬҹþ</a>| <a href="http://www.j16dr.cn" target="_blank">777þþƷһ</a>| <a href="http://www.t1303.cn" target="_blank">91Ըߺþþþ</a>| <script> (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); </script> </body>