摘要: 许多 C++ 程序在有标准类之前就已经存在了,因此既没有使用标准库类型 string 也没有使用 vector。而且,许多 C++ 程序为了兼容现存的 C 程序,也不能使用 C++ 标准库。因此,现代的 C++ 程序经常必须兼容使用数组和/或 C 风格字符串的代码,标准库提供了兼容处理。毫无疑问,当然可以用字符串字面值来初始化 string 类对象: string st3("Hello World"); // st3 holds Hello World通常,由于 C 风格字符串与字符串字面值具有相同的数据类型,而且都是以空字符 null 结束,因此可以把 C 风格字符串用在 阅读全文
posted @ 2013-03-20 16:23 HandsomeDragon 阅读(191) 评论(0) 推荐(0)
摘要: 引言数组类型的变量有三个重要的限制: 1)数组长度固定不变; 2)在编译时必须知道其长度; 3)数组只在定义它的块语句内存在。实际的程序往往不能忍受这样的限制——它们需要在运行时动态地分配数组。虽然数组长度是固定的,但动态分配的数组不必在编译时知道其长度,可以(通常也是)在运行时才确定数组长度。与数组变量不同,动态分配的数组将一直存在,直到程序显式释放它为止。每一个程序在执行时都占用一块可用的内存空间,用于存放动态分配的对象,此内存空间称为程序的自由存储区(free store)或堆(heap)。C 语言程序使用一对标准库函数 malloc 和 free 在自由存储区中分配存储空间,而 C++ 阅读全文
posted @ 2013-03-20 11:06 HandsomeDragon 阅读(875) 评论(0) 推荐(0)