![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
【C++如此简单】
文章平均质量分 74
一叶孤舟渡
想来杭州华为工作的可以联系我~
展开
-
C++ 面试八股文
C++11auto和decltypeC++14C++17C++20持续更新…auto和decltype类型推导:C++11引用auto和decltype关键字,使用它们可以在编译期就推导出变量或者表达式的类型。auto推导规则:通过=右边的类型推导出变量的类型:auto a = 10; // 10是int型,可以自动推导出a是int推导限制:auto的使用必须马上初始化,否则无法推导出类型:auto e; // error,使用auto必须马上初始化,否则无法推.原创 2022-05-03 21:10:11 · 1372 阅读 · 0 评论 -
【C++如此简单】 Lambda表达式
Lambda表达式lambda 表达式的概念和基本用法C++11特性之一lambda表达式有如下优点:声明式编程风格:就地匿名定义目标函数或函数对象,不需要额外写一个命名函数或者函数对象。以更直接的方式去写程序,好的可读性和可维护性。简洁:不需要额外再写一个函数或者函数对象,避免了代码膨胀和功能分散,让开发者更加集中精力在手边的问题,同时也获取了更高的生产率。在需要的时间和地点实现功能闭包,使程序更灵活。lambda表达式用法:// lambda 表达式定义了一个匿名函数,原创 2022-05-02 22:07:48 · 1321 阅读 · 0 评论 -
【C++如此简单】如何编写一个简单的类?
文章目录前言一、抽象和类?二、类的创建1.什么是类?2.类声明3.类方法定义总结前言简单的实现一个C++的类一、抽象和类?生活中充满复杂性,处理这类问题的方法就是简化和抽象。做法:将问题的本质特征抽象出来,并根据特征来描述解决方案。二、类的创建1.什么是类?类是一种将抽象转换为用户定义类型的C++工具,他将数据表示和操纵数据的方法组合成一个整洁的包。类规范由两部分组成:类声明和类方法定义。类声明:以数据成员的方式描述数据部分,以成员函数(方法)的方式描述共有接口。类方法定义:原创 2021-12-30 16:43:17 · 4631 阅读 · 0 评论 -
【C++如此简单】过程性编程和面向对象编程
文章目录前言一、过程性编程?二、面向对象编程?三、面向对象编程的特性?四、C++如何实现面向对象编程?总结前言一、过程性编程?首先,考虑要遵循的步骤。然后,考虑如何表示数据。二、面向对象编程?首先,从用户的角度考虑对象–描述对象所需要的数据以及描述用户与数据交互的操作。然后,完成对接口的描述后,需要确定如何实现接口和数据存储。三、面向对象编程的特性?抽象封装和数据隐藏多态继承代码的可重用性四、C++如何实现面向对象编程?C++提供了类,来实现OOP。总结感觉原创 2021-12-30 15:01:24 · 666 阅读 · 0 评论 -
【C++如此简单】关联式容器-map&multimap
与序列式容器相比,关联式容器再存储“值(value)”的同时,还会额外配备一个“键(key)”,形成“键-值对”。已知key,直接可以找到对应的value,不需要遍历整个容器。序列式容器中存储的元素默认都是未经过排序的,而使用关联式容器存储的元素,默认会根据各元素的键值的大小做升序排序。C++ STL 标准库提供了 4 种关联式容器,分别为 map、set、multimap、multiset,底层实现:红黑树。关联式容器名称特点map定义在 头文件中,使用该容器存储的数据.原创 2022-04-14 19:40:44 · 973 阅读 · 0 评论 -
【C++如此简单】容器适配器:栈&队列&优先级队列
容器适配器:将不适用的序列式容器(包括vector、list、deque)变得适用。本质上还是容器。STL提供3中容器适配器:stack栈适配器、queue队列适配器、priority_queue优先级队列适配器没有迭代器,访问元素靠遍历。栈栈:单端开口,开口端为栈顶,后入先出(LIFO),模拟栈存储结构,底层默认基础容器deque// 模板:stack<T,Container=deque<T>>,底层容器为deque,也可以是list或vector,只要是包含e.原创 2022-04-13 22:15:56 · 366 阅读 · 0 评论 -
【C++如此简单】unordered_map
哈希容器,map 容器中存储的数据是有序的,而 unordered_map 容器中是无序的。以键值对(pair类型)的形式存储数据,存储的各个键值对的键互不相同且不允许被修改。但由于 unordered_map 容器底层采用的是哈希表存储结构,该结构本身不具有对数据的排序功能,所以此容器内部不会自行对存储的键值对进行排序。// 头文件#include <unordered_map>using namespace std;// 模板定义,前两个值时是必须显式给出的template.原创 2022-04-12 20:13:05 · 724 阅读 · 0 评论 -
【C++如此简单】智能指针
C++使用new和delete来管理动态内存,会出现1、内存泄漏(忘记释放内存);2、悬空指针(内存已被释放还在使用);3、野指针(未初始化的指针)。C++引用智能指针,负责自动释放所指向的对象。C++的智能指针定义在头文件中,1、shared_ptr:允许多个指针指向同一个对象;2、unique_ptr:“独占”所指向的对象;3、weak_ptr:弱引用,指向shared_ptr所管理的对象。// 最安全的分配和使用动态内存的方法是调用一个名为make_shared()函数。shared_pt.原创 2022-04-12 17:14:49 · 793 阅读 · 0 评论