??xml version="1.0" encoding="utf-8" standalone="yes"?>精品国产日韩久久亚洲,蜜臀久久99精品久久久久久,99麻豆久久久国产精品免费http://m.shnenglu.com/yehongly/archive/2008/09/21/62401.html?/dc:creator>?/author>Sun, 21 Sep 2008 08:35:00 GMThttp://m.shnenglu.com/yehongly/archive/2008/09/21/62401.htmlhttp://m.shnenglu.com/yehongly/comments/62401.htmlhttp://m.shnenglu.com/yehongly/archive/2008/09/21/62401.html#Feedback0http://m.shnenglu.com/yehongly/comments/commentRss/62401.htmlhttp://m.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://m.shnenglu.com/yehongly/archive/2008/09/12/61697.html?/dc:creator>?/author>Fri, 12 Sep 2008 09:07:00 GMThttp://m.shnenglu.com/yehongly/archive/2008/09/12/61697.htmlhttp://m.shnenglu.com/yehongly/comments/61697.htmlhttp://m.shnenglu.com/yehongly/archive/2008/09/12/61697.html#Feedback0http://m.shnenglu.com/yehongly/comments/commentRss/61697.htmlhttp://m.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://m.shnenglu.com/yehongly/archive/2008/09/04/60925.html?/dc:creator>?/author>Thu, 04 Sep 2008 09:06:00 GMThttp://m.shnenglu.com/yehongly/archive/2008/09/04/60925.htmlhttp://m.shnenglu.com/yehongly/comments/60925.htmlhttp://m.shnenglu.com/yehongly/archive/2008/09/04/60925.html#Feedback0http://m.shnenglu.com/yehongly/comments/commentRss/60925.htmlhttp://m.shnenglu.com/yehongly/services/trackbacks/60925.html阅读全文

]]>
typedefhttp://m.shnenglu.com/yehongly/archive/2007/12/25/39547.html?/dc:creator>?/author>Tue, 25 Dec 2007 01:33:00 GMThttp://m.shnenglu.com/yehongly/archive/2007/12/25/39547.htmlhttp://m.shnenglu.com/yehongly/comments/39547.htmlhttp://m.shnenglu.com/yehongly/archive/2007/12/25/39547.html#Feedback0http://m.shnenglu.com/yehongly/comments/commentRss/39547.htmlhttp://m.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://m.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://m.shnenglu.com/yehongly/archive/2007/12/11/38232.html</guid><wfw:comment>http://m.shnenglu.com/yehongly/comments/38232.html</wfw:comment><comments>http://m.shnenglu.com/yehongly/archive/2007/12/11/38232.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://m.shnenglu.com/yehongly/comments/commentRss/38232.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/yehongly/services/trackbacks/38232.html</trackback:ping><description><![CDATA[  <a >http://www.cppreference.com/cppvector/index.html</a> <div id="9x7tjn9" class="name-format">assign </div> <div id="brxrxhr" 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="h9h7rzz" class="pln">vector</span><span id="77x999r" class="pun"><</span><span id="jj19tzz" class="kwd">int</span><span id="f79lnt9" class="pun">></span><span id="p17rtpf" class="pln"> v</span><span id="9vzb9nd" class="pun">;</span><span id="d1dz17j" class="pln"><br> v</span><span id="bdd7pv9" class="pun">.</span><span id="r999zzx" class="pln">assign</span><span id="7rjrnd9" class="pun">(</span><span id="97vbpf9" class="pln"> </span><span id="v797v7h" class="lit">10</span><span id="nzhb97x" class="pun">,</span><span id="7prlv9j" class="pln"> </span><span id="9z9pjff" class="lit">42</span><span id="z7hxhfv" class="pln"> </span><span id="7rztvtz" class="pun">);</span><span id="77hdf99" class="pln"><br> </span><span id="v999rj9" class="kwd">for</span><span id="97zb999" class="pun">(</span><span id="f7tnfdb" class="pln"> </span><span id="hrvnr7b" class="kwd">int</span><span id="hr7rvjj" class="pln"> i </span><span id="f1b9dtz" class="pun">=</span><span id="z79n9pf" class="pln"> </span><span id="fpzvpnl" class="lit">0</span><span id="p7d7n9t" class="pun">;</span><span id="r999dvt" class="pln"> i </span><span id="9dhjljz" class="pun"><</span><span id="r7x71xv" class="pln"> v</span><span id="197xzt9" class="pun">.</span><span id="nvzrt1p" class="pln">size</span><span id="bd799hd" class="pun">();</span><span id="j9fj799" class="pln"> i</span><span id="7fz9bpn" class="pun">++</span><span id="9lxp97j" class="pln"> </span><span id="jnzjn7z" class="pun">)</span><span id="jd9h9hn" class="pln"> </span><span id="bvfjb7v" class="pun">{</span><span id="v7v7xn9" class="pln"><br>   cout </span><span id="vx9fznd" class="pun"><<</span><span id="9jdhhp9" class="pln"> v</span><span id="7ph9rzv" class="pun">[</span><span id="ttxhtr9" class="pln">i</span><span id="9r9v9vb" class="pun">]</span><span id="x9fjd7n" class="pln"> </span><span id="9tnzd9d" class="pun"><<</span><span id="t9b77f7" class="pln"> </span><span id="77t97h9" class="str">" "</span><span id="bvp7jr9" class="pun">;</span><span id="9hbfh79" class="pln"><br> </span><span id="v7d9jbz" class="pun">}</span><span id="hjjfffd" class="pln"><br> cout </span><span id="xf77999" class="pun"><<</span><span id="lbxh9jh" class="pln"> endl</span><span id="n97l99t" class="pun">;</span><span id="z9xvx1z" class="pln">            </span></pre> <p>The above code displays the following output:</p> <pre class="prettyprint"><span id="f7ftt79" class="pln"></span><span id="77hl9jh" class="lit">42</span><span id="pb7fh7f" class="pln"> </span><span id="ltvx7z7" class="lit">42</span><span id="jjvnhtp" class="pln"> </span><span id="rzrlvf9" class="lit">42</span><span id="xpbt9vt" class="pln"> </span><span id="l7jdf99" class="lit">42</span><span id="7rrvnhf" class="pln"> </span><span id="7jj7l79" class="lit">42</span><span id="7tt9ndr" class="pln"> </span><span id="rrl79b9" class="lit">42</span><span id="l7t7nlz" class="pln"> </span><span id="9jbfff7" class="lit">42</span><span id="vd9997z" class="pln"> </span><span id="bj9hz79" class="lit">42</span><span id="9tf9fdb" class="pln"> </span><span id="9pj7tpx" class="lit">42</span><span id="7bdttb9" class="pln"> </span><span id="9r99zpv" class="lit">42</span><span id="nvfrb77" 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="r79z979" class="pln">vector</span><span id="7lpbljr" class="pun"><</span><span id="hxb9x7r" class="kwd">int</span><span id="p7p7p9h" class="pun">></span><span id="7l7hb9b" class="pln"> v1</span><span id="nvvrjjh" class="pun">;</span><span id="9j9nxdb" class="pln"><br> </span><span id="ndhbtjp" class="kwd">for</span><span id="7t7d9lt" class="pun">(</span><span id="9bd7d7p" class="pln"> </span><span id="j9rb7xf" class="kwd">int</span><span id="bj7p9vr" class="pln"> i </span><span id="7x9j9xx" class="pun">=</span><span id="dtxz7jz" class="pln"> </span><span id="pfhb7z7" class="lit">0</span><span id="dj999lj" class="pun">;</span><span id="7hjnpl7" class="pln"> i </span><span id="xfr7pvl" class="pun"><</span><span id="z7zbdrz" class="pln"> </span><span id="jzb7h7x" class="lit">10</span><span id="9fr7rpp" class="pun">;</span><span id="xnz79j9" class="pln"> i</span><span id="7bt7l9j" class="pun">++</span><span id="z979bpn" class="pln"> </span><span id="lrntltb" class="pun">)</span><span id="jjtz979" class="pln"> </span><span id="px9799r" class="pun">{</span><span id="79j99nn" class="pln"><br>   v1</span><span id="tt7pzp7" class="pun">.</span><span id="r7z9b99" class="pln">push_back</span><span id="7j9fzx7" class="pun">(</span><span id="9d7xrpv" class="pln"> i </span><span id="lt7xhh7" class="pun">);</span><span id="7d7d99h" class="pln"><br> </span><span id="dlvp7z7" class="pun">}</span><span id="fdh7997" class="pln">              <br><br> vector</span><span id="f7n7xnl" class="pun"><</span><span id="tzvn7hf" class="kwd">int</span><span id="9z9l7b7" class="pun">></span><span id="9dt9v7d" class="pln"> v2</span><span id="7vxbdj7" class="pun">;</span><span id="trvphh7" class="pln"><br> v2</span><span id="7n9979f" class="pun">.</span><span id="tr97hp9" class="pln">assign</span><span id="7hbfn79" class="pun">(</span><span id="97zx9td" class="pln"> v1</span><span id="fn7j7hd" class="pun">.</span><span id="ndpz7rn" class="kwd">begin</span><span id="7zbxx7j" class="pun">(),</span><span id="l97jntn" class="pln"> v1</span><span id="vvnjbbr" class="pun">.</span><span id="rrjvf9d" class="kwd">end</span><span id="vbf9ltr" class="pun">()</span><span id="nvvzljh" class="pln"> </span><span id="pp7b7j9" class="pun">);</span><span id="ttv99xn" class="pln">             <br><br> </span><span id="l77bv99" class="kwd">for</span><span id="z9h7t9d" class="pun">(</span><span id="7zbnh7x" class="pln"> </span><span id="tj7nzh7" class="kwd">int</span><span id="d9l9tjr" class="pln"> i </span><span id="j77zt9l" class="pun">=</span><span id="px79rhf" class="pln"> </span><span id="7hbdfd7" class="lit">0</span><span id="dlxrj7l" class="pun">;</span><span id="hht7h77" class="pln"> i </span><span id="pvz99xp" class="pun"><</span><span id="r7pxrp7" class="pln"> v2</span><span id="999979n" class="pun">.</span><span id="7fzrttr" class="pln">size</span><span id="d9jrlr7" class="pun">();</span><span id="vbf799h" class="pln"> i</span><span id="tbd7zxx" class="pun">++</span><span id="jrtv7x9" class="pln"> </span><span id="n7jdh7x" class="pun">)</span><span id="b99hbb9" class="pln"> </span><span id="9jl9vt7" class="pun">{</span><span id="x7dn7bb" class="pln"><br>   cout </span><span id="bh7v7dz" class="pun"><<</span><span id="n9v7p9z" class="pln"> v2</span><span id="xd9ld7p" class="pun">[</span><span id="d9lv799" class="pln">i</span><span id="7x9l9r9" class="pun">]</span><span id="hp77bjh" class="pln"> </span><span id="flv979h" class="pun"><<</span><span id="ppr979j" class="pln"> </span><span id="t9rvfl7" class="str">" "</span><span id="7r7d9jz" class="pun">;</span><span id="7d9979n" class="pln"><br> </span><span id="ttf99j9" class="pun">}</span><span id="7rlr99j" class="pln"><br> cout </span><span id="tz9hbrp" class="pun"><<</span><span id="9h99fvt" class="pln"> endl</span><span id="xlpd7d7" class="pun">;</span><span id="7h9jb99" class="pln">            </span></pre> <p>When run, the above code displays the following output:</p> <pre class="prettyprint"><span id="zfr7j79" class="pln"></span><span id="l9ln7t9" class="lit">0</span><span id="jt77h7z" class="pln"> </span><span id="pxz9tr9" class="lit">1</span><span id="p99dh9b" class="pln"> </span><span id="bzljhd7" class="lit">2</span><span id="fdpnxx7" class="pln"> </span><span id="tb7xppp" class="lit">3</span><span id="px7tllr" class="pln"> </span><span id="7thdxll" class="lit">4</span><span id="zzl779v" class="pln"> </span><span id="79bl7zx" class="lit">5</span><span id="djn79bb" class="pln"> </span><span id="n9jdhn7" class="lit">6</span><span id="rrd9d7f" class="pln"> </span><span id="ppbhzz7" class="lit">7</span><span id="ljvt7dr" class="pln"> </span><span id="zh7l7tp" class="lit">8</span><span id="flx7p7r" class="pln"> </span><span id="fl77999" class="lit">9</span><span id="9lftnj9" class="pln">     <br><br><br><br> <div id="7vpddp9" class="name-format">Vector constructors </div> <div id="zxjn9fd" 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="pvhl9dt" class="pln">vector</span><span id="9z99lht" class="pun"><</span><span id="9jlppx9" class="kwd">int</span><span id="9bvp7jz" class="pun">></span><span id="9x7z1vb" class="pln"> v1</span><span id="9n9zth7" class="pun">(</span><span id="9nxb7b9" class="pln"> </span><span id="1tvprp9" class="lit">5</span><span id="drfrt77" class="pun">,</span><span id="h77p999" class="pln"> </span><span id="f7lv7lj" class="lit">42</span><span id="db79pn9" class="pln"> </span><span id="jplnf79" class="pun">);</span><span id="pnxtv9v" 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="xvz99j9" class="pln"></span><span id="hnjbnln" class="com">// create a vector of random integers</span><span id="fdvp999" class="pln"><br> cout </span><span id="ntp7tj7" class="pun"><<</span><span id="bj9x9nt" class="pln"> </span><span id="7vfzttb" class="str">"original vector: "</span><span id="7p9r9h9" class="pun">;</span><span id="l9l7pf9" class="pln"><br> vector</span><span id="77xzt9f" class="pun"><</span><span id="77p79hn" class="kwd">int</span><span id="tt7h9fl" class="pun">></span><span id="xv9tz7j" class="pln"> v</span><span id="ljnx99z" class="pun">;</span><span id="hh7v79v" class="pln"><br> </span><span id="97zbnt1" class="kwd">for</span><span id="t999rxz" class="pun">(</span><span id="97vxrn9" class="pln"> </span><span id="7fjdfbl" class="kwd">int</span><span id="7tvxrzj" class="pln"> i </span><span id="97jd99n" class="pun">=</span><span id="xd9z7fd" class="pln"> </span><span id="fd97t9f" class="lit">0</span><span id="v99999r" class="pun">;</span><span id="nt17f99" class="pln"> i </span><span id="tt9djpz" class="pun"><</span><span id="nlj9xfp" class="pln"> </span><span id="rrn7b7n" class="lit">10</span><span id="hnd9rrf" class="pun">;</span><span id="71p9r7d" class="pln"> i</span><span id="xv9vt99" class="pun">++</span><span id="71bdfvt" class="pln"> </span><span id="pp99znd" class="pun">)</span><span id="lrfh9lr" class="pln"> </span><span id="ddjd79n" class="pun">{</span><span id="bb9999p" class="pln"><br>   </span><span id="91f97x9" class="kwd">int</span><span id="vb1df7z" class="pln"> num </span><span id="bb9t7l9" class="pun">=</span><span id="9t9n9tp" class="pln"> </span><span id="vt9dp7p" class="pun">(</span><span id="vbh7vtr" class="kwd">int</span><span id="zx9hhzn" class="pun">)</span><span id="p9vpr7j" class="pln"> rand</span><span id="jpf9tz7" class="pun">()</span><span id="7jl9pl9" class="pln"> </span><span id="zz979db" class="pun">%</span><span id="rp19v99" class="pln"> </span><span id="bbxn7xl" class="lit">10</span><span id="trp7vjj" class="pun">;</span><span id="vb1jd77" class="pln"><br>   cout </span><span id="bhp9fvd" class="pun"><<</span><span id="91l7fvj" class="pln"> num </span><span id="pnl99h9" class="pun"><<</span><span id="x9lxx7j" class="pln"> </span><span id="fflrj97" class="str">" "</span><span id="9199hdd" class="pun">;</span><span id="ntvjd7x" class="pln"><br>   v</span><span id="zx7tvfv" class="pun">.</span><span id="vv7p99p" class="pln">push_back</span><span id="7b9jdvb" class="pun">(</span><span id="b9hr7z9" class="pln"> num </span><span id="7h9j9pn" class="pun">);</span><span id="l79rnxd" class="pln"><br> </span><span id="tt9d9db" class="pun">}</span><span id="v779j99" class="pln"><br> cout </span><span id="ddj9lzh" class="pun"><<</span><span id="xx999th" class="pln"> endl</span><span id="xdr7tzr" class="pun">;</span><span id="zf1pzff" class="pln">            <br><br> </span><span id="rp17x9x" class="com">// find the first element of v that is even</span><span id="71x9h79" class="pln"><br> vector</span><span id="vtrx9hp" class="pun"><</span><span id="71prt9l" class="kwd">int</span><span id="l9rb7j9" class="pun">>::</span><span id="lj9t77t" class="pln">iterator iter1 </span><span id="nl1fhvd" class="pun">=</span><span id="jh1bvjr" class="pln"> v</span><span id="rr9z9xf" class="pun">.</span><span id="l9zll7n" class="kwd">begin</span><span id="pnlhdbz" class="pun">();</span><span id="l97bxvb" class="pln"><br> </span><span id="7f999jj" class="kwd">while</span><span id="p7f999v" class="pun">(</span><span id="tt99ppl" class="pln"> iter1 </span><span id="7l9tnb9" class="pun">!=</span><span id="9n9t9r9" class="pln"> v</span><span id="db9pbjx" class="pun">.</span><span id="tt9jl99" class="kwd">end</span><span id="9r9phfd" class="pun">()</span><span id="97rld9n" class="pln"> </span><span id="9199f99" class="pun">&&</span><span id="jhf9zx7" class="pln"> </span><span id="jpvlvb7" class="pun">*</span><span id="9199x9r" class="pln">iter1 </span><span id="d7tn7lj" class="pun">%</span><span id="7d999ld" class="pln"> </span><span id="xf9pzr7" class="lit">2</span><span id="fdbfh7v" class="pln"> </span><span id="7v99z9r" class="pun">!=</span><span id="rpnxbxn" class="pln"> </span><span id="vth7n9d" class="lit">0</span><span id="djfhrpd" class="pln"> </span><span id="zfr79rz" class="pun">)</span><span id="719t9hh" class="pln"> </span><span id="bz9x7br" class="pun">{</span><span id="ff7rnjh" class="pln"><br>   iter1</span><span id="v77rvt9" class="pun">++;</span><span id="pp7bxt7" class="pln"><br> </span><span id="zft7htr" class="pun">}</span><span id="nn79hvb" class="pln">              <br><br> </span><span id="pv1dx77" class="com">// find the last element of v that is even</span><span id="dbzfh99" class="pln"><br> vector</span><span id="vtjl7lt" class="pun"><</span><span id="9d999xv" class="kwd">int</span><span id="7d7999j" class="pun">>::</span><span id="lj799vr" class="pln">iterator iter2 </span><span id="nn9v9b9" class="pun">=</span><span id="77bvn9z" class="pln"> v</span><span id="t7zdfd7" class="pun">.</span><span id="9fjfx9f" class="kwd">end</span><span id="zz97ff9" class="pun">();</span><span id="hhlpbxv" class="pln"><br> </span><span id="7zfrlhh" class="kwd">do</span><span id="vtjt7jr" class="pln"> </span><span id="d9td7tz" class="pun">{</span><span id="77hh9f9" class="pln"><br>   iter2</span><span id="vvrtn7p" class="pun">--;</span><span id="vv7999p" class="pln"><br> </span><span id="fn99j79" class="pun">}</span><span id="vd9rl7b" class="pln"> </span><span id="xvlf7vd" class="kwd">while</span><span id="tb9pj7b" class="pun">(</span><span id="trpz9hh" class="pln"> iter2 </span><span id="7l9jnbr" class="pun">!=</span><span id="zz9jtbp" class="pln"> v</span><span id="hndpt7v" class="pun">.</span><span id="l999pxv" class="kwd">begin</span><span id="hfd9bpn" class="pun">()</span><span id="77v9999" class="pln"> </span><span id="hh9xrrp" class="pun">&&</span><span id="97f7pn9" class="pln"> </span><span id="7vj99xx" class="pun">*</span><span id="77pr9hp" class="pln">iter2 </span><span id="lj17rp9" class="pun">%</span><span id="hpdhl77" class="pln"> </span><span id="bzx7d9v" class="lit">2</span><span id="719ht99" class="pln"> </span><span id="jhxrtpf" class="pun">!=</span><span id="9lxtdjr" class="pln"> </span><span id="9jp9jjh" class="lit">0</span><span id="77999d9" class="pln"> </span><span id="nl7pr7d" class="pun">);</span><span id="7fzb9p9" class="pln">              <br><br> </span><span id="zxvfh97" class="com">// only proceed if we find both numbers</span><span id="zxbtvtr" class="pln"><br> </span><span id="z99rjj7" class="kwd">if</span><span id="7z99rfv" class="pun">(</span><span id="t79pbpp" class="pln"> iter1 </span><span id="z79t7h9" class="pun">!=</span><span id="t797dz7" class="pln"> v</span><span id="77jvh7z" class="pun">.</span><span id="frjf7dd" class="kwd">end</span><span id="vdvz7hx" class="pun">()</span><span id="77zb9p9" class="pln"> </span><span id="7rln9bb" class="pun">&&</span><span id="jh7dvvr" class="pln"> iter2 </span><span id="b799dlr" class="pun">!=</span><span id="zxblhfv" class="pln"> v</span><span id="n9pz7f9" class="pun">.</span><span id="rx9lh7h" class="kwd">begin</span><span id="bb7njf7" class="pun">()</span><span id="7v99v99" class="pln"> </span><span id="77j9ddt" class="pun">)</span><span id="7r9d99d" class="pln"> </span><span id="nl9jb9d" class="pun">{</span><span id="f99bf9f" class="pln"><br>   cout </span><span id="vtx9vjh" class="pun"><<</span><span id="7t9ln7l" class="pln"> </span><span id="7rhzpn7" class="str">"first even number: "</span><span id="zfhbnj9" class="pln"> </span><span id="ll7xtzx" class="pun"><<</span><span id="j7t799h" class="pln"> </span><span id="z7p999z" class="pun">*</span><span id="thdvp7r" class="pln">iter1 </span><span id="7d9tv7f" class="pun"><<</span><span id="9rzbjb9" class="pln"> </span><span id="7h9jndz" class="str">", last even number: "</span><span id="7ftv77l" class="pln"> </span><span id="bhtt7pd" class="pun"><<</span><span id="hh7vpdd" class="pln"> </span><span id="9xdfffb" class="pun">*</span><span id="9x7rdrh" class="pln">iter2 </span><span id="979lpdj" class="pun"><<</span><span id="ltdhj7n" class="pln"> endl</span><span id="l7j797z" class="pun">;</span><span id="79pv9nd" class="pln">         <br><br>   cout </span><span id="xf7rn7f" class="pun"><<</span><span id="7r97dt7" class="pln"> </span><span id="ffzbtrh" class="str">"new vector: "</span><span id="v7d7zxt" class="pun">;</span><span id="r7h97lr" class="pln"><br>   vector</span><span id="hh799f9" class="pun"><</span><span id="vv7r799" class="kwd">int</span><span id="trv9tpp" class="pun">></span><span id="zx9zdlj" class="pln"> v2</span><span id="trv9z9r" class="pun">(</span><span id="flhz7lj" class="pln"> iter1</span><span id="77hnf97" class="pun">,</span><span id="lj7fhxv" class="pln"> iter2 </span><span id="p9f9797" class="pun">);</span><span id="jhrnp9l" class="pln"><br>   </span><span id="9f9lfn7" class="kwd">for</span><span id="7zh99nl" class="pun">(</span><span id="7lbd9t9" class="pln"> </span><span id="pn7jbrr" class="kwd">int</span><span id="97vj9nl" class="pln"> i </span><span id="97v9l7n" class="pun">=</span><span id="17pnn99" class="pln"> </span><span id="l99zt9v" class="lit">0</span><span id="17f9nll" class="pun">;</span><span id="h79dhnv" class="pln"> i </span><span id="19n9vlh" class="pun"><</span><span id="91zfzx9" class="pln"> v2</span><span id="p79tx7p" class="pun">.</span><span id="19p9vlr" class="pln">size</span><span id="rrjfhfv" class="pun">();</span><span id="l7l9trh" class="pln"> i</span><span id="9hlp9d9" class="pun">++</span><span id="1zbxhn9" class="pln"> </span><span id="1797ddr" class="pun">)</span><span id="dl7p9v9" class="pln"> </span><span id="l9l9jzp" class="pun">{</span><span id="d799fx9" class="pln"><br>     cout </span><span id="f9pxh79" class="pun"><<</span><span id="td77z9j" class="pln"> v2</span><span id="nzbl7n7" class="pun">[</span><span id="ff9lfvt" class="pln">i</span><span id="rz9fzhf" class="pun">]</span><span id="jhl9ppn" class="pln"> </span><span id="bzjvxv7" class="pun"><<</span><span id="b99v9v9" class="pln"> </span><span id="7j9v9zj" class="str">" "</span><span id="xx9jdtr" class="pun">;</span><span id="rxtvf79" class="pln"><br>   </span><span id="ttvf9hf" class="pun">}</span><span id="ddfpjh9" class="pln"><br>   cout </span><span id="vtx7t99" class="pun"><<</span><span id="79nrnlh" class="pln"> endl</span><span id="ff7t9rx" class="pun">;</span><span id="nlpjdbz" class="pln"><br> </span><span id="pphd79n" class="pun">}</span></pre> <p>When run, this code displays the following output:</p> <pre class="prettyprint"><span id="jhrvnnt" class="pln">original vector</span><span id="nj7hrhf" class="pun">:</span><span id="ddx7lzh" class="pln"> </span><span id="fdh99bz" class="lit">1</span><span id="7np9t9f" class="pln"> </span><span id="719hlrn" class="lit">9</span><span id="bzjdxvt" class="pln"> </span><span id="d77jnlj" class="lit">7</span><span id="trv99v9" class="pln"> </span><span id="tzvnh79" class="lit">9</span><span id="jptlfd7" class="pln"> </span><span id="7r9v9rh" class="lit">2</span><span id="nt97t7l" class="pln"> </span><span id="rxbd9ll" class="lit">7</span><span id="719lft9" class="pln"> </span><span id="7f9p9vt" class="lit">2</span><span id="7l999ft" class="pln"> </span><span id="vdv7jj9" class="lit">1</span><span id="trv9z9b" class="pln"> </span><span id="rpt9p99" class="lit">9</span><span id="719t9hx" class="pln"> </span><span id="bzdx9nl" class="lit">8</span><span id="tr7d7tp" class="pln"><br> first even number</span><span id="trvx7xf" class="pun">:</span><span id="vvx7bjp" class="pln"> </span><span id="b9t179l" class="lit">2</span><span id="tzbd9l9" class="pun">,</span><span id="71x1f9h" class="pln"> last even number</span><span id="r79nrfn" class="pun">:</span><span id="rxtvz7t" class="pln"> </span><span id="hf799d7" class="lit">8</span><span id="dj9rlzx" class="pln"><br> </span><span id="bz9fhh7" class="kwd">new</span><span id="hnpr9tr" class="pln"> vector</span><span id="fnp77rz" class="pun">:</span><span id="91drx9h" class="pln"> </span><span id="dd9jdl7" class="lit">2</span><span id="rpztnl7" class="pln"> </span><span id="f99d9zx" class="lit">7</span><span id="9j19x99" class="pln"> </span><span id="xx7bdj7" class="lit">2</span><span id="ll779bj" class="pln"> </span><span id="rxbtnl7" class="lit">1</span><span id="vtx99r9" class="pln"> </span><span id="hn9bx7z" class="lit">9</span><span id="719bvvf" 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://m.shnenglu.com/yehongly/aggbug/38232.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/yehongly/" target="_blank">?/a> 2007-12-11 14:26 <a href="http://m.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://m.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://m.shnenglu.com/yehongly/archive/2007/12/11/38224.html</guid><wfw:comment>http://m.shnenglu.com/yehongly/comments/38224.html</wfw:comment><comments>http://m.shnenglu.com/yehongly/archive/2007/12/11/38224.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://m.shnenglu.com/yehongly/comments/commentRss/38224.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/yehongly/services/trackbacks/38224.html</trackback:ping><description><![CDATA[     摘要:   <a href='http://m.shnenglu.com/yehongly/archive/2007/12/11/38224.html'>阅读全文</a><img src ="http://m.shnenglu.com/yehongly/aggbug/38224.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/yehongly/" target="_blank">?/a> 2007-12-11 14:00 <a href="http://m.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://m.shnenglu.com/" title="精品视频久久久久">精品视频久久久久</a> <div class="friend-links"> </div> </div> </footer> <a href="http://www.infotme.com.cn" target="_blank">þþƷѿ</a>| <a href="http://www.94byq.cn" target="_blank">þþþ޹</a>| <a href="http://www.ddmes.cn" target="_blank">ƷþþþӰԺɫ</a>| <a href="http://www.191c.cn" target="_blank">һձȾþۺ</a>| <a href="http://www.daleiba.cn" target="_blank">þþƷѴƬƬ</a>| <a href="http://www.qqmuying.cn" target="_blank">ٸۺϾþĻ</a>| <a href="http://www.ewoman.com.cn" target="_blank">ƷþþþþóAV</a>| <a href="http://www.0577114.cn" target="_blank">ƷŷƬþùŷ...</a>| <a href="http://www.maituogangwan.cn" target="_blank">þþƷ99þ˿</a>| <a href="http://www.x29x.cn" target="_blank">þˬ˰</a>| <a href="http://www.e8ux.cn" target="_blank">þþƷŷ</a>| <a href="http://www.chaohu8.cn" target="_blank">һƷ˾þ </a>| <a href="http://www.mengyun868.cn" target="_blank">ƷѸþ</a>| <a href="http://www.rainbows.net.cn" target="_blank">Ʒþþþþù</a>| <a href="http://www.sc-cits.com.cn" target="_blank">һɫþ88Ʒۺ</a>| <a href="http://www.uztw.cn" target="_blank">þþþúǿ׊</a>| <a href="http://www.gongyeyongbu.com.cn" target="_blank">þۺϸϾþù</a>| <a href="http://www.ajchugui.cn" target="_blank">þӰۺ</a>| <a href="http://www.mashar.cn" target="_blank">þ99ۺϾƷҳ</a>| <a href="http://www.pophyh.cn" target="_blank">þó鱬Ļ</a>| <a href="http://www.carmap.com.cn" target="_blank">þþƵ</a>| <a href="http://www.helloly.cn" target="_blank">ŷպƷþ</a>| <a href="http://www.mingfeiyaye.cn" target="_blank">þԭۺ</a>| <a href="http://www.fsxslvs.cn" target="_blank">þ99ƷþֻоƷ</a>| <a href="http://www.52liansuo.com.cn" target="_blank">þþƷ</a>| <a href="http://www.2vc80.cn" target="_blank">޳avƬþ </a>| <a href="http://www.woai858.cn" target="_blank">91ƷѾþþþþþþ</a>| <a href="http://www.qvcz.cn" target="_blank">AVպƷþþþþþ</a>| <a href="http://www.itsidekick.cn" target="_blank">ŷƷƵһþþþƷ </a>| <a href="http://www.ohos33.cn" target="_blank">޾Ʒþþþþ</a>| <a href="http://www.z8990.cn" target="_blank">þֻƷ99re66</a>| <a href="http://www.fnhihs.cn" target="_blank">þþþþþþþѾƷ </a>| <a href="http://www.iteethle.cn" target="_blank">þþþùAV鶹</a>| <a href="http://www.so006.cn" target="_blank">ŷ˾þƬ</a>| <a href="http://www.gdlj2004.cn" target="_blank">þۺ97ɫ</a>| <a href="http://www.5748l.cn" target="_blank">޾Ʒþþþ66</a>| <a href="http://www.dfyxw.cn" target="_blank">þþƷ</a>| <a href="http://www.hanshigu.cn" target="_blank">þþƷAVӰԺ</a>| <a href="http://www.9394cn.cn" target="_blank">99þþƷһ </a>| <a href="http://www.126yi.cn" target="_blank">þþһƷ99þþƷ66</a>| <a href="http://www.fanb1688.com.cn" target="_blank">þþƷ</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>