C++编程:从#include<iostream.h>到#include<iostream>的变迁与iostream库详解

4星 · 超过85%的资源 需积分: 50 124 下载量 58 浏览量 更新于2024-10-16 4 收藏 12KB TXT 举报
标题 "#include_iostream.h_" 提到了一个在旧版本C++中的头文件引用,即`#include<iostream.h>`,而在现代标准C++中,这一写法已被`#include<iostream>`所取代。`iostream`是输入输出流库的简称,包含了处理文本输入输出的函数和类,如`cin`(用于读取用户输入)和`cout`(用于输出数据)。这是C++编程中最基础且常用的库之一。 描述指出,`#include<iostream.h>`在新标准中已经不再推荐使用,因为它是对`iostream`库的非标准扩展。标准C++开发环境中应当使用`#include<iostream>`,以确保代码兼容性和可维护性。这个头文件包含了多种功能,包括文件流、输入流(如`ifstream`)、输出流(如`ofstream`)以及基本的`std::cin`和`std::cout`对象。 部分内容提到了内存管理函数,如`lmalloc()`和`free()`。`lmalloc()`用于动态分配内存,它接受一个整数参数`size`,表示需要的内存大小。函数遍历一个名为`coremap`的链表结构,查找是否有足够的空间满足分配需求。如果找到足够的空间,函数会调整`coremap`中的节点,将剩余空间分配出去,并返回新的内存地址。如果找不到足够的空间,函数会继续遍历,直到找到合适的或者遍历完整个链表,此时返回`NULL`表示分配失败。 `free()`函数用于释放先前由`lmalloc()`分配的内存,它接受一个`size`参数和指向内存地址的指针`addr`。函数首先检查`addr`是否在`coremap`的范围内,并且其与`coremap`地址的差值大于指定的`size`。如果是,则创建一个新的`struct map`结构来存储释放的内存,然后更新`coremap`中的链表。如果释放的是链表的起始地址,那么还需要处理链表的连接关系,以保持链表的完整性。 这段代码涉及了C++编程中的输入输出流管理和内存管理技术,展示了在旧版C++中可能遇到的一些编程习惯和函数用法,同时提醒开发者在新标准中应采用更加现代和推荐的库和编程实践。