易截截图软件、单文件、免安装、纯绿色、仅160KB

C/C++面试题

1.介绍一下STL,详细说明STL如何实现vector.
    Answer:
    STL (标准模版库,Standard Template Library.它由容器算法迭代器组成。
    STL有以下的一些优点:可以方便容易地实现搜索数据或对数据排序等一系列的算法;调试程序时更加安全 和方便;即使是人们用STL在UNIX平台下写的代码你也可以很容易地理解(因为STL是跨平台的)。
    vector实质上就是一个动态数组,会根据数据的增加,动态的增加数组空间。
2.如果用VC开发程序,常见这么几个错误,C2001,c2005,c2011,这些错误的原因是什么。
    Answer:
    在学习VC++ 的过程中,遇到的LNK2001错误的错误消息主要为:unresolved external symbol “symbol”(不确定的外部“符号”)。
    如果连接程序不能在所有的库和目标文件内找到所引用的函数、变量或标签,将产生此错误消息。
    一般来说,发生错误的原因有两个:一是所引用的函数、变量不存在、拼写不正确或者使用错误;其次可能使用了不同版本的连接库。
    编程中经常能遇到LNK2005错误——重复定义错误,其实LNK2005错误并不是一个很难解决的错误。
3.继承和委派有什么分别,在决定使用继承或者委派的时候需要考虑什么。
    在OOD,OOP中,组合优于继承。
    当然多态的基础是继承,没有继承多态无从谈起。
    当对象的类型不影响类中函数的行为时,就要使用模板来生成这样一组类。
    当对象的类型影响类中函数的行为时,就要使用继承来得到这样一组类。
4.指针和引用有什么分别;如果传引用比传指针安全 ,为什么?如果我使用常量指针难道不行吗?
    (1) 引用在创建的同时必须初始化,即引用到一个有效的对象;而指针在定义的时候不必初始化,可以在定义后面的任何地方重新赋值。
    (2) 不存在NULL引用,引用必须与合法的存储 单元关联;而指针则可以是NULL.(3) 引用一旦被初始化为指向一个对象,它就不能被改变为另一个对象的引用;而指针在任何时候都可以改变为指向另一个对象。给引用赋值并不是改变它和原始对象的绑定关系。
    (4) 引用的创建和销毁并不会调用类的拷贝构造函数(5


相关文档:

VS2005中检测和更正 C/C++ 代码缺陷


VS2005中检测和更正 C/C++ 代码缺陷
2006-11-26 15:55
VS2005中提供的检测方法:
1 IDE(集成开发环境)集成
2 #pragma 支持
3 批注支持
4 作为签入策略的一部分运行分析工具
5 Team System 与 Team Build 的集成
6 命令行支持
一 代码分析工具用于检测常见的编码错误,例如缓冲区溢出、内存未初始化、空指针 ......

C和指针学习笔记(1)

       1、 经常看见return EXIT_SUCCESS或return EXIT_FAILURE,但都不知这两个来自何处,现在才知原来stdlib.h定义了EXIT_SUCCESS和EXIT_FAILURE符号。
在stdlib.h头文件里:
#define EXIT_SUCCESS    0
#define EXIT_FAILURE    1
    & ......

C/C++中指针和引用之相关问题研究

 一、基本知识
指针和引用的声明方式:
声明指针:char* pc;
声明引用:char& rc = 0;
 
它们的区别:
①从现象上看,指针在运行时可以改变其所指向的值,而引用一旦和某个对象绑定后就不再改变。这句话可以理解为:指针可以被重新赋值以指向另一个不同的对象。但是引用则总是指向在初始化时被指定的对 ......

关于C中结构体的大小问题(sizeof)

作者:
曾宏安,华清远见嵌入式学院
高级讲师。
运算符sizeof可以计算出给定类型的大小,对于32位系统来说,sizeof(char) = 1; sizeof(int) = 4。基本数据类型的大小很好计算,我们来看一下如何计算构造数据类型的大小。
C语言中的构造数据类型有三种:数组、结构体和共用体。
数组是相同类型的元素的集合,只要会计算 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号