1、指针和引用的区别
2、实时系统的基本特性:在特定时间内完成特定的任务,实时性与可靠性。
3、全局变量存储在静态数据区,局部变量在堆栈中。
4、堆栈溢出一般是由于没有回收垃圾资源导致的。
5、构造函数不可声明为虚函数,析构函数可以声明为纯虚函数。
6、IP地址的编码包含:网络号和主机码。
7、Switch( )的参数类型不可以是浮点型。
8、如何引用一个已经定义过的全局变量
9、对于一个频繁使用的短小函数,C语言是用宏定义来实现,C++是用inline来实现。
10、C++不是类型安全的,因为两个不同类型的指针之间可以强制转换(reinterpret cast)。
11、一个空类A,sizeof(A)的值是1。这就是实例化的原因(空类同样可以被实例化),每个实例在内存中都有一个独一无二的地址,为了达到这个目的,编译器往往会给一个空类隐含的加一个字节,这样空类在实例化后在内存得到了独一无二的地址,所以空类所占的内存大小是1个字节。
12、数组和指针的区别
13、C++函数中值的传递方式:值传递,指针传递,引用传递。
14、内存的分配方式
Extern “C”主要使用正规DLL函数的引用和导出 和 在C++包含C函数或C头文件时使用。使用时在前面加上extern “c” 关键字即可。可以用一句话概括extern “C”这个声明的真实目的:实现C++与C及其它语言的混合编程。
16、用什么函数开启新进程、线程
进程:CreateThread/AfxBeginThread等;
线程:CreateProcess等。
17、SendMessage和PostMessage有什么区别
SendMessage是阻塞的,等消息被处理后,代码才能走到SendMessage的下一行;
PostMessage是非阻塞的,不管消息是否已被处理,代码马上走到PostMessage的下一行。
18、CMemoryState主要功能是查看内存使用情况,解决内存泄露问题。
19、#include <>和#include “”的区别
#include <>,编译器从标准路径开始搜索;#include “”,编译器从用户工作路径开始搜索。
20、处理器标识#error的目的是什么?
编译时输出一条错误信息,并中止继续编译。
21、#ifndef XXX #define XXX #endif 的作用是防止该头文件被重复引用。
22、在定义一个宏时需要注意什么?
定义部分的每个形参和整个表达式都必须用括号括起来,以避免不可预料的错误发生。
23、数据在做函数实参的时候会转变成指针类型。
24、系统会自动打开和关闭的3个标准文件是:
25、strcpy()和memcpy()的区别?
Strcpy()和memcpy()都可以用来拷贝字符串,strcpy()拷贝以’\0’结束,但memcpy()必须指定拷贝的长度。
26、说明define和const在语法和含义上有什么不同?
27、字符常量和字符串常量的区别,并使用sizeof运算符计算有什么不同?
字符常量是指单个字符,字符串常量以’\0’结束,使用运算符sizeof计算出多占一字节的存储空间。
28、简述全局变量的优缺点
全局变量也称为外部变量,它是在函数外部定义的变量,它属于一个源程序文件,它保存上一次被修改后的值,便于数据共享,但不方便管理,易引起想不到的错误。
29、总结static的应用和作用?31、什么是指针?对指针怎么理解
指针是一个变量,该变量专门存放内存地址;
指针变量的类型取决于其指向的数据类型,在所指数据类型前加“*”;
指针变量的特点是它可以访问所指向的内存。
32、什么是常指针,什么是指向常变量的指针?
常指针的含义是指针所指向的地址不能变,但该地址所指向的内容可以变化,使用常指针可以保证我们的指针不能指向其它的变量;
指向常变量的指针是指该指针的变量本身的地址可以变量,可以指向其它的变量,但是它所指的内容不可以修改。、
33、函数指针和指针函数的区别?
函数指针是指一个函数入口的指针;
指针函数是函数的返回值是一个指针类型。
34、简述Debug和Release版本的额区别?
Debug版本是调试版本,Release版本是发布给用户的最终非调试的版本。
35、statid函数与普通函数的区别?
Statid函数在内存中只有一份,普通函数在每个被调用中维持一份拷贝。
36、struct和union的区别?37、简述枚举类型
枚举方便一定定义一组常量,使用起来很方便。
38、assert()的作用?assert()是一个调试程序时经常使用的宏,在程序运行时它计算括号内的表达式,如果表达式FALSE(0),程序将报错,并终止执行。如果表达式不为0,则继续执行后面的语句。这个宏通常原来判断程序中是否出现了明显非法的数据,如果出现了终止程序以免导致严重后果,同时也便于查找错误。
39、局部变量和全局变量是否可以同名
能。局部变量会屏蔽全局变量。要使用全局变量需要使用“::”(域运算符)。
40、程序的局部变量存放在堆栈中;全局变量存放在静态区中;动态申请数据存放在堆中。
41、什么时候使用常引用?
如果既要利用引用提高程序的效率,又要保护传递给函数的数据不在函数中被改变,就应使用常引用。
42、类的声明和实现的分开的好处?
起保护作用,提高编译的效率。
43、Windows消息系统由哪几部分构成?消息映射就是让程序员指定MFC类(有消息处理能力的类)处理某个消息。然后由程序员完成对该处理函数的编写以实现消息处理功能。
45、什么是UDP和TCP,区别是?
TCP全称为传输控制协议。这种协议可以提供面向连接的、可靠的、点到点的通信。
UDP全称为用户数据报协议,它可以提供非连接的不可靠的点到点的通信。用TCP还是UDP,那要看你的程序注重哪一个方面,可靠还是快速。
46、构造函数的调用顺序是什么?
47、extern ” C”的作用
extern "C"的主要作用就是为了能够正确实现C++代码调用其他C语言代码。加上extern "C"后,会指示编译器这部分代码按C语言的进行编译,而不是C++的。由于C++支持函数重载,因此编译器编译函数的过程中会将函数的参数类型也加到编译后的代码中,而不仅仅是函数名;而C语言并不支持函数重载,因此编译C语言代码的函数时不会带上函数的参数类型,一般之包括函数名。
49、C++11中引入的auto主要有两种用途:自动类型推断和返回值占位。
49、什么时候必须重写拷贝构造函数?
答:当构造函数涉及到动态存储分配空间时,要自己写拷贝构造函数,并且要深拷贝。