wjason 发表于 2013-2-5 01:07:02

gcc的cin & C++标准地址

还是我们公司给新人培训C++的问题, 有一个作业是这样的:
从控制台读入一些字符串,然后放到链表里(这个自己实现), 然后排序输出.
培训负责人的目的是联系一下指针, 链表, 还有看一下编码规范, 还是释放内存等细节.
 
当然, 如若撇去这些目的, 这样一个功能, 我可能写出这样的代码:
 
#include <string.h>#include <list>#include <iostream>#include <algorithm>#include <iterator>using namespace std;int main() {    list<string> strs;    //input    cout<<"please input ten string, and press CTRL+Z to press."<<endl;    istream_iterator<string> input(cin);    istream_iterator<string> end_of_stream;      copy(input,end_of_stream,inserter(strs,strs.begin()));    //sort    strs.sort();    //output    cout << "the sorted result is below." << endl;    copy(strs.begin(), strs.end(), ostream_iterator<string > (cout, "\n"));    return 0;} 
用gcc 3.2.3一编译, 没问题, 跑得很不错.
但在vc2008里面一跑, 傻了, 说cin 没有>>string这个方法.
查了一下, 原来cin>> string确实不是标准的做法.
看来gcc也..... 呵呵, 虽然我很喜欢他 :)
 
记录一下:
standards在线查看地址:
http://www.csci.csusb.edu/dick/c++std/#Drafts
http://www.csci.csusb.edu/dick/c++std/cd2/index.html
 
当然还可以google到pdf版本的,下面是一个可下载链接.
http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1905.pdf
 
记得C同学告诉过我, 这个标准的打印版要19$,
所以很显然, 这篇blog里面最有价值的东西也就是这个几个链接了. 其余的都是废话. :)
页: [1]
查看完整版本: gcc的cin & C++标准地址