1.简述堆和栈的区别。
2.简述虚函数的本质和实现机制。
3.列举C++中向函数传递参数的各种方式,并比较它们之间的区别和优缺点。
4.static关键字有几种用途?请简述每种用途。
5.简述引用和指针的异同。
6.简述函数重载(overloading)和覆盖(overriding)的区别。
7.什么是深拷贝?什么是浅拷贝?
8.请画出二维数组char a[4][3]的内存结构图,并指出a[3][2]和a[2][3]在内存中的位置。
9.简述包含和私有继承的异同。
1.用模板实现一个通用的栈,要求实现empty, size, push, pop, top五个成员函数,并用异常机制来报告错误(比如在一个大小为的栈上执行pop操作)。
标准库
11.用string类编写一个程序,它从标准输入接收一行输入,然后统计出其中单词的个数,单词的分隔符只有逗号、点号和空格三种。
12.简述STL的容器container、迭代器iterator、算法algorithm和函数器functor的作用以及它们之间的关系,举例说明。
13.下面的代码存在什么问题,如何修正?
list list1;
for (int i = ; i < 8; i ++) {
list1.push_back(i);
}
for (list::iterator it = list1.begin(); it != list1.end(); ++it) {
if (*it % 2 == ) {
list1.erase(it);
}
}
Win32
14.比较ANSI和Unicode的区别,并说明C Runtime Library和Win32 API如何支持二者。
15.简述线程同步的四种机制。
16.简述虚拟内存机制,并描述在win95和winnt下内存空间的结构。
17.简述DLL的实现机制以及输出DLL中函数的两种方法。
网络
18.简述TCP和UDP之间的区别。
19.简述Winsock的六种主要IO处理模式。
2.描述一个你以前实现过的服务器的结构图,并分析其中可能存在的瓶颈。