学习C++Primer心得

学习C++Primer心得

ID:39639082

大小:52.00 KB

页数:7页

时间:2019-07-08

学习C++Primer心得_第1页
学习C++Primer心得_第2页
学习C++Primer心得_第3页
学习C++Primer心得_第4页
学习C++Primer心得_第5页
资源描述:

《学习C++Primer心得》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、学习C++Primer心得和一些问题1、在VC的MFC程序中能否使用cout输出?答:不能。必须使用CDC来进行输出。 2、C++中子类的构造函数是否会自动调用基类构造函数?答:会。如果在子类的构造函数中不显式指定调用基类构造函数,则将自动调用基类缺省构造函数,所以基类一定要有缺省构造函数。如果子类的构造函数除了调用基类构造函数以外什么都不做,不能不写,必须写一个空函数。 3、子类对象的初始化过程是怎样的?答:先调用基类构造函数来初始化相关的基类子对象,然后再执行子类(派生类)的构造函数。 4、名字空间的使用有哪些方式?答:大概有三种方式:l   

2、      使用名字空间别名加上名称限制修饰符namespace LIB = IBM_Canada_Laboratory;LIB::Array ia(1024);l         using指示符,使名字空间内的所有声明可见using namespace IBM_Canada_Laboratory;l         using声明,使名字空间中的单个声明可见using IBM_Canada_Laboratory::Matrix;using指示符和using声明的本质是不同的。 5、如何声明一个对象已经在文件外被定义?答:使用exter

3、n来声明。可以在多个地方多次声明同一个对象,但是一个对象只能被定义一次,而且多个声明必须明确无误的指向这个定义实体。声明不分配内存,定义分配内存。 6、类的缺省构造函数会为类的数据成员初始化吗?答:不会。只会分配内存,不会初始化。必须在缺省构造函数中显式进行初始化。 7、下面的对象初始化是调用赋值操作符吗?BaseClass base1; BaseClass base2 = base1;答:不是。是调用拷贝构造函数。 8、类中的常量数据成员应该在哪里被初始化?答:应该在类的成员初始化列表中初始化。 9、typedef引入了新的类型吗?答:没有。它仅

4、仅是用来为内置或用户定义的数据类型引入助记符号。 10、空指针解引用会出错吗?答:会。对指针解引用之前一定要先确定其不为零。 11、算术异常会抛出实际异常吗?答:算术异常是指计算过程中出现不正确或未定义的值,如除以0或溢出。但是不会导致抛出实际的异常。 12、size_t是什么类型?答:这是用typedef引入的类型助记符,代替unsigned int。 13、用sizeof可以获得一个数组的长度,为什么在传递数组给函数时还要带上长度参数?答:用sizeof是可以获取一个数组的长度,如int a[10]; int len = sizeof(a)/s

5、izeof(int);。但是,在用数组作为参数传递给函数时,数组变为了指针,所以在函数内部不能获取数组长度。 14、算术转换的指导原则是什么?答:有两个通用原则:一、类型总是被提升为较宽的类型;二、所有含有小于整型的有序类型,在计算之前,其类型都会被转换成整型。 15、都有哪些显式强制转换操作符?它们的功能是什么?答:有static_cast、const_cast、dynamic_cast和reinterpret_cast。static_cast可用来执行任何编译器可隐式执行的任何类型转换。const_cast用来将常量对象或指针转换为非常量对象或

6、指针。reinterpret_cast通常对于操作数的位模式执行一个比较低层次的重新解释,相当于旧式的指针强制转换。dynamic_cast支持在运行时刻识别由指针或引用指向的类对象。 16、对于类对象的定义为什么最好在用之前才定义,而不要在一开始就定义?答:对于内置类型,它的定义只是分配内存,不会做更多的处理。而对于类对象,它的定义除了分配内存外,还要调用构造函数。因此,如果在函数或语句块一开始就定义类对象,必然会导致构造函数的调用,而这些调用的开销可能是不必要的。这使得程序的效率下降。因此,最好是当真正要用的时候才去定义比较好。 17、容器类型

7、的容量与长度的区别?答:容量只与连续存储的容器类相关,如vector、deque或string,而对于非连续存储的容器类,如list,则没有容量的概念。它是指在容器下一次需要增长自己之前能够被加入到容器中的元素的总数,可调用capacity()操作来获得。长度是指容器当前拥有元素的个数,可调用size()操作来获得。容量的增长方式是与具体实现有关的。 18、迭代器的基本概念是什么?答:迭代器提供了一种一般化的方法,对顺序或关联容器类型中的每个元素进行连续访问。 19、什么时候函数应该采用引用参数?答:一、希望改变实参的值,又不想用指针操作;二、希望

8、返回更多的值;三、实参为大型类对象,按值传递效率低。 20、函数参数表中的省略号是什么意思?答:省略号告诉编译器不用对这个

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。