Summary of C++ Knowledge Point
本栏主要总结了C++的重要知识点以及知识梳理及应用
DX_John
每天给自己定一个目标!!
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
C++ String类的模拟实现
关于String类的模拟实现:一.深拷贝:1.传统写法:#define _CRT_SECURE_NO_WARNINGS#include <iostream>#include <stdlib.h>#include <string>#include <assert.h>using namespace std;class String{...原创 2019-11-05 14:43:00 · 421 阅读 · 0 评论 -
C++ 深拷贝和浅拷贝
深拷贝和浅拷贝是在C++中非常重要的概念,不管是在面试还是在未来的工作中都会经常用到,很多人在学完C++很长一段时间内可能都没有吃透什么是深拷贝和浅拷贝以及它们的运用,今天我们总结关于深浅拷贝的相关概念和底层原理:一.浅拷贝:首先我们来看一段代码:#include <iostream>#include <stdlib.h>#include <string&...原创 2019-11-05 13:34:01 · 503 阅读 · 0 评论 -
C++ String类的使用
一.C++标准库中的String类:在C语言中字符串是以’\0’结尾的一些字符的集合,为了操作方便,C标准库中提供了一些STR系列的库函数,但这些库函数和字符串是分离的,不太符合OOP的思想,而且底层空间需要用户自己进行管理,可能会造成访问越界;因此咋C++中提供了String类,方便字符串操作函数。在C++标准库中对String类做了如此下的解释:String类是表示字符串的字符串类;...原创 2019-11-04 19:54:16 · 552 阅读 · 0 评论 -
C++ 类与对象(三)(初始化列表,友元,static成员,内部类)
本文重点:1.再谈构造函数;2.C++11的成员初始化;3.友元;4.static成员;5.内部类;一.再谈构造函数:我们之前总结了六种默认成员函数的概念以及用法:(可点击链接进行查看:https://blog.youkuaiyun.com/DX_Jone/article/details/90242922)其中总结了关于构造函数的用法以及特点,本文将再次进行补充:1.构造函数体赋值:我们...原创 2019-10-30 17:08:10 · 473 阅读 · 0 评论 -
传值调用,传址调用,传引用调用三者的区别分析
大多处刚接触程序的小伙伴在学习C/C++的过程中都会遇到函数传值调用,传址调用和传引用的概念,刚开始接触时肯定一时无法理解三者的区别和联系,可能有一部分小伙伴可能学了很长接触很长时间也一直对三者的概念有一定的困扰,以及如何去应用,因为我也有类似的经历。本文将总结关于传值调用,传址调用和传引用三者的区别,如有不妥之处请私信,我将再次改正;一.传值调用:传值调用最早接触应该是在学C语言的阶段,接...原创 2019-10-30 14:43:11 · 5596 阅读 · 0 评论 -
键值对
一、键值对问题:键值对(”key = value”)字符串,在开发中经常使用;每个键后面对应着相应的值, 当按下相应的键时, 就会输出相应的结果,那么如何用程序实现呢?二、举个例子:1.要求:要求1:请自己定义一个接口,实现根据key获取valude;要求2:编写测试用例。要求3:键值对中间可能有n多空格,请去除空格2.注意:键值对字符串格式可能如下:“key1 =valude...转载 2019-09-21 19:30:17 · 5037 阅读 · 0 评论 -
C++类型转换
本文重点:1.C语言中的强制类型转换;2.C++强制类型转换;3.为什么要进行强制类型转换;4.RTTI;一.C语言中的强制类型转换:在C语言中类型转换分为两种:一种为隐式类型转换,一种为显示类型转换;1.隐式类型转换:我们写代码的时候,在类型转换的时候,通常在前面加上类型的名字,如果不加的话,不同的类型进行运算,编译器自己去判断如何进行转换,这种方式就是隐式类型转换。由编...原创 2019-09-21 15:10:36 · 462 阅读 · 0 评论 -
C++ 智能指针
本文重点:1.智能指针的概念;2.auto_ptr,unique_ptr,shared_ptr等智能指针的使用及原理;原创 2019-08-31 23:12:25 · 330 阅读 · 0 评论 -
C++ 模板(二)
非类型模板参数;类模板的特化;原创 2019-08-20 15:29:40 · 189 阅读 · 0 评论 -
C++ 多态
本文将从四个部分来总结关于C++多态的知识点:1.多态相关概念:2.重载,覆盖,隐藏的概念及对比:3.关于多态的实现原理:4.继承+多态对象模型:一.多态的相关概念:1.多态的概念:多态就是多种形态,即不同的对象去完成某个事件时会产生不同的状态和结果;举个栗子:旅游时在景点买票,不同的人的票价是不一样的;2.多态的定义和实现:(1)多态的构成条件:(非常重要)a.多态是在...原创 2019-07-11 16:52:58 · 228 阅读 · 0 评论 -
C++ 异常
本文将通过三大部分来进行总结C++异常问题:第一部分:C++异常的概念:第二部分:异常的相关用法:第三部分:异常的优缺点:一.异常的概念:我们知道在C语言中传统的处理错误的机制一般使用的有三种:(1)终止程序,如assert判别;(2)返回错误码;(3)使用C标准库中的setjump和longjump组合;但以上三种方式有一定的缺陷,当遇到些错误时立即终止程序,对于服务器开发...原创 2019-07-09 23:28:03 · 456 阅读 · 0 评论 -
C++内存管理
一.C/C++的内存分布:原创 2019-07-04 12:52:52 · 374 阅读 · 0 评论 -
C++ 继承
本文重点:1.继承的概念和定义;2.基类和派生类对象赋值转换;3.继承中的作用域;4.派生类的默认成员函数;5.继承和友yuan元;6.继承和静态成员;7.菱形继承和菱形虚拟继承;8.关于继承的总结和反思;一.继承的概念和定义:1.继承的概念:继承是类层次的代码复用,允许在保持原有类的特性的基础上进行扩展;产生了父类和子类的区别,也可称为基类和派生类;继承呈现了面向对象程...原创 2019-07-07 23:38:12 · 248 阅读 · 0 评论 -
C++ 模板(一)
泛型编程:一.什么是泛型编程??泛型编程(Generic Programming)是一种语言机制,通过它可以实现一个标准的容器库。像类一样,泛型也是一种抽象数据类型,但是泛型不属于面向对象,它是面向对象的补充和发展。二.泛型编程的实例:比如:实现一个函数的交换:我们可以通过函数重载实现:void swap(int& a,int& b){ int tmp=a; ...原创 2019-06-21 17:48:38 · 362 阅读 · 0 评论 -
C++ String类的基础概念
为什么要学习string类??C语言中,字符串是以"/0"结尾的一些字符的集合;为了操作方便,C标准库中提供了一些关于str的库函数,但是这些库函数与字符串是分离开的,不太符合OOP的思想,而且底层空间需要用户自己管理,稍不留神可能还会越界访问;为了简单、方便、快捷,基本都使用string类,很少有人去使用C库中的字符串操作函数。string类的特点:1.string是表示字符串的字符串类;...原创 2019-06-20 02:08:04 · 474 阅读 · 0 评论 -
C++ 类与对象(二)
在类与对象(一)中,我们主要讲了类和对象的基本知识点,对类和对象进行了初步认识;本文我们将继续关于类与对象的的总结,主要内容包括C++中的6个默认成员函数------构造函数,析构函数,拷贝构造函数,赋值操作符重载相关的知识点和注意事项;一.类的六个默认成员函数:1.什么是类的六个默认成员函数????构造函数;析构函数;拷贝构造函数;赋值运算符重载;取址(&)运算符重载 ;...原创 2019-05-18 00:37:25 · 296 阅读 · 0 评论 -
C++ 类与对象(一)
一.类和对象的初步认识及类的引入:1.关于类和对象的初步认知:在C++中引入类的对象的概念;类是指类型,类别;类和对象本质映射的是现实世界;C语言是面向过程,关注的是过程,分析出求问题的步骤;C++是基于面向对象,关注的是对象,将一件事拆分成不同对象,靠对象之间交互完成;2.类的引入:类是通过结构体来建立的;C语言中,结构体中只能定义变量;C++中结构体不仅可以定义变量,还可以定义函...原创 2019-05-12 21:25:59 · 512 阅读 · 0 评论 -
C++ 基础知识(二)
关于C++初识的基础知识点在初识(一)的时候我们主要总结了命名空间,输入输出的概念,缺省参数,内联函数,关键字auto 的用法;在本文中我们主要总结C++中的两个重要知识点函数重载,引用的概念以及nullptr的用法;一.函数重载:1.为什么会存在函数重载???我们知道在C语言中根据语法的概念,在同一个作用域或文件下不能声明相同名字的函数,如果一旦同名编辑器就会报错,如果在工程中就会有很多...原创 2019-05-11 17:38:12 · 582 阅读 · 0 评论 -
C++ 基础知识(一)
一.命名空间:1.什么是命名空间:在C/C++ 中,变量,函数以及类都是大量存在的,这些变量,函数,类的名称都存在于全局变量中,会造成命名冲突或污染;而使用全局变量的目的就在于防止命名冲突或污染,对函数,变量和类进行命名隔离的效果。其本质就是在做名字隔离;-------------什么叫做名字隔离?我们知道在C语言中,对于变量的定义要求,同一作用域中不能定义同一变量,不同作用域中可以定义同...原创 2019-05-09 17:40:59 · 446 阅读 · 0 评论
分享