- 博客(10)
- 资源 (6)
- 收藏
- 关注
原创 【Effective C++】读书笔记(一)---让自己习惯C++
条款1:视C++为一个语言联邦如何理解C++? 最简单的方法就是将C++视为一个由相关语言组成的联邦而非单一语言,在其各次语言中,各种守则与通例都倾向于简单,直观易懂,并且容易记住,然而当你从一个次语言移往另一个次语言时,守则可能发生改变. 为了理解C++,主要的次语言为4种:C : C语言说到底就是C++的基础,但是从高级编程来看,C语言局限在于没有模板,没有面向对象特性。Object...
2019-04-13 13:30:09 242
原创 【其他】 Chrome浏览器快捷键大全
前言浏览器标签页和窗口快捷键:浏览器功能快捷键:Chrome 浏览器中的设置。浏览器地址栏快捷键(当光标位于地址栏中时可以使用)浏览器网页快捷键:浏览器文本快捷键:浏览器标签页和窗口快捷键:Ctrl+N 打开新窗口。Ctrl+T 打开新标签页。Ctrl+Shift+N...
2019-04-10 22:02:12 354
原创 【C++】基于Boost库的智能指针
前言为什么引入智能指针智能指针的功能auto_ptr智能指针模拟实现旧版的auto_ptr模拟实现新版的auto_ptrauto_ptr的总结scoped_ptr智能指针(unique_ptr)scoped_ptr如何防拷贝scoped_ptr的疑惑scoped_ptr的总结模拟实现scoped_arrayshared_ptr的设计思想智能指针总结C++提供了4种智能指针用于对分配的内存进行自动...
2019-04-05 18:45:43 701
原创 【C++】模板类+迭代器模拟实现STL::List
前言迭代器的简介?为什么要引入迭代器?STL::List库中的基本操作STL库中List的特性理解迭代器是理解STL的关键所在。·模板使得算法独立于存储的数据类型,而迭代器使算法独立于使用的容器类型,因此,它们都是STL通用方法的重要组成部分。作为STL的六大组件之一,无疑起到了举足轻重的作用。迭代器的简介?迭代器(iterator)是一种对象,它能够用来遍历标准模板库容器中的部分或全部元素...
2019-04-05 01:57:56 1115
原创 【C++】STL库中的vector/deque/list模拟实现stack
前言stack的特性vector实现stackdeque实现stacklist实现stackstack是一种先进后出(FIFO)的数据结构,它只有一个出口。也就意味着它只能新增元素,移除栈顶元素,除此之外,没有任何方法去改变栈中的任何元素。stack的特性stack是一种后进先出的数据结构,这也就限制了stack是不能遍历的,也就意味着我们压栈只能从尾部插入数据,出栈也只能从尾部删除数据。...
2019-04-05 01:24:56 472 2
原创 【C++】如何防止一个类被继承 && C语言如何实现继承与多态
前言如何防止一个类被继承将构造函数设为私有函数使用虚拟继承C语言如何实现继承与多态如何防止一个类被继承在C#中定义了关键字sealed,被sealed修饰的类是不能被继承的。同样在Java中也有关键字final表示一个类型不能被继承。然而在C++中却没有类似于sealed的关键字,C++11提供final关键字防止继承,因此就只能模拟实现它。这道题出自剑指offer,备受青睐的一道面试题。...
2019-04-05 01:18:07 437
原创 【C+】深入浅出面向对象三大特性之多态
前言什么是多态?对象的类型静态多态动态多态动态绑定的先决条件虚函数定义的重要说明重定义(隐藏规则)纯虚函数虚表剖析作为面向对象三大特性之一的多态无疑是最复杂的一个特性。 封装可以使代码模块,继承可以在原有的基础上进行改进,增加新功能,前两者的引入都是为了提高·代码的复用性。那么多态呢?它的目的是为了·接口重用,即当传递不同类的多个对象时,函数都可以通过同一个接口调用不同对象的实现方法。什么是多...
2019-04-05 00:37:43 466
原创 【算法精练】非循环求解1+2+…+n问题
题目求1+2+…+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。这道题出自剑指offer的面试题,是一道不错的能够考察应聘者发散思维能力的题目,对于快要毕业的我们,的确是一个挑战。之前我们求解这样的问题无非就是·套用公式,或者循环,递归求解,既然限制了这些方法的实现,那是否还有更为巧妙的方法呢?下面为大家列举出四种方法。...
2019-04-03 21:14:06 552
原创 【C++】深入浅出面向对象三大特性之继承
前言什么是继承?为什么要引入继承?继承的基本性质派生类构造函数和析构函数的调用顺序同名隐藏机制赋值兼容规则友元关系与继承继承与静态成员单继承特性多继承特性菱形继承特性虚继承的引入虚继承的注意事项组合和继承继承是面向对象程序设计的一个重要特性。可以说,如果没有掌握继承,就等于没有掌握类和对象的精华,就是没有掌握面向对象横须设计的真谛。继承可以在已有的类的基础上创建新的类,新类可以从一个或多个已有类...
2019-04-03 20:58:16 358
原创 【C++】简易版的String类与深拷贝
前言什么是深拷贝?深拷贝的内存分析普通版本的深拷贝什么是深拷贝?深拷贝不同于浅拷贝,它在拷贝的时候会为新对象开辟一块新的内存空间,然后将原对象的内容拷贝到新开辟的空间,这样在资源释放的时候就不会牵扯到多次析构·的问题。比如构造了S1与S2两个对象,在构造S2时拷贝一块跟S1指向数据库一样大的数据块,并将值拷贝下来,这样S1与S2指向各自的数据块,析构时也自然释放自己的数据块。源代码及注释(...
2019-04-03 18:00:12 247
Docker入门到进阶实战
2022-07-08
数据结构课程设计大纲
2018-06-29
数据结构课程设计
2018-06-29
教你如何玩转指针
2018-03-23
指针那些事儿
2018-03-23
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人