C++初级
文章平均质量分 69
空
贪心的柠檬
正在努力学习的小菜鸟……
展开
-
C++初级_模板
C++初级_模板1.非类型模板参数模板参数:类类型形参、非类型形参类类型形参:出现在模板参数列表中,跟在class或typename之类的参数类型名称非类型形参:用一个常量作为类(函数)模板的一个参数,在类(函数)模板中可将该参数当场常量来对待注:浮点数、类对象以及字符串是不允许作为非类型模板参数的非类型的模板参数必须在编译期就能确认结果#include<iostre...原创 2020-05-04 15:41:05 · 141 阅读 · 0 评论 -
C++初级_stack和queue容器适配器
C++初级_stack和queue容器适配器1.stack(1)stack是一种容器适配器,专门用于后进先出的环境中,其删除和插入只能在容器的一端进行(2)stack是作为容器适配器被实现的,容器适配器是对特定类封装作为其底层的容器,并提供一组特定的成员函数来访问其元素。元素特定容器的尾部(栈顶)被压入和弹出(3)stack底层容器可以是任何标准的容器类模板或者一些其他特定的容器类,这些容...原创 2020-05-02 17:51:47 · 173 阅读 · 0 评论 -
C++初级_deque容器
C++初级_deque容器deque容器简介deque双端队列是动态大小的序列容器,可以向两端进行伸缩特定的库可以以不同的方式实现deque,但通常都是一种动态数组。在任何情况下,他都允许通过随机访问迭代器直接访问单个元素,可以根据需要进行动态的伸缩deque提供了一些与vector相似的功能,但deque在头部和尾部进行插入和删除操作时更加高效。与vector不同的是,deque不能保...原创 2020-05-02 16:49:03 · 127 阅读 · 0 评论 -
C++初级-list容器
C++初级-list容器1.list容器简介list可以在常数范围内的任意位置进行插入和删除的序列式容器,并且该容器可以前后双向迭代list底层为双向链表结构,链表中的每个元素存储在互不相关的独立节点中,在节点中通过指针指向前一个和后一个元素list与forward_list非常相似:不同点在于forward_list是单列表,只可向前迭代与其他序列容器相比,list在任...原创 2020-05-02 15:36:54 · 127 阅读 · 0 评论 -
C++初级_vector容器
C++初级_vector容器1.vector容器简介vector表示可变大小数组的序列容器vector与数组一样,采用连续的存储空间来存储元素,采用下标来访问元素;但是大小可以动态变化,被容器自动处理vector使用动态分配数组来存储他的元素。当新元素插入时,这个数组需要被重新分配大小。为了增加存储空间,会分配一个新的数组,然后将全部元素移动到这个数组里面。就时间而言,相对代价...原创 2020-05-01 17:10:05 · 131 阅读 · 0 评论 -
C++初级-string类常用接口
C++初级-string类常用接口1.string类对象的常见构造string():构造空的string类对象,即空字符串string(const char*s):用C-string来构造string类对象string(size_t n,char c):string类对象中包含n个字符cstring(const string&s):拷贝构造函数#include<cst...原创 2020-04-28 16:32:11 · 170 阅读 · 0 评论 -
C++初级-模板基础与STL概念
C++初级-模板基础与STL概念1.泛型编程重载函数缺点:重载的函数仅仅类型不同,代码复用率低,新类型出现时需要增加相应的函数代码可维护性低,一个出错肯定所有的重载均出错。泛型编程:编写与类型无关的通用代码,是代码复用的一种手段模板:泛型编程的基础,包含函数模板和类模板2.函数模板函数模板:代表了一个函数家族,该模板与类型无关,在使用时被参数化,根据实参类型产生函数的特定类型版本...原创 2020-04-23 17:09:23 · 152 阅读 · 0 评论 -
C++初级-单例模式
C++初级-单例模式1.设计模式设计模式:一套被反复使用,多数人知晓的,经过分类的,代码设计经验的总结。使用设计模式的目的:为了代码的可重用性,让代码更容易被他人理解,保证代码的可靠性。设计模式使代码编写实现真正的工程化。2.单例模式在服务器程序中,配置信息存放在一个文件中,这些配置数据由一个单例对象统一读取,然后服务进程中其他对象通过这个单例对象获取配置信息,简化了复杂环境下的配置...原创 2020-04-23 15:55:36 · 125 阅读 · 0 评论 -
C++内存管理
C++内存管理1.C&&C++内存分布程序内存区域划分:(1)内核空间(用户代码不可读写)(2)栈(向下生长):非静态局部变量、函数参数、返回值(3)内存映射段(文件映射、动态库、匿名映射):高效的I/O映射方式,用于装载一个共享的动态内存库。用户可以用系统接口创建共享内存,进行进程间通信(4)堆(向上增长):运行时动态内存分配(5)数据段...原创 2020-04-23 15:28:48 · 100 阅读 · 0 评论 -
C++初级-类和对象(2)
C++初级-类和对象(2)1.拷贝构造函数(1)是特殊的成员函数(2)是构造函数的一个重载形式(3)参数只有一个并且必须使用引用传参,使用传值方式会引发无限的递归调用(4)若未显示定义,系统则生成默认的拷贝构造函数。默认的拷贝构造函数对象按内存存储,按字节序完成拷贝,称为浅拷贝或者值拷贝#pragma once#include<iostream>using names...原创 2020-04-15 22:33:15 · 212 阅读 · 0 评论 -
C++初级-类与对象(1)
C++初级-类与对象(1)1.类的两种定义方式(1)将声明和定义全部放在类体中。注意:成员函数在类内定义,编译器有可能将其当做内联函数处理。class Person{ private: string _name; string _sex; int _age; public: void display() { cout<<_name<<"...原创 2020-04-14 22:37:34 · 386 阅读 · 0 评论