随笔分类 -  C++

摘要:继承和动态绑定在两方面影响我们的程序: 他们让定义与其他类相似但不一样的类更加容易。 让我们在写相似类时,忽略细枝末节,让我们编程更加轻松。 C+11新标准允许派生类显式地注明它将使用哪个成员函数改写基类的虚函数,具体措施是在该函数的形参列表之后增加一个override关键字 动态绑定指我们在程序运 阅读全文
posted @ 2019-02-09 17:21 Hk_Mayfly 阅读(180) 评论(0) 推荐(0)
摘要:一个转换运算符是一种特殊的成员函数 转换一个类类型值到其他类型 一个转换构造函数必须是成员函数,并且不可能有特殊的返回值,必须有一个空参列表。这个函数通常是const #include <iostream> using namespace std; class A { public: A(int m 阅读全文
posted @ 2018-12-18 01:01 Hk_Mayfly 阅读(156) 评论(0) 推荐(0)
摘要:类中重载调用操作符,允许使用对象就好像函数一样。 #include <iostream> using namespace std; class A { public: int operator()(int k) { (k > 0) || (k = -k);//前者能判断整体真,后者不再执行,不能就继 阅读全文
posted @ 2018-12-17 21:54 Hk_Mayfly 阅读(414) 评论(0) 推荐(0)
该文被密码保护。
posted @ 2018-12-16 22:28 Hk_Mayfly 阅读(3) 评论(0) 推荐(0)
该文被密码保护。
posted @ 2018-12-16 21:51 Hk_Mayfly 阅读(0) 评论(0) 推荐(0)
该文被密码保护。
posted @ 2018-12-16 21:00 Hk_Mayfly 阅读(2) 评论(0) 推荐(0)
该文被密码保护。
posted @ 2018-12-16 16:49 Hk_Mayfly 阅读(1) 评论(0) 推荐(0)
该文被密码保护。
posted @ 2018-12-15 21:07 Hk_Mayfly 阅读(2) 评论(0) 推荐(0)
该文被密码保护。
posted @ 2018-12-15 20:58 Hk_Mayfly 阅读(3) 评论(0) 推荐(0)
摘要:operator(), 一个重载操作可能没有默认参数 当一个重载函数是成员函数时,this被绑定到左边操作对象。 一个操作函数要么的类的成员,要么至少有一个类类型 int operator+(int, int);//不能重新定义内置类型为int 一个重载操作符和对应的内置类型操作有相同的优先级哥结合 阅读全文
posted @ 2018-12-14 10:16 Hk_Mayfly 阅读(201) 评论(0) 推荐(0)
摘要:使用move的优势: 在一些情况当中,当对象被拷贝后,一个对象立刻被销毁,在这种隐患当中,移动而不是拷贝,对象能够提供一个重大的可执行力增加。 像IO或者unique_ptr类,这些类有资源(像一个指针或者IO缓存)可能不能被分享。因此这种对象不能被拷贝,但是可以移动。 库容器,string,和sh 阅读全文
posted @ 2018-12-03 01:25 Hk_Mayfly 阅读(325) 评论(0) 推荐(0)
该文被密码保护。
posted @ 2018-12-02 16:34 Hk_Mayfly 阅读(1) 评论(0) 推荐(0)
该文被密码保护。
posted @ 2018-12-02 16:19 Hk_Mayfly 阅读(1) 评论(0) 推荐(0)
该文被密码保护。
posted @ 2018-12-02 16:08 Hk_Mayfly 阅读(1) 评论(0) 推荐(0)
该文被密码保护。
posted @ 2018-12-02 15:52 Hk_Mayfly 阅读(2) 评论(0) 推荐(0)
摘要:13.1.1 拷贝构造 复制和移动构造定义一个对象在被另一个相同类型对象初始化时发生什么。 复制赋值操作符和移动赋值操作符定义一个类的一个对象赋值给同一一个类的另一个对象发生了什么。 在类当中,类类型的成员,通过拷贝构造复制,而内置类型(char, int...)的成员直接被复制 //direct 阅读全文
posted @ 2018-12-02 14:40 Hk_Mayfly 阅读(199) 评论(0) 推荐(0)
摘要:很重要的要记住动态数组没有数组类型 初始化数组列表时,当array.size() < allocate array size 时,剩余部分被初始化为null;反之,fail 当我们使用new去分配一个大小为0的数组时,new返回一个有效的,非零的指针 在数组中的元素被倒序摧毁 当我们使用unique 阅读全文
posted @ 2018-11-24 18:42 Hk_Mayfly 阅读(344) 评论(0) 推荐(0)
摘要:全局对象在程序开始时分配·,在程序结束时摧毁。 局部和自动对象被创建和摧毁,在进入和退出定义他们的块时。 局部静态对象在第一使用前分配,在程序结束时摧毁。 智能指针保证被指向对象在合适时自动被释放。 新的库函数中定义了两种智能指针:shared_ptr和unique_ptr 前者允许多个指针指向相同 阅读全文
posted @ 2018-11-23 22:00 Hk_Mayfly 阅读(327) 评论(0) 推荐(0)
摘要:对于vector这样的顺序容器,元素在其中按照顺序存储,每个元素有唯一对应的位置编号,所有操作都是按编号(位置)进行的。例如,获取元素(头,尾,用下标获取任意位置),插入删除元素(头,尾,任意位置),遍历元素(按元素位置顺序逐一访问)。底层的数据结构是数组,链表,简单但已能保证上述操作的高效。而对于 阅读全文
posted @ 2018-11-17 13:41 Hk_Mayfly 阅读(2829) 评论(0) 推荐(0)
该文被密码保护。
posted @ 2018-11-17 11:58 Hk_Mayfly 阅读(5) 评论(0) 推荐(0)