2019年5月15日

Effective C++学习笔记(六)

摘要: 继承与面向对象设计 条款三十二 确定你的public继承是一个is a的关系 + public继承,是一个is a的关系。因为基类身上的每一件事情一定也适用于继承类身上,因为每一个继承类对象也是一个基类对象。 条款三十三 避免遮掩继承而来的名称 + 名字是什么?一朵玫瑰叫任何名字还是一样芬芳。 + 阅读全文

posted @ 2019-05-15 15:34 陶大先生 阅读(226) 评论(0) 推荐(0) 编辑

Effective C++学习笔记(七)

摘要: 模板与泛型编程 条款四十一 了解隐式接口和编译期多态 + class和template都支持接口(interface)和多态 (polymorphism) + 对template参数而言,接口是隐式的(implicit),基于有效表达式。多态则是通过template具体化和函数重载解析发生于编译期 阅读全文

posted @ 2019-05-15 15:34 陶大先生 阅读(193) 评论(0) 推荐(0) 编辑

Effective C++学习笔记(五)

摘要: 实现 条款二十六 尽可能延后变量定义式的出现时间 条款二十七 尽量少作转型动作 + 尽量避免转型,特别是在注重效率的代码中避免dynamic_casts. + 如果转型是必要的,试着将它隐藏于某个函数背后。客户随后可以调用该函数,而不需将转型放进他们自己的代码内 + 宁可使用C++style转型,不 阅读全文

posted @ 2019-05-15 15:33 陶大先生 阅读(287) 评论(0) 推荐(0) 编辑

Effective C++学习笔记(四)

摘要: 设计与声明 条款十八 让接口容易被正确使用,不易被误用 + 好的接口很容易被正确使用,不容易被误用。 + 促进正确使用:接口的一致性,内置类型的行为兼容。 + 阻止误用:建立新类型、限制类型上的操作,束缚对象值,以及消除客户的资源管理责任 + 提到了shared_ptr。没仔细看。 条款十九 设计c 阅读全文

posted @ 2019-05-15 15:25 陶大先生 阅读(240) 评论(0) 推荐(0) 编辑

2019年5月13日

Effective C++学习笔记(三)

摘要: 资源管理 条款十三 以对象管理资源,防止资源泄漏,使用RAII管理资源,使用智能指针shared_ptr + 为防止资源泄漏,使用RAII(resource Acquisition Is Initialization)对象,在构造函数中获得资源并在析构函数中释放资源。 + 两个常被使用的RAII c 阅读全文

posted @ 2019-05-13 16:49 陶大先生 阅读(285) 评论(0) 推荐(0) 编辑

Effective C++学习笔记(二)

摘要: 构造、析构和赋值运算 条款五 了解C++ 默默编写并调用哪些函数。 + C++会默认 为类构建default构造、析构(非virtual,除非base class自身有virtual析构函数)、copy assignment构造、copy构造函数。且这些函数都是public和inline。 + de 阅读全文

posted @ 2019-05-13 16:20 陶大先生 阅读(298) 评论(0) 推荐(0) 编辑

2019年5月10日

Effective C++学习笔记(一)

摘要: 条款一 C++是一个语言联邦 建议 + c++是有兄弟的:C,Object Oriented c++(c with class),template c++,STL + c++高效编程守则视状况而变化,取决于你使用c++的哪一部分。 条款二 尽量使用const, enum, inline代替defin 阅读全文

posted @ 2019-05-10 16:44 陶大先生 阅读(987) 评论(0) 推荐(0) 编辑

2019年5月7日

常用排序算法的介绍和对比(c++)

摘要: 排序是经常会考到的算法。各大排序算法总结: 排序算法 | 平均时间复杂度 | 最差时间复杂度 | 空间复杂度 | 数据对象稳定性 | | | | "冒泡排序" | O(n2) | O(n2) | O(1) |稳定 "选择排序" | O(n2) | O(n2) | O(1) |数组不稳定、链表稳定 " 阅读全文

posted @ 2019-05-07 10:35 陶大先生 阅读(317) 评论(0) 推荐(0) 编辑

数据结构之二叉树

摘要: 二叉树 本文的目的在于记录一些常用的二叉树问题解决手段。 二叉树的遍历 参考文档: "Binary Tree Postorder Traversal LeetCode" "Binary Tree Inorder Traversal LeetCode" "Binary Tree Preorder Tr 阅读全文

posted @ 2019-05-07 10:32 陶大先生 阅读(128) 评论(0) 推荐(0) 编辑

数据结构之链表

摘要: 链表 本文主要的目的是记录一些常用的链表问题解决办法。 1. 单链表翻转 从头到尾遍历原链表,每遍历一个结点,将其摘下放在新链表的最前端。注意链表为空和只有一个结点的情况。时间复杂度为O(n). 2. 查找单链表中倒数第K个结点(K 0) 最普通的方法是:先统计单链表中结点的个数,然后再找到第(n 阅读全文

posted @ 2019-05-07 10:29 陶大先生 阅读(115) 评论(0) 推荐(0) 编辑

导航