随笔分类 -  C/C++

摘要:今天读《More Effective C++》时遇到一个条款:绝对不要以多态方式处理数组。以前自己也没有注意过,觉得有必要记录下来。C++是允许通过base class的指针或引用来操作derived class所形成的数组的。但发生的事情可能会令你感到意外。下面举例说明:基类和派生类是这样的:cl... 阅读全文
posted @ 2015-06-03 14:21 QingLiXueShi 阅读(1489) 评论(0) 推荐(6) 编辑
摘要:下面有3个小问题,作为C++ Beginner你一定要知道错在哪里了。1、派生类到基类的引用或指针转换一定“完美”存在?一般情况,你很可能会认为:派生类对象的引用或指针转换为基类对象的引用或指针是一件很正常的事。那要是不一般情况呢?请看下面这个例子:class Person{public: P... 阅读全文
posted @ 2015-04-29 22:17 QingLiXueShi 阅读(947) 评论(1) 推荐(2) 编辑
摘要:说明:我认为要读懂STL中allocator部分的源码,并汲取它的思想,至少以下几点知识你要了解:operator new和operator delete、handler函数以及一点模板知识。否则,下面你很可能看不大明白,补充点知识再学习STL源码比较好。下面会结合关键源码分析C++STL(SGI版... 阅读全文
posted @ 2015-04-28 15:57 QingLiXueShi 阅读(1888) 评论(2) 推荐(4) 编辑
摘要:下面3个小问题都是我认为C++ Beginner应该能够解答或辨别清楚的。希望我们能通过题目挖掘更多的信息,而不仅仅局限在解题。我最喜欢说的话:能力有限,所以作为抛砖引玉,希望共同讨论,指出错误。另外,我都是碰到一个觉得有必要记录的问题,就写下来说说,所以每一篇内容可能不是单一主题。1、先来看一道简... 阅读全文
posted @ 2015-04-27 12:28 QingLiXueShi 阅读(1266) 评论(7) 推荐(3) 编辑
摘要:章节回顾:《Effective C++》第1章 让自己习惯C++-读书笔记《Effective C++》第2章 构造/析构/赋值运算(1)-读书笔记《Effective C++》第2章 构造/析构/赋值运算(2)-读书笔记《Effective C++》第3章 资源管理(1)-读书笔记《Effecti... 阅读全文
posted @ 2015-04-26 12:16 QingLiXueShi 阅读(739) 评论(0) 推荐(0) 编辑
摘要:章节回顾:《Effective C++》第1章 让自己习惯C++-读书笔记《Effective C++》第2章 构造/析构/赋值运算(1)-读书笔记《Effective C++》第2章 构造/析构/赋值运算(2)-读书笔记《Effective C++》第3章 资源管理(1)-读书笔记《Effecti... 阅读全文
posted @ 2015-04-25 21:32 QingLiXueShi 阅读(725) 评论(0) 推荐(1) 编辑
摘要:章节回顾:《Effective C++》第1章 让自己习惯C++-读书笔记《Effective C++》第2章 构造/析构/赋值运算(1)-读书笔记《Effective C++》第2章 构造/析构/赋值运算(2)-读书笔记《Effective C++》第3章 资源管理(1)-读书笔记《Effecti... 阅读全文
posted @ 2015-04-24 10:00 QingLiXueShi 阅读(874) 评论(0) 推荐(2) 编辑
摘要:章节回顾:《Effective C++》第1章 让自己习惯C++-读书笔记《Effective C++》第2章 构造/析构/赋值运算(1)-读书笔记《Effective C++》第2章 构造/析构/赋值运算(2)-读书笔记《Effective C++》第3章 资源管理(1)-读书笔记《Effecti... 阅读全文
posted @ 2015-04-23 13:08 QingLiXueShi 阅读(954) 评论(0) 推荐(2) 编辑
摘要:章节回顾:《Effective C++》第1章 让自己习惯C++-读书笔记《Effective C++》第2章 构造/析构/赋值运算(1)-读书笔记《Effective C++》第2章 构造/析构/赋值运算(2)-读书笔记《Effective C++》第3章 资源管理(1)-读书笔记《Effecti... 阅读全文
posted @ 2015-04-22 12:49 QingLiXueShi 阅读(850) 评论(0) 推荐(2) 编辑
摘要:章节回顾:《Effective C++》第1章 让自己习惯C++-读书笔记《Effective C++》第2章 构造/析构/赋值运算(1)-读书笔记《Effective C++》第2章 构造/析构/赋值运算(2)-读书笔记《Effective C++》第3章 资源管理(1)-读书笔记《Effecti... 阅读全文
posted @ 2015-04-21 11:57 QingLiXueShi 阅读(790) 评论(0) 推荐(1) 编辑
摘要:章节回顾:《Effective C++》第1章 让自己习惯C++-读书笔记《Effective C++》第2章 构造/析构/赋值运算(1)-读书笔记《Effective C++》第2章 构造/析构/赋值运算(2)-读书笔记《Effective C++》第3章 资源管理(1)-读书笔记《Effecti... 阅读全文
posted @ 2015-04-20 12:58 QingLiXueShi 阅读(1007) 评论(1) 推荐(1) 编辑
摘要:章节回顾:《Effective C++》第1章 让自己习惯C++-读书笔记《Effective C++》第2章 构造/析构/赋值运算(1)-读书笔记《Effective C++》第2章 构造/析构/赋值运算(2)-读书笔记《Effective C++》第3章 资源管理(1)-读书笔记《Effecti... 阅读全文
posted @ 2015-04-18 09:10 QingLiXueShi 阅读(1020) 评论(0) 推荐(0) 编辑
摘要:章节回顾:《Effective C++》第1章 让自己习惯C++-读书笔记《Effective C++》第2章 构造/析构/赋值运算(1)-读书笔记《Effective C++》第2章 构造/析构/赋值运算(2)-读书笔记《Effective C++》第3章 资源管理(1)-读书笔记《Effecti... 阅读全文
posted @ 2015-04-16 09:26 QingLiXueShi 阅读(1934) 评论(2) 推荐(3) 编辑
摘要:在C++中,我们基本用new(delete)操作符分配(释放)内存。new操作符为特定类型分配内存,并在新分配的内存中构造该类型的一个对象。new表达式自动运行合适的构造函数来初始化每个动态分配的类类型对象。即new表达式既分配了内存同时也构造了对象。然而,我们一定会遇到这样的情况:预先分配用于创建... 阅读全文
posted @ 2015-04-09 12:30 QingLiXueShi 阅读(1698) 评论(1) 推荐(1) 编辑
摘要:尽管大多数应用程序都使用单个基类的公用继承,但有些时候单继承是不够用的,因为可能无法为问题域建模或对模型带来不必要的复杂性。在这种情况下,多重继承可以更直接地为应用程序建模。一、基本概念多重继承是从多于一个直接基类派生类的能力,多重继承的派生类继承其父类的属性。class ZooAnimal{};c... 阅读全文
posted @ 2015-03-29 15:00 QingLiXueShi 阅读(12992) 评论(3) 推荐(2) 编辑
摘要:一、赋值操作符类定义了该类型对象赋值时会发生什么。与拷贝构造函数一样,如果类没有定义自己的赋值操作符,编译器会合成一个。1、重载操作符的简单介绍重载操作符是一些函数,其名字为operator后跟着所定义的操作符的符号,通过定义名为operator=的函数,我们可以对赋值进行定义。操作符函数的形参表必... 阅读全文
posted @ 2015-02-21 22:15 QingLiXueShi 阅读(1129) 评论(0) 推荐(0) 编辑
摘要:构造函数的工作是保证每个对象的数据成员具有合适的初始值。一、构造函数的定义(1)构造函数可以被重载。可以为一个类声明的构造函数的数量没有限制,只要每个构造函数的形参表是唯一的。(2)实参决定使用哪个构造函数。(3)构造函数自动执行。只要创建该类型的一个对象,编译器就运行一个构造函数。(4)构造函数不... 阅读全文
posted @ 2015-02-14 23:03 QingLiXueShi 阅读(4829) 评论(0) 推荐(0) 编辑
摘要:一、拷贝构造函数是一种特殊构造函数,具有单个形参,该形参(常用const修饰)是对该类类型的引用。与默认构造函数一样 ,拷贝构造函数可由编译器隐式调用。拷贝构造函数应用的场合为:(1)根据另一个同类型的对象显式或隐式初始化一个对象。(2)复制一个对象将它作为实参传给一个函数。(3)从函数返回时复制一... 阅读全文
posted @ 2015-01-23 08:04 QingLiXueShi 阅读(1999) 评论(0) 推荐(0) 编辑
摘要:C++可以定义如何将其他类型的对象隐式转换为我们的类类型或将我们的类类型的对象隐式转换为其他类型。为了定义到类类型的隐式转换,需要定义合适的构造函数。说明:可以用单个实参来调用的构造函数定义了从形参类型到该类类型的一个隐式转换。class Sales_item{public: Sales_it... 阅读全文
posted @ 2015-01-22 20:21 QingLiXueShi 阅读(2640) 评论(0) 推荐(1) 编辑

点击右上角即可分享
微信分享提示