![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++
文章平均质量分 98
夜微雨
落花人独立,微雨燕双飞。
展开
-
[C++]---C++11相关语法
一、列表初始化内置类型的列表初始化int main(){ // 内置类型变量 int x1 = { 10 }; int x2{ 10 }; int x3 = 1 + 2; int x4 = { 1 + 2 }; int x5{ 1 + 2 }; // 数组 int arr1[5] {1, 2, 3, 4, 5}; int arr2[]{1, 2, 3, 4, 5}; // 动态数组,在C++98中不支持 int* arr3 = new int[5]{1, 2, 3, 4,原创 2020-05-16 01:15:39 · 426 阅读 · 0 评论 -
[C++]---红黑树性质及简单模拟实现
红黑树的概念红黑树,是一种二叉搜索树,但在每个结点上增加一个存储位表示结点的颜色,一般是Red或Black。 通过对任何一条从根到叶子的路径上各个结点着色方式的限制,从而确保没有一条路径会比其他路径长出2倍,因而是接近平衡的。红黑树的性质每个结点不是红色就是黑色,根节点是黑色的。 如果一个节点是红色的,则它的两个孩子结点是黑色的,也就是 红色节点不能连续,黑色节点可以连续。 对于每个结点,从该结点到其所有后代叶结点的简单路径上,均 包含相同数目的黑色结点。 每个叶子结点都是黑色的(此处原创 2020-05-09 17:45:34 · 283 阅读 · 0 评论 -
[C++]---C++几种类型转换
目录C语言类型转换为什么C++需要四种类型转换C++类型转换static_castreinterpret_castconst_castdynamic_castexplicitC++中的RTTI机制小结C语言类型转换//c语言类型转换void testCast(){ //隐式类型转换 //内置类型 int i = 10; char...原创 2020-04-22 17:58:04 · 2948 阅读 · 1 评论 -
[C++]---智能指针介绍简单模拟实现
RAIIRAII(Resource Acquisition Is Initialization)根据对象的生命周期控制,初始化构造对象时管理资源,销毁对象在对象析构时释放资源(如内存、文件句柄、网络连接、互斥量等等)的简单技术。这么做的好处:不需要显式地释放资源。 采用这种方式,对象所需的资源在其生命期内始终保持有效。模拟实现SmartPtr模拟实现SmartPtr://智能...原创 2020-04-24 00:16:49 · 231 阅读 · 1 评论 -
[C++]---AVL树简介及有关接口实现
AVL树概念在之前学习了二叉搜索树时,我们发现二叉搜索树虽可以缩短查找的效率,但如果数据有序或接近有序二叉搜索树将退化为单支树,查找元素相当于在顺序表中搜索元素,效率低下。因此有两位数学家提出了解决上面问题的方法:当向二叉搜索树中插入新结点后,如果能保证每个结点的左右子树高度之差的绝对值不超过1(需要对树中的结点进行调整),即可降低树的高度,从而减少平均搜索长度。AVL树的特点本...原创 2020-04-14 17:13:00 · 228 阅读 · 0 评论 -
[C++项目]---磁盘管理工具
项目实现功能本项目旨在实现一个文件管理工具,主要功能是删除磁盘中的重复文件。基本原理本项目要用到的是MD5签名判断方法,因此首先我们了解下MD5.MD5是由Ron Rivest在1991设计的一种信息摘要(message-digest )算法,当给定任意长度的信息,MD5会产生一个固定的128位“指纹”或者叫信息摘要。从理论的角度,所有的信息产生的MD5值都不同,也无法通过给定的...原创 2020-08-01 10:25:52 · 529 阅读 · 0 评论 -
[C++]---异常及处理方法
一.C语言传统的处理错误的方式传统的错误处理机制:1. 终止程序,如assert,缺陷:用户难以接受。如发生内存错误,除0错误时就会终止程序。 2. 返回错误码,缺陷:需要程序员自己去查找对应的错误。如系统的很多库的接口函数都是通过把错误码放到errno中,表示错误。实际中C语言基本都是使用返回错误码的方式处理错误,部分情况下使用终止程序处理非常严重的错误。二. C++异常概念...原创 2020-03-06 22:45:56 · 468 阅读 · 0 评论 -
[C++]---多态及相关知识
一.多态定义及实现1.1概念具体点就是去完成某个行为,当不同的对象去完成时会产生出不同的状态。举个栗子:比如买票这个行为,当普通人买票时,是全价买票;学生买票时,是半价买票;军人买票时是优先买票。多态是在不同继承关系的类对象,去调用同一函数,产生了不同的行为。1.2实现多态多态条件:前提:继承条件下; 父类存在虚函数,且子类完成该虚函数的重写。 函数重写:子类父类存...原创 2020-03-06 19:35:42 · 220 阅读 · 0 评论 -
[C++]---有关继承の介绍
一.继承概念继承(inheritance)机制是面向对象程序设计使代码可以复用的最重要的手段,它允许程序员在保持原有类特性的基础上进行扩展,增加功能,这样产生新的类,称派生类。继承呈现了面向对象程序设计的层次结构,相比以前我们接触的复用都是函数复用,继承是类设计层次的复用。#define _CRT_SECURE_NO_WARNINGS 1#include<string>...原创 2020-03-05 16:20:49 · 191 阅读 · 0 评论 -
[C++]---二叉搜索树简单实现(查找,插入,删除)
目录二叉搜索树概念及特点1.特点二叉搜索树的简单操作1.查找操作2.插入操作3.删除操作二叉搜索树的性能分析二叉搜索树概念及特点1.特点二叉搜索树又称二叉排序树,它可能是一棵空树,或者是具有以下性质的二叉树:若它的左子树不为空,则左子树上所有节点的值都小于根节点的值 若它的右子树不为空,则右子树上所有节点的值都大于根节点的值 它的左右子树也分别...原创 2020-02-28 18:01:09 · 1259 阅读 · 3 评论 -
[C/C++]---内存管理(一)
目录一:C/C++中内存分布1.C/C++程序内存区域划分:2.定义:二:C语言中的动态内存管理方式:1函数原型:2区别:三:C++中的内存管理方式:1.使用方法:2.operator new与operator delete函数3.new/delete实现原理4.定位new表达式(placement-new)一:C/C++中内存分布1.C/C++...原创 2020-02-21 15:59:10 · 139 阅读 · 0 评论 -
[C++]---类和对象(三){一. 两种初始化类方法比较 二. static成员 三. 友元 四. 内部类 }
目录一. 两种初始化类方法比较1.两种方法介绍:1.1.构造函数体赋初值.1.2初始化列表.1.3两种方法对比及注意1.4explicit关键字用法二. static成员2.1概念2.2特点:2.3常见问题:三. 友元3.1友元函数:3.2友元函数特点:3.3友元类四. 内部类4.1什么是内部类4.2特点一. 两种初始化...原创 2019-11-19 14:20:09 · 195 阅读 · 0 评论 -
C/C+各类型在各个平台下所占大小常用查找表
原创 2019-11-17 11:15:15 · 119 阅读 · 1 评论 -
[C++]---类和对象(二){一.构造函数 二.析构函数 三.拷贝构造函数 四.赋值运算符重载 五.const成员 六.取地址及const取地址操作符重载}
目录一.构造函数作用:特点:注意:二.析构函数特点:三.拷贝构造函数特点:四.赋值运算符重载定义方法特点:以赋值运算符为例:五.const成员定义:关于const几个问题六.取地址及const取地址操作符重载一般来说一个最简单的空类会有最基本的六大成员函数:构造函数、析构函数、拷贝构造函数、赋值运算符重载函数、取地址操作符重载...原创 2019-11-18 15:24:05 · 148 阅读 · 0 评论 -
[C++]---类和对象(一){一:类和对象初步了解 二:类的引入与定义 三:类的访问限定符 四:类对象存储模型 五:this指针}
目录一:类和对象初步了解类和对象关系:类与类的实例化二:类的引入与定义C++如何定义类?类的两种定义方式:三:类的访问限定符分类:作用:特点:如何类外访问类的成员四:类对象存储模型两种类对象存储模型假设验证类存储方式:五:this指针this指针的特性:this指针的两个小问题:一:类和对象初步了解C语言是面向过程的,关注...原创 2019-10-31 16:49:44 · 300 阅读 · 0 评论 -
[C++]---简单入门知识
目录一:命名空间定义命名空间:使用命名空间:二:C++中的输入输出三:缺省参数缺省参数分类:四:函数重载五:函数重载原因还有一点为什么C语言不存在函数重载???条件编译:六:引用引用特点:引用的使用场景:传值、传引用效率比较:引用/指针比较(重点):七:内联函数内联函数特点:八:auto关键字(C++11)auto使...原创 2019-10-29 15:26:59 · 206 阅读 · 0 评论