我要熟练的:string类的实现,I/O输入输出,文件读写的实现,异常处理,stl的使用,string对象的一些操作函数例如find().
1.几种数据类型?
整型 浮点型 void类型
2.整型有的哪几种形式?
整数,字符,布尔 3个合称为整型。
char -128~127 0-255
short 2字节范围:+-3万左右 无符号 0-6万左右
int 4字节的话:+-21亿左右 无符号 0-4亿左右 8位字节:2的7次幂;有符号哦。
3.一个进程内存分几大区域?
全局区域(bbs段),栈区,堆区,代码只读区,
4.操作符有哪几类分类?
算术操作符,关系操作符,逻辑操作符,位操作符,赋值操作符,自增自减,箭头,条件,sizeof,逗号。
5.变量代表一块存储区域。
6.什么是左值什么是右值?
变量是左值,字面量是右值。左值可以出现在=左右,但是右值只能出现在=右边,不可以被赋值。
7.变量2种初始化的方式:(即创建变量的同时赋予初值)
1.直接初始化 int a(100);
2.复制初始化 int a=100;
与赋值不同:赋值是擦除对象的当前值并且用新值代替。
8.什么是声明与定义?
声明是向程序声明已知变量和类型的名称。是在定义之后的。声明可以多次。
定义则是告诉编译器开辟一个空间,也是一种声明。定义有且只有一次。
9.有哪几种作用域?
1. 全局 2.类 3.语句 4.局部
10.有几种存储类型?
自动 ,静态,寄存器,外部
1.c 与c++的区别? c是面向过程,c++则是面向对象。 面向过程的编程是基于函数来分模块的,面向对象是基于类,命名空间来分模块的。
2.什么是匈牙利命名法? 是在变量名前加上前缀,来表示该变量的实际类型。
骆驼命名法:首字符大写。
变量命名规则:字母,数字,下划线,区分大小写。不能是关键字。
3.什么是输入输出I/O?
1.对标准键盘和显示器输入输出,叫标准I/O
2.对文件输入输出叫:文件I/O
3.对内存字符串输入输出称为:串I/O
4.常量指针,指针常量,数组指针,指针数组,函数指针,指针函数。
this指针指向当前对象地址。什么是:深拷贝,浅拷贝。
5.指针和引用的区别?
1.指针需解引用,引用不需要
2.指针可以改变且可以为空,而引用必须初始化,而且不能再被改变值。
3.指针需要分配内存空间存放,引用不会开辟新的内存空间。
6.面向对象3特点:
封装,继承,多态。3种访问方式:private,protected ,public,子类不能扩大范围,只能缩小范围。
多态:引用(指针)指向基类对象,然后实例出不同的子类对象。来通过虚函数达到多态效果。
7.拷贝构造函数的调用时机?
1.作为实参时候 2.作为返回值 3.一个对象作为另一个对象的初始化时(定义时)
8.类类型的隐士转换:
一个类有一个参数的构造函数,该类型是别的类型。则,作为参数的时候,就会有隐士转换发生。
静态函数没有this指针,只能访问静态变量。
9.这里的容器讲得不错,要重新看一遍啊。数据结构也要看看哦。
10.什么是容器?vector list deque set mulsiset map multimap(顺序容器,关联容器)
是容纳特定类型对象的集合,因此容器中的对象必须是同一类型,而且该类型必须是可拷贝构造和可赋值的。
顺序容器:以严格的线性形式组织在一起,可视为数组和链表的推广。
3种顺序容器:vector<T> deque<T> list<T>
关联容器:提供一个key键实现对元素的随机访问,其特点是key是有序的。能够从基于键的集合中快速提取对象的能力。
4种关联容器:set<Key> multiset<Key> map<Key,T> multimap<Key,T>
容器适配器:不提供迭代器。他不是独立的容器,而是某种容器的变种,提供了原有容器的一个专用的受限接口。
3种:stack<T> queue<T> priority_quequ<T>
vector在随机插入方面相对来说性能较低。
11.什么是迭代器?
迭代器是stl提供的对一个容器中的对象的访问方法,并且定义了容器中对象的范围。
迭代器已经有2个定义好滴,1.begin() 2.end()
12.什么是关联容器?2个基本滴:set map
set插入和删除要比vector快,但是查找和添加元素时会慢些。
set multiset例子:
set <int> strset; strset.insert(1); strset.insert(1); //往set中插入2条相同的数据,这是不允许的。
multiset<int> mset; mset.insert(1); mset.insert(1); //往set中插入2条相同的数据,这是可以滴。
13.什么是泛型编程?函数模版,类模版。
就是独立于任何特定类型实现的方式编写代码。需要用户提供具体类型和值。针对不同的类型提供通用的实现。