关于《生活在真空中的程序员》中的面试题目的几点疑问?
前两天在CSDN里看到这篇文章
http://blog.csdn.net/absurd/archive/2006/06/06/776682.aspx
里面有几点疑问,望指教!
1. 你对DOC/VIEW模型是如何理解的?
重新翻了下 深入浅出MFC 里讲DOC/VIEW那一章,基本上理解了MFC实现它的方式(通过CDocTemplate把Frame View Document关联起来,当然还有种关联方式用CCreateContext)但对其在实际项目中的用途有点模糊,请谈一下大家在项目开发过程中怎么去把MVC这模型结合到自己项目中来的!以及它具体的应用情况! 在我的理解看来,DOC这一东东就仅仅是在Serialize上(通过CArchive类实现)还有些什么关键性的用途吗? 感觉这东东有点模糊,请详解,谢谢
2 大多数应用程序都只需要一种形式去表现,为什么还是要采用DOC/VIEW模型呢?
3. 一般提倡把用户界面和内部实现分离,你知道有几种方式可以把用户界面和内部实现分离吗?
除了这种还有些什么?
4. 用new分配的指针,你可以判断指针是否为空吗?
不太明白这意思
char* value = "Stefanie924";
char * data ;
data = new char( strlen(value) +1 );
if( data != NULL)
{
strcpy( data, value );
}
cout<< data <<endl;
这样算判断吗?
5. Copy constructor function与Assginment的差别?
拷贝构造是对未建立的对象,而Assginment是对已存在的对象(先delete原有对象所有的资源,然后再copy constructor ),
如CString str = new CString("Test");
CStirng strTest = str; //此处为copy sonstructor而非assginment
理解没错吧,还有些什么差别,请赐教