C++常见面试题 | Day5
16、左值和右值的概念?
C++中左值(lvalue)和右值(rvalue)概念是从C中 传承而来,左值指既能够出现在等号左边,也能吃现在等号右边的变量;右值则是只能出现在等号右边的变量。
int a; // a 为左值
a = 3; // 3 为右值
左值是可寻址变量,有持久性;右值一般是不可寻址的常量,或在表达式求职过程中创建的无名临时对象,短暂性的;
左值和右值主要区别之一是左值可以被修改,而右值不能。
17、指针常量和常量指针?
常量指针:指向常量的指针,不能通过指针修改所指对象的值,但是指针本身可以改变,可以指向另外的对象;const int* p = &a;
指针常量:指针类型的常量,这时的指针本身的值不能被修改,但可以通过指针修改其所指向变量的值;int* const p = &a.
18、单例模式和观察者模式?
单例模式:通过维护一个static的成员变量来记录唯一的对象实例,通过提供一个static的接口instance来获得唯一的实例,就是一个简单的类的实现;
观察者监听者模式:建立一个一对多的依赖关系,重要的是mvc模式,逆置了事件的发生和事件的处理,同样因为是一对多的关系,所以在这个设计的过程中,采用继承的方式,并且将基类声明为抽象类。
19、MVC 模式?
Model View Controller
20、如何保证代码的可靠性?
良好的的编程规范+版本管理+测试

浙公网安备 33010602011771号