博文

C++标准库简介(转)(2009-04-02 16:23:00)

摘要:C++标准库的所有头文件都没有扩展名。C++标准库的内容总共在50个标准头文件中定义,其中18个提供了C库的功能。 <cname>形式的标准头文件【 <complex>例外】其内容与ISO标准C包含的name.h头文件相同,但容纳了C++扩展的功能。在 <cname>形式标准的头文件中,与宏相关的名称在全局作用域中定义,其他名称在std命名空间中声明。在C++中还可以使用name.h形式的标准C库头文件名。C++标准库的内容分为10类:C1.语言支持 C2.输入/输出 C3.诊断 C4.一般工具 C5.字符串C6.容器 C7.迭代器支持 C8.算法 C9.数值操作 C10.本地化C1 标准库中与语言支持功能相关的头文件 头文件  描述 <cstddef> 定义宏NULL和offsetof,以及其他标准类型size_t和ptrdiff_t。与对应的标准C头文件的区别是,NULL是C++空指针常量的补充定义,宏offsetof接受结构或者联合类型参数,只要他们没有成员指针类型的非静态成员即可。<limits> 提供与基本数据类型相关的定义。例如,对于每个数值数据类型,它定义了可以表示出来的最大值和最小值以及二进制数字的位数。<climits> 提供与基本整数数据类型相关的C样式定义。这些信息的C++样式定义在 <limits>中<cfloat> 提供与基本浮点型数据类型相关的C样式定义。这些信息的C++样式定义在 <limits>中<cstdlib> 提供支持程序启动和终止的宏和函数。这个头文件还声明了许多其他杂项函数,例如搜索和排序函数,从字符串转换为数值等函数。它与对应的标准C头文件stdlib.h不同,定义了abort(void)。abort()函数还有额外的功能,它不为静态或自动对象调用析构函数,也不调用传给atexit()函数的函数。它还定义了exit()函数的额外功能,可以释放静态对象,以注册的逆序调用用atexit()注册的函数。清除并关闭所有打开的C流,把控制权返回给主机环境。<new> 支持动态内存分配<typeinfo> 支持变量在运行期间的类型标识<exception> 支持......

阅读全文(3253) | 评论:1

c++中的getline()(2009-03-29 14:37:00)

摘要:在C++中,当调用getline()函数时,在vc++6.0下运行时,需转行两次。且在某些情况下,会发生错误。 例如: //C++ #include <iostream>#include <fstream>#include <string> using namespace std; int main(){ ofstream outFile; string state = ""; string capital = "";  outFile.open("date.txt");  if(!outFile.is_open()) {  outFile.open("date.txt"); }  cout << "The state: "; getline(cin, state);  while(state != "x" && state != "X") {  cout << "The capital: ";  getline(cin, capital);   outFile << state << '#' << capital << endl;   cout << "The state: ";  getline(cin, state); }  return 0;} 当键入:Oregon, Salem, New Jersey, Trenton, x 结果为:Oregon#                Salem#New Jersey               Trenton#x 结果......

阅读全文(2011) | 评论:0