1、C++里面如何声明const void f(void)函数为C程序中的库函数?
【参考答案】: 在该函数前添加extern “C”声明。由于编译后的名字不同,C++程序不能直接调用C 函数。
2、c++中类和c语言中struct的区别(至少两点)
【参考答案】:
(1) c++中的类默认的成员是私有的,struct默认的是共有的。
(2) c++中的类可以定义成员函数,struct只能定义成员变量。
3、变量的声明和定义有什么区别?
【参考答案】: 声明变量不分配空间,定义变量要分配空间。声明主要是告诉编译器,后面的引用都按声明的格式。定义其实包含了声明的意思,同时要分配内存空间。
4、memset ,memcpy 的区别
【参考答案】: memset用来对一段内存空间全部设置为某个字符,一般用在对定义的字符串进行初始化为’\0′。 memcpy用来做内存拷贝,你可以拿它拷贝任何数据类型的对象,可以指定拷贝的数据长度;
5、程序什么时候应该使用线程,什么时候单线程效率高。
【参考答案】:
1 耗时的操作使用线程,提高应用程序响应
2 并行操作时使用线程,如C/S架构的服务器端并发线程响应用户的请求。
3 多CPU系统中,使用线程提高CPU利用率
4 改善程序结构。一个既长又复杂的进程可以考虑分为多个线程,成为几个独立或半独立的运行部分,这样的程序会利于理解和修改。 其他情况都使用单线程。
6、介绍一下模板和容器。如何实现?(也许会让你当场举例实现)
【参考答案】: 模板可以说比较古老了,但是当前的泛型编程实质上就是模板编程。 它体现了一种通用和泛化的思想。 STL有7种主要容器:vector,list,deque,map,multimap,set,multiset.
7、以下为WindowsNT下的32位C++程序,请计算sizeof的值
8、C语言同意一些令人震惊的结构,下面的结构是合法的吗,如果是它做些什么?inta=5,b=7,c;c=a+++b;
【参考答案】: 这个问题将做为这个测验的一个愉快的结尾。不管你相不相信,上面的例子是完全合乎语法的。问题是编译器如何处理它?水平不高的编译作者实际