C语言的结构体和C++的有什么区别
c的结构体是不能有成员函数的,c++的类可以有
C语言的的结构体中没有private、public、protected限制访问。而c++类的成员有这些限制
c++的类可以继承,c不可以。
右值引用有什么作用?
为了实现转移语义和完美转发,消除两个对象交互时不必要的对象拷贝、更加明确的定义泛型函数。
static关键字作用?
一,修饰局部变量时,让该变量在静态存储区分配内存;其作用域为局部作用域,不能一直被访问;只在首次函数调用时首次进行初始化,而后再调用它无需初始化了
二,修饰全局变量时,同样使该变量在静态存储区分配内存;但在声明该变量的整个文件中可见,文件外不可见
三,修饰成员函数时,该函数不接受this指针,只能访问类的静态成员;不需要实例化对象就能访问
四,修饰成员变量时,所有对象都只维持一份拷贝,可以实现不同对象间的数据共享;不需要实例化对象就能访问;不能在类内部初始化,一般在类外初始化,并且初始化时不加static
纯虚函数有什么用,怎么实现?
定义纯虚函数是为了实现一个借口,起到规范作用,要继承这个类就必须覆盖该函数。其实现方式是:在虚函数声明的结尾加上 =0 即可。
c++的STL是什么
一,算法——排序、复制等算法,以及不同容器内特定算法
二,容器——数据的存放形式。有序列式容器和关联式容器。序列式容器是——list,vector等.关联式容器是set,map等
三,迭代器 ——不暴露容器内部结构的情况下对容器的遍历