还是我们公司给新人培训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里面最有价值的东西也就是这个几个链接了. 其余的都是废话. :)
分享到:
相关推荐
- 常用的C/C++开发环境有Visual Studio、Code::Blocks、GCC(Gnu Compiler Collection)和Clang等。 - 编译器的选择应考虑平台兼容性、调试功能以及性能等因素。 总的来说,C语言以其简洁和高效著称,而C++则通过...
在Linux操作系统中,C++标准库(通常称为`libstdc++`)是开发者不可或缺的资源,它提供了C++编程语言中的许多核心功能,包括容器、算法、输入/输出流、异常处理等。`libstdc++`是GCC(GNU Compiler Collection)的一...
6. 输入输出流:说明C++中的iostream库,包括标准输入输出流对象(cin, cout, cerr等)的使用,格式化输入输出,以及文件读写操作。 7. 高级特性:包括模板编程,STL的高级用法,C++11及以上版本中引入的新特性(如...
- 使用 `gcc` 或者 `g++` 来编译 C++ 源代码。 - 示例命令:`g++ xx.cpp -lstdc++` - 简化命令:`g++ xx.cpp` (自动链接标准 C++ 库) **2、文件扩展名** - 常见的 C++ 文件扩展名包括 `.cpp`(推荐)、`.cc`、...
但是,在windows环境下使用gcc/g++编译器总会存在这样那样的问题,比如使用cin或者scanf输入中文,输出就变成了乱码等问题,本资源版本是由由WinLibs维护的开源版本winlibs-x86_64-posix-seh-gcc-12.2.0-llvm-15.0.7...
5. 输入/输出流(I/O Stream):C++的iostream库提供了处理输入输出的基本接口,如cin用于从标准输入设备读取数据,cout用于向标准输出设备输出数据。 6. 动态内存管理:C++允许程序员手动管理内存,包括使用new和...
cin用于从标准输入(通常是键盘)读取数据,cout用于向标准输出(通常是显示器)输出数据。 8. **异常处理**:C++通过try、catch和throw关键字提供异常处理机制,用于处理运行时错误。 9. **头文件和命名空间**:...
C++的I/O流库(iostream)包括cin和cout,用于从标准输入读取数据和向标准输出写入数据。更复杂的操作可以通过fstream类进行文件的读写。 9. **命名空间**: 命名空间(namespace)用于避免全局作用域中的名字...
C++提供了丰富的标准库,包括输入/输出流(iostream)库,用于处理标准输入(cin)和输出(cout);容器(如vector、list、set、map)库,用于存储和操作数据集合;算法库,提供排序、查找等通用算法。 在编写C++...
内容可能包括C++与其他编程语言的区别、C++标准的发展历程,以及如何安装和配置编译器,如GCC或Visual Studio。此外,还会讲解C++的基本数据类型(如int、char、float等)、变量的声明与初始化,以及基本的输入输出...
常用的C++编译器有GCC (GNU Compiler Collection)、Clang、Microsoft Visual C++等。 - **调试工具**: 使用调试工具可以帮助开发者查找和修复程序中的错误。常见的调试工具有GDB、Visual Studio Debugger等。 #### ...
10. **编译与调试**:学习如何使用编译器(如GCC或Clang)编译C++程序,并掌握调试工具(如GDB)的使用。 在学习这本书的过程中,学生应结合实际编程练习,加深对理论知识的理解,逐步提升编程技能。此外,第4版...
例如,iostream库用于处理输入输出,如cin和cout分别用于从标准输入和向标准输出打印;string类提供了对字符串的操作,如连接、查找、替换等;algorithm库则包含大量通用的算法,如排序、查找等。 在实际开发中,...
- iostream库用于输入/输出操作,如cin和cout用于标准输入和输出,fstream用于文件操作。 4. **模板和泛型编程** - 模板是C++中的一个重要特性,允许创建泛型函数和泛型类,提高代码的复用性。 - 特殊化模板可以...
8. **标准库函数**:C++标准库提供了许多辅助函数,如`std::sqrt`用于求平方根,可以增强计算器的功能。 9. **编译与链接**:C++程序需要经过编译(`.cpp`源文件转化为`.o`目标文件)和链接(将所有目标文件整合成...
在C++标准库中,并没有直接提供`int128`类型,但某些编译器如GCC和Clang提供了扩展类型`__int128_t`来支持128位整数。对于不支持`__int128_t`的编译器,程序员可以使用第三方库,如GMP(GNU Multiple Precision ...
- 提供最新的 C++ 标准库和语言规范。 **在线教程** - **LearnCpp**: [LearnCpp](https://www.learncpp.com/) - **Cplusplus.com 教程**: [Cplusplus.com](https://www.cplusplus.com/doc/tutorial/) - 提供了从...
2. **输入输出**:实验可能涵盖iostream库的使用,这是C++进行标准输入输出的主要工具。学生需要学会使用`std::cin`获取用户输入,`std::cout`打印输出,以及`<iomanip>`库中的格式控制。 3. **数组和指针**:C++中...
3. **输入/输出流(Input/Output Streams)**:在DOS环境下,程序通过标准输入(cin)获取用户输入,通过标准输出(cout)显示信息。在处理文件时,使用ifstream(输入文件流)和ofstream(输出文件流)。 4. **...
【标签】"dev-C++"进一步确认了我们关注的重点是这款特定的IDE,它基于GCC(GNU Compiler Collection),提供了编辑、编译、链接和运行C++程序的一站式解决方案。Dev-C++支持源代码编辑、错误检查、调试以及项目管理...