高级技术学者对C++代码进行编制

开发 后端
在Windows平台上的实现就有若干种,比较常用的有Visual C++ 6.0附带的C++代码实现,和Borland C++ Builder附带的C++编译器实现。就对标准的执行程度来看,后者要好一些。

C++代码拥有很多成熟的用于网络通信的库,其中***有代表性的是跨平台的、重量级的ACE库,该库可以说是C++语言最重要的成果之一,下面就进行学习研究,希望大家能够得到自己想要的东西。

特别是在一个学期的开始,我常常收到许多关于编写一个非常简单的程序的询问。这个问题有一个很具代表性的解决方法,那就是(在你的程序中)读入几个数字,对它们做一些处理,再把结果输出。下面是一个这样做的C++代码例子:

#include<iostream> 
 
  #include<vector> 
 
  #include<algorithm> 
 
  using namespace std;  
 
 
 
  int main()  
 
  {  
 
      vector<double> v;  
 
 
 
      double d;  
 
      while(cin>>d) v.push_back(d);   // 读入元素  
 
      if (!cin.eof()) {       // 检查输入是否出错  
 
          cerr << "format error\n";  
 
          return 1;   // 返回一个错误  
 
      }  
 
 
 
      cout << "read " << v.size() << " elements\n";  
 
 
 
      reverse(v.begin(),v.end());  
 
      cout << "elements in reverse order:\n";  
 
      for (int i = 0; i<v.size(); ++i) cout << v[i] << '\n';  
 
 
 
      return 0; // 成功返回  
 
  } 
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
  • 39.
  • 40.
  • 41.
  • 42.
  • 43.
  • 44.
  • 45.
  • 46.
  • 47.


对这段程序的观察:这是一段标准的ISO C++程序,使用了标准库(standard library)。标准库工具在命名空间std中声明,封装在没有.h后缀的头文件中。如果你要在Windows下编译它,你需要将它编译成一个“控制台程序”(console application)。记得将源文件加上.cpp后缀,否则编译器可能会以为它是一段C++代码而不是C。

 是的,main()函数返回一个int值。读到一个标准的向量(vector)中,可以避免在随意确定大小的缓冲中溢出的错误。读到一个数组(array)中,而不产生“简单错误”(silly error),这已经超出了一个新手的能力——如果你做到了,那你已经不是一个新手了。如果你对此表示怀疑,我建议你阅读我的文章“将标准C++代码作为一种新的语言来学习”("Learning Standard C++ as a New Language"),你可以在本人著作列表(my publications list)中下载到它。

 !cin.eof()是对流的格式的检查。事实上,它检查循环是否终结于发现一个end-of-file(如果不是这样,那么意味着输入没有按照给定的格式)。更多的说明,请参见你的C++教科书中的“流状态”(stream state)部分。vector知道它自己的大小,因此我不需要计算元素的数量。#t#

 这段程序没有包含显式的内存管理。Vector维护一个内存中的栈,以存放它的元素。当一个vector需要更多的内存时,它会分配一些;当它不再生存时,它会释放内存。于是,使用者不需要再关心vector中元素的内存分配和释放问题。

程序在遇到输入一个“end-of-file”时结束。如果你在UNIX平台下运行它,“end-of-file”等于键盘上的Ctrl+D。如果你在Windows平台下,那么由于一个BUG它无法辨别“end-of-file”字符,你可能倾向于使用下面这个稍稍复杂些的版本,它使用一个词“end”来表示输入已经结束。

责任编辑:chenqingxiang 来源: CSDN
相关推荐

2010-01-22 18:06:24

C++代码

2010-01-26 09:40:23

C++代码

2010-01-11 16:59:50

C++源代码

2010-01-13 16:44:03

C++

2010-01-14 17:18:17

C++语言

2010-01-12 15:24:48

C++语言

2010-01-15 19:05:42

学习C++

2010-01-12 15:03:33

C++代码

2010-01-13 18:47:53

C++教程

2010-01-28 14:04:35

C++链表

2010-01-20 17:48:07

C++ 函数重载

2009-12-10 16:50:58

Visual Stud

2010-01-15 17:18:57

C++源程序

2009-12-08 16:22:06

WCF代码

2010-01-11 11:16:37

C++编程

2010-01-22 13:20:27

C++代码

2009-12-29 11:03:28

ADO代码

2010-01-13 11:10:17

C++库函数

2011-07-12 13:01:00

CC++

2010-01-15 10:48:29

C++程序代码
点赞
收藏

51CTO技术栈公众号