C++
_YKitty
这个作者很懒,什么都没留下…
展开
-
C++| |类和对象(下篇)
本文章支持目录查看,可点击右边的点赞下面的第二个图标即可 类和对象(下篇) 1. 再谈构造函数 1.1 构造函数体赋值 再创建对象时,编译器可以通过调用构造函数,给对象中的各个成员一个合适的初值 #include <iostream> using namespace std; class Test { public: Test(int a = 1, int b...原创 2018-11-13 00:18:50 · 119 阅读 · 0 评论 -
C/C++11| |小语法与知识点
C/C++11的小语法与知识点 1.auto 在c/c++早期的时候,auto的含义是:使用auto修饰的变量,是具有自动存储器的局部变量 auto不再是一个存储类型指示符,而是作为一个新的类型指示符来指示编译器。auto声明的变量必须由编译器在编译时期推导而得的 //必须在新的编译器才可以跑过,旧的会出错 #include <iostream> using...原创 2019-03-01 17:43:01 · 814 阅读 · 0 评论 -
C++| |多态
多态 1. 概念 对于不同的对象,去完成同一个行为的时候产生不同的状态 2. 定义和实现 2.1 定义 多态是在不同继承关系的类对象,去调用同一函数,产生了不同的行为。比如Student继承了Person。Person对象买票全价,Student对象买票半价 在继承中要构成多态还有两个条件: 调用函数的对象必须是指针或者引用 被调用的函数必须是虚函数,且完成...原创 2019-01-15 11:37:56 · 436 阅读 · 0 评论 -
C++| |继承
继承 1.概念 继承(inheritance)是面向对象程序设计使代码复用的手段。它允许程序员在保持原有类特性的基础上进行扩展,从而产生新的类,称为派生类也叫作子类。继承是设计层次的复用 2. 定义 2.1 定义格式 插图:定义图 注意:继承符号是:冒号 2.2 继承方式和访问限定符 插图:继承方式 插图:访问限定符 2.3 继承基类成...原创 2019-01-14 15:31:14 · 1394 阅读 · 1 评论 -
C++| |智能指针
智能指针 # 前言 为什么会有智能指针? 对于malloc出来的空间,有的时候忘记释放了就会造成内存泄露的问题 对于异常安全问题 链接:有关异常安全的问题 https://blog.csdn.net/qq_40399012/article/details/86438195#t5 1. 智能指针的原理 RALL(Resource...原创 2019-01-13 22:52:26 · 376 阅读 · 0 评论 -
C++| |异常
异常 # 前言 异常是一种处理错误的方式。当一个函数发现自己无法处理的错误时就可以抛出异常,让函数的直接或者间接调用者处理这个函数 throw:当问题出现时,程序会抛出一个异常。通过throw关键字来实现 catch:在想要处理问题的地方,通过异常处理程序捕获异常,可以有多个catch捕获 try:try块中的代码标识将被激活特定的异常。后面通常跟这一个或者多个ca...原创 2019-01-13 21:30:18 · 389 阅读 · 0 评论 -
C++| |模板进阶
模板进阶 1. 非类型模板参数 模板参数分为类型形参和非类型形参 类型形参:出现在模板参数列表中,跟再class或者typename之后的参数类型名称 非类型形参:就是用一个常量作为类(函数)模板的一个参数,在类(函数)模板中可将该参数当成常量来使用 【注意】: 浮点数,类对象和字符串是不允许作为非类型模板参数的 非类型模板参数必须在编译期就能确定结果 例:使用非类...原创 2019-01-18 10:10:48 · 469 阅读 · 0 评论 -
C++| |vector的学习
vector vector是表示可变大小数组的序列容器 vector采用连续存储空间来存储元素。所以可以采用下标的方式vector的元素进行访问,和数组一样的高效。但是其又不像数组,它的大小是可以动态改变的,而且它的大小会被容器自己处理 本质:对于vector使用动态分配数组来存储其元素。当新元素插入到数组中时,如果空间不够的话,就会开辟空间。 vector分...原创 2018-11-25 22:23:17 · 606 阅读 · 0 评论 -
C++| |C++入门
C++入门 1.命名空间 在c/c++中,变量,函数和后面要学到的类都是大量存在的,这些变量,函数和类的名称都将存在与全局作用域中,可能会导致很多冲突,使用命名空间的目的是对标识符的名称进行本地化,以避免命名冲突或名字污染,namespace关键字的出现就是针对这种问题的。 1.1 命名空间的定义 定义命名空间,需要用到namespace关键字,后面跟命名空间的名字,然后接一对{}即...原创 2018-11-16 14:28:31 · 1176 阅读 · 0 评论 -
C++| |C/C++11的小语法与知识点
C/C++11的小语法与知识点 1.auto 在c/c++早期的时候,auto的含义是:使用auto修饰的变量,是具有自动存储器的局部变量 auto不再是一个存储类型指示符,而是作为一个新的类型指示符来指示编译器。auto声明的变量必须由编译器在编译时期推导而得的 //必须在新的编译器才可以跑过,旧的会出错 #include <iostream> us...原创 2018-11-20 17:20:07 · 464 阅读 · 0 评论 -
C++| |C/C++内存管理
C/C++内存管理 1. C/C++内存分布 看一段代码和问题; int globalVar = 1; static int staticGlobalVar = 1; void Test() { static int staticVar = 1; int localVar = 1; int num1[10] = {1, 2, 3, 4}; char char2[] = "abcd"; c...原创 2018-11-12 16:58:52 · 140 阅读 · 0 评论 -
C++| |explicit关键字与隐式转换
explicit关键字与隐式转换 只有一个参数的构造函数也定义了一个隐式转换,将该构造函数的参数的类型的数据转化为一个该类的对象 对于explicit关键字只可以用于修饰构造函数或者转换函数 对于构造函数,如果添加了explicit关键字表示,该构造函数不可进行隐式转换 说道这里,怕就有人会问隐式转换是什么东西呢? 话不多说,先看一段代码? class mystring { ...原创 2018-11-13 22:35:23 · 248 阅读 · 0 评论 -
C++| |类和对象(中篇)
该文章支持目录查看,可在右边的点赞下面的第二个图标处查看目录。 类和对象(中篇) 1.类的6个默认成员函数 如果一个类中什么成员都没有,简称为空类,比如: class Date { }; 问题:上面这个空类中存在成员函数吗? 答:存在 类的六个默认成员函数 构造函数 拷贝构造函数 析构函数 赋值操作符重载 ...原创 2018-11-12 00:39:01 · 376 阅读 · 0 评论 -
C++| |类和对象(上篇)
该文章支持目录查看,大家可点击右边点赞下面的第二个图标,查看目录 类和对象(上篇) 1.类和对象的初步认知 c语言是面向过程的,关注的是过程,分析出求解问题的步骤,通过函数调用逐步解决问题 c++是基于面向对象的,关注的是对象,将一件事情拆分成不同的对象,考对象之间的交互完成 2.类的引入 c语言中,结构体中只能定义变量,在c++中,结构体内不仅可以定义变量...原创 2018-11-11 19:27:05 · 231 阅读 · 0 评论 -
C++| |string的学习
重要:该篇文章支持目录查看。(ps:这样可以立马找到自己想看的内容) string的学习 #string如何使用 首先要学会对于string在C++程序里面,如何来使用 //第一种使用方法: //这种是只在使用string的时候采用 std::string; //第二种使用方法: //这是将命名空间std进行全部的展开 using namespace std; //第三种使用方...原创 2018-11-13 19:25:21 · 568 阅读 · 0 评论 -
Linux| |vim的使用
vim vim的基本概念 正常/普通/命令模式(Normal mode) 控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入Insert mode下,或者导Last line mode 插入模式(Insert mode) 只有在Insert mode下,才可以做文字输入,按Esc键可回到命令行模式 末行模式(Last line mode...原创 2018-11-13 00:23:53 · 146 阅读 · 0 评论 -
C++| |关联式容器
原创 2019-03-02 19:35:18 · 464 阅读 · 0 评论