c++
MrYH23
本人为在读研究生,深度学习爱好者
展开
-
c++中使用构造函数初始化列表的情况
C++类中成员变量的初始化有两种方式:构造函数初始化列表和构造函数体内赋值。一、内部数据类型(char,int……指针等) class Animal { public: Animal(int weight,int height): //A初始化列表 m_weight(weight), m_height(height) { ...转载 2019-01-15 10:17:29 · 148 阅读 · 0 评论 -
c++ string 容器常见操作
#include <iostream>#include <string>using namespace std;//string 容器//string 容器特性://1.和char* 对比: char* 是指针,string是一个类,string封装了char* ,管理这个字符串,是一个char*型的容器//2.string 封装了很多实用的成员方法: fi...原创 2019-06-08 17:11:10 · 297 阅读 · 0 评论 -
c++ 常用容器API
vector1.vector构造函数vector <T> v;//采用模板实现类实现,默认构造函数vector (v.begin(),v.end());//将v【begin(),end()】区间中的元素拷贝给本身vector(n,elem);//构造函数将n个elem拷贝给本身vector(const vector &vec); //拷贝构造函数2.vecto...原创 2019-06-09 19:07:07 · 565 阅读 · 0 评论 -
面向抽象类编程-电脑组装练习
#include <iostream>using namespace std;//抽象层--------------------------------------class cpu{public: virtual void CPU()=0;};class gpu{public: virtual void GPU()=0;};cla...原创 2019-06-03 18:49:19 · 255 阅读 · 0 评论 -
c++ 中的stack 和queue容器
#include <iostream>#include <stack>#include <queue>using namespace std;//stack 容器 先进后出 push(压栈) pop(出栈) top()返回栈顶元素//stack API//******注意 不提供迭代器 栈不能遍历,不支持随机存取,只能通过top从栈...原创 2019-06-10 00:04:56 · 287 阅读 · 0 评论 -
c++ 中的list容器教程
#include <iostream>#include <list>using namespace std;//链表 list//链表 list特性://链表是由一系列的结点组成,借点包含两个域,一个数据域,一个指针域。//链表容器有迭代器件,但是不支持随机访问,算法sort 只支持可以随机访问的容器//链表内存是连续的还是非连续的//1.非连续,添加和...原创 2019-06-10 00:06:01 · 478 阅读 · 0 评论 -
c++ 中的deque容器(案例练习)
#include <iostream>using namespace std;#include <vector>#include <deque>#include <algorithm>//deque 容器 是双口容器, 可以从头尾部都可以添加,删除 push_front pop_front push_back pop_back//...原创 2019-06-10 00:07:09 · 1134 阅读 · 0 评论 -
c++ 中的set容器常用API练习
#include <iostream>#include <set>using namespace std;//set 和multiset 容器的概念//是关联式容器 由容器规则决定,不由插入数据顺序决定//不可以通过set的迭代器改变元素的值,因为set集合容器,是根据元素值进行排序,关系到set的排序规则,如果任意改变set的元素值,会严重破坏set组织/...原创 2019-06-10 00:08:27 · 978 阅读 · 0 评论 -
函数模板
#include <iostream>//1.1函数模板//int 数据交换using namespace std;void myswap(int& a,int &b){ int temp=a; a=b; b=temp;}//double类型数据交换void myswap(double &a, double &...原创 2019-06-04 10:06:52 · 112 阅读 · 0 评论 -
c++ 中容器元素深拷贝和浅拷贝的问题
#include <iostream>#include <vector>#include <cstring>using namespace std;//STL容器共性机制//stl容器所提供的都是值寓意,而非引用寓意,也就是说当给容器中插入元素的时候,容器内部实施了拷贝动作,// 将要插入的元素再另行拷贝一份放入到容器中,而不是将原数据元素直接...原创 2019-06-11 16:12:14 · 1348 阅读 · 0 评论 -
stl 中常用的算法
#include <iostream>#include <vector>#include <algorithm>#include <set>using namespace std;//stl -常用算法//1.常用遍历算法//1.1for_each 遍历容器//1.2transform 搬运容器到另一个容器中//for_...原创 2019-06-17 18:43:23 · 337 阅读 · 0 评论 -
c++ vector容器 最全教程
#include <iostream>#include <vector>using namespace std;//vector 容器 vector容器是单口容器//vector 容器提供正向,与反向的迭代器,如v.begin v.end 对应反向v.rbegin v.rend 也提供v.insert()在指定位置插入元素//vector 在尾部进行操作 v.p...原创 2019-06-08 17:08:12 · 749 阅读 · 0 评论 -
STL 基本概念与基本语法初尝试
容器 序列式容器 容器的元素的位置是由进入容器时间和地点决定 关联式容器 进入容器的的元素的位置不是进入容器的时间和地点决定 算法 通过有限的步骤,解决问题 STL提供了大约100个实现算法的模板函数 迭代器 用来遍历容器中元素的指针,可以理解为指针,对指针的操作基本都可以对迭代器操作 实际上,迭代器是一个类,这个类封装了一个指针 迭代器作为...原创 2019-06-07 19:32:41 · 231 阅读 · 0 评论 -
C++ 容器vector的使用
#include <iostream>#include<vector>using namespace std;int main(){ vector<int> vec; int i; //显示vec的原始大小 cout<<"vector size="<<vec.size()<<end原创 2019-01-16 13:49:27 · 205 阅读 · 0 评论 -
c++ primer 第二章阅读笔记
变量和基本类型● 切勿混用带符号类型和无符号类型,当带符号类型取值为负数时候,带符号数会自动转为无符号类型● 十进制的字面形是有符号类型,八进制(以0开始),十六进制(以0x或0X开始)可以是有符号类型,也可以是无符号类型● 浮点形字面形是一个double● 单引号为字符自面型,双引号为字符串字面型● 注意:初始化不是赋值,初始化的含义是创建变量的时候赋予其一个初始值,而复制的含义是...原创 2019-02-28 14:54:26 · 89 阅读 · 0 评论 -
c++类和对象
原创 2019-02-28 15:04:40 · 103 阅读 · 0 评论 -
c++ 中的局部静态对象
//局部静态对象 不设置局部静态对象#include <iostream>using namespace std;int count_call(){ int a=0; return ++a;}int main(){ for (int i = 0; i <10 ; ++i) { cout<<"调用计数函数...原创 2019-02-28 15:36:13 · 1615 阅读 · 0 评论 -
c++ 指针传参数
//6.2.1//编写一个函数,使用指针形参交换两个整数的值。在代码中调用该函数并输出交换后的结果,以此验证函数的正确性。//#include <iostream>//using namespace std;////int jioahuan(int *p1,int *p2)//{// int a=*p1;// int b=*p2;// *p1=b...原创 2019-02-28 17:00:56 · 1099 阅读 · 0 评论 -
c++ 中.h 和.cpp
头文件(.h): 写类的声明(包括类里面的成员和方法的声明)、函数原型、#define常数等,但一般来说不写出具体的实现。 在写头文件时需要注意,在开头和结尾处必须按照如下样式加上预编译语句(如下): #ifndef CIRCLE_H#define CIRCLE_H//你的代码写在这里#endif 这样做是为了防止重复编译,不这样做就有可能出错。 ...转载 2019-02-20 16:42:54 · 2445 阅读 · 0 评论 -
类模板学习
#include <iostream>using namespace std;//1.类模板的概念/*template <class T>class person{public: person(T id,T mage) { this->id=id; this->mage=mage; }...原创 2019-06-06 10:07:18 · 139 阅读 · 0 评论 -
c++ 中四种类型转换
//2.类型转换//c++中的类型转换//四种类型装换符//static_cast(基础数据类型的转换和继承中父类与子类,指针与引用装换)//dynamic_cast(通常在基类和派生类之间转换时使用)//const_cast(主要针对const的转换)//reinterpret_cast(用于进行没有任何关联之间的转换,比如一个字符指针转换为一个整型数)//2.1 stacit...原创 2019-06-06 20:29:05 · 197 阅读 · 0 评论 -
c++中文件的读写
//文件的读写#include <fstream>void wenjian1()//文件的打开,读取,关闭 ios::in 读取文件 ios::out 写文件 ios::app 写文件的时候不覆盖原文件{ char * filename=""; char * filename1=""; ifstream readfile(filename,ios::...原创 2019-06-07 16:15:36 · 236 阅读 · 0 评论 -
c++中的标准输入输出流
#include <iostream>using namespace std;//输入和输出 相对于程序而说//键盘输入数据到程序 标准输入//程序数据输出到显示器 标准输出//标准输入+标准输出=标准I/O//文件的输入和输出 叫文件i/o//cout 标准输出(输入数据到显示器)//cin 标准输入//cerr 标准错误(输入数据到显示器)cerr没有...原创 2019-06-07 16:17:56 · 198 阅读 · 0 评论 -
c++ 实现堆,以及堆排序
//堆这种数据结构 是完全二叉树//区别完全二叉树和不完全二叉树//使用数组,构建堆//堆可以分为大顶堆,小顶堆//堆的两操作,push(向上渗透)pop(向下渗透)//由于堆顶要么是最大的,或者最小的元素,因此当利用堆排序的时候,将要排序的元素放入堆里,再依次从堆顶取出来,取出的元素按取出的顺序依次减小,或者依次增大,故为堆排序(从堆里依次取数据)*********...原创 2019-06-30 15:17:37 · 181 阅读 · 0 评论