
C++经典面试题
CppWorker
这个作者很懒,什么都没留下…
展开
-
C++经典面试题(4)
4. C 语言的关键字 static 和 C++ 的关键字 static 有什么区别在C 中static 用来修饰局部静态变量和外部静态变量、函数。而 C++中除了上述功能外,还用来定义类的成员变量和函数。即静态成员和静态成员函数。 注意:编程时 static的记忆性,和全局性的特点可以让在不同时期调用的函数进行通信,传递信息,而 C++的静态成员则可以在多个对象实例原创 2014-01-16 14:02:06 · 580 阅读 · 0 评论 -
C++经典面试题(2)
2. 写出 bool 、int、 float、指针变量与“零值”比较的 if 语句 bool型数据: if( flag ) { A; } else { B;} int型数据: if( 0 != flag ) { A; } else { B;} 指针型数: if( NULL == flag ) { A;原创 2014-01-10 13:40:36 · 627 阅读 · 0 评论 -
C++经典面试题(3)
3. sizeof和strlen的区别sizeof和 strlen 有以下区别:①sizeof是一个操作符,strlen是库函数。②sizeof的参数可以是数据的类型,也可以是变量,而 strlen只能以结尾为‘\0‘的字符串作参数。③编译器在编译时就计算出了sizeof 的结果。而 strlen 函数必须在运行时才能计算出来。并且 sizeof计算的是数据类型占内原创 2014-01-13 09:04:17 · 476 阅读 · 0 评论 -
C++经典面试题(6)
6. 写一个“标准”宏MIN,这个宏输入两个参数并返回较小的一个#define min(a,b)((a)注意:在调用时一定要注意这个宏定义的副作用,如下调用: ((++*p)p指针就自加了两次,违背了 MIN的本意。原创 2014-01-16 14:09:32 · 624 阅读 · 0 评论 -
C++经典面试题(1)
1. 变量的定义和声明有什么区别? ①为变量分配地址和存储空间的称为定义,不分配地址的称为声明。②一个变量可以在多个地方声明,但是只能在一个地方定义。 int a;extern int a; 加入extern修饰的是变量的声明,说明此变量在文件以外或在文件后面部分定义。另外很多时候一个变量,只是声明不分配内存空间,直到具体使用时才初始化,分配内存空间,如外部变量。原创 2014-01-10 13:23:37 · 705 阅读 · 0 评论 -
C++经典面试题(5)
5. C 中的 malloc 和 C++ 中的 new 有什么区别 malloc和 new有以下不同:① new、delete 是操作符,可以重载,只能在 C++中使用。② malloc、free是函数,可以覆盖,C、C++中都可以使用。③ new 可以调用对象的构造函数,对应的 delete 调用相应的析构函数。④ malloc仅仅分配内存,free 仅仅回收原创 2014-01-16 14:07:27 · 564 阅读 · 0 评论