
C++
糊面包包专属
态度决定一切!
展开
-
21. C++中的多线程技术
21.1 多线程的三种创建方式1)使用函数指针创建#include <iostream>#include <thread>using namespace std;void func1(){ for (int i = 0; i < 5; i++) cout << "thread 1" << endl;}int...原创 2019-10-15 12:18:06 · 146 阅读 · 0 评论 -
20. C++11新特性和高级特性
20.1 C++11新特性1)统一的初始化方法:使用{ }初始化数组和容器int arr[3]{1, 2, 3};vector<int> iv{1, 2, 3};map<int, string> mp{{1, "a"}, {2, "b"}};string str{"Hello World"};int * p = new int[20]{1,2,3};struc...原创 2019-10-14 15:24:46 · 1108 阅读 · 0 评论 -
19. 函数模板和类模板
19.1 函数模板1)函数模板解决逻辑相同,类型不同的函数,编译器2)函数模板写法:template<class 类型1, class 类型2 ....>函数返回值类型 函数名(参数列表){ 函数体;}(1)示例1:交换两个数字#include <iostream>#include <cstring>#include <fstream...原创 2019-10-12 17:32:00 · 204 阅读 · 0 评论 -
18. 输入和输出
18.1 输入和输出1)与输入输出相关的类:(1)istream就是用于输入的流类,cin就是该类的对象(2)ostream就是用于输出的流类,cout就是该类的对象(3)ifstream是用于从文件读取数据的类(4)ofstream是用于向文件写入数据的类(5)iostream是既能用于输入又能用于输出的类(6)fstream是既能用于文件读取又能向文件写入的类2)标准流对象...原创 2019-10-12 11:43:18 · 346 阅读 · 0 评论 -
10. 指针
10.1 指针的概念1)每个变量都是存放在某个内存地址(以字节为单位)开始的若干个字节中.2)指针也叫作指针变量,大小为4个字节(或8个)的变量,其内容代表一个内存地址.3)通过指针,能够对该指针指向的内存区域进行读写.4)如果把内存中的每个字节都想像成宾馆的一个房间,那么内存地址就相当于房间号,而指针里存放的就是房间号.5)指针的定义:类型名 * 指针变量名;int* p; ...原创 2019-09-30 20:24:52 · 526 阅读 · 0 评论 -
11. 结构和变量生存期
11.1 结构1)在现实问题中,常常需要用一组不同类型的数据来描述一个事物,比如学生的姓名、学号和成绩.2)如果编程时要用多个不同类型的变量来描述一个事物,就很麻烦,当然希望只用一个变量就能代表一个“学生”这样的事物3)C++允许程序员自己定义新的数据类型。因此针对学生这种事物,可以定义一种新名为Student的数据类型,一个Student类型的变量就能描述一个学生的全部信息.4)用关键字...原创 2019-10-01 22:32:06 · 659 阅读 · 0 评论 -
12. 从C到C++
12.1 引用的概念和应用1)下面的写法定义了一个引用,并将其初始化为某个变量类型名 & 引用名 = 某变量名;int n = 4;int & r = n; //r引用了n,r的类型是int &2)某个变量的引用,等价于这个变量,相当于这个变量的别名,改变了引用变量的值,也就改变了这个变量的值int n = 4;int & r = n;cout &...原创 2019-10-07 10:54:35 · 162 阅读 · 0 评论 -
13. 类和对象基础
13.1 结构化程序设计和面向对象程序设计1)C语言的结构化程序设计(1)程序 = 数据结构 + 算法(2)程序由全局变量以及众多相互调用的函数组成(3)算法以函数的形式存在,用于对数据结构进行操作2)结构化程序设计的不足(1)结构化程序设计中,函数和其所操作的数据结构没有直观的联系(2)随着程序规模的增大,程序逐渐难以理解,很难一下子看出来a)某个数据结构到底那些函数可以操作它...原创 2019-10-08 16:34:21 · 533 阅读 · 0 评论 -
14. 类和对象提高
14.1 this指针1)this的作用就是指向成员函数所作用的对象2)非静态成员函数中可以直接使用this来代表指向该函数作用的对象的指针class Complex{public: double real, imag; void Print(){cout << real << " " << imag << endl;} Complex...原创 2019-10-09 15:51:18 · 174 阅读 · 0 评论 -
15. 运算符重载
15.1 运算符重载的基本概念1)C++预定义的运算符,只能用于基本数据类型,但有时候需要对象之间也可以通过运算符进行运算,这样可以使代码更简洁也更容易理解2)例如两个复数a和b,求两个复数的和,希望可以直接写成 a+b3)运算符重载就是对已有的运算符赋予多重的含义,使统一运算符作用于不同数据类型时导致不同类型的行为4)运算符重载的目的就是扩展运算符的适用范围,使之适用于对象5)同一个运...原创 2019-10-09 16:28:19 · 370 阅读 · 0 评论 -
16. 继承和派生
16.1 继承和派生的基本概念1)继承:在定义一个新的类B时,如果该类与某个已有的类A相似(指的是B拥有A的全部特点),那么就可以把A作为一个基类,而把B作为积累的一个派生类(也叫子类)2)派生类是通过对基类进行修改和扩充得到的3)派生类一经定义后,可以独立使用,不依赖于基类4)派生类拥有积累的全部成员函数和成员变量,不管是private、protected、public5)派生类的各个...原创 2019-10-10 11:42:01 · 422 阅读 · 0 评论 -
17. 虚函数和多态
17.1 虚函数和多态的基本概念1)在类的定义中,前面有virtual关键字的成员函数就是虚函数class base{ virtual int get();};(1)virtual关键字只出现在类定义里的函数声明中,写函数体时不用(2)构造函数和静态函数不能是虚函数2)多态的表现形式一:(1)派生类的指针可以赋给基类指针(2)通过基类指针调用基类和派生类中的同名虚函数时,若该指...原创 2019-10-10 16:50:25 · 316 阅读 · 0 评论 -
9. 字符串
C++中的字符串有三种形式(1)用括号括起来的字符串常量,如"CHINA".(2)存放于字符数组中,以’\0’字符结尾(ASCII码为0).(3)string对象,string是C++标准模板库里的一个类,专门用来处理字符串.9.1 字符串常量1)字符串常量战绩内存字节数等于字符串数目加1,多出来的是结尾字符’\0’.2)字符串"C program"在内存中的布局如下:3)字符串的长...原创 2019-09-30 10:14:28 · 319 阅读 · 0 评论 -
8. 函数
8.1 函数简介1)函数可以实现将某个功能的代码保险行起来,调用的时候只需一条语句,就可以使用该功能.2)函数的定义如下返回值类型 函数名(参数1类型 参数1名称, 参数2类型 参数2名称......){ 函数体;}3)如果不需要返回值,则返回值类型可以写void.4)调用函数函数名(参数1,参数2......);5)对函数的调用也是一个表达式,函数调用表达式的值由函数内部的...原创 2019-09-29 22:01:12 · 692 阅读 · 0 评论 -
7. 数组
7.1 数组的概念数组:可以用来表达类型相同的元素的集合,集合的名字就是数组名.数组里的元素都有编号,元素的编号叫下标,通过数组名和下标就能访问元素.一维数组的定义方法如下:类型名 数组名[元素个数];其中元素个数必须是常量或者常量表达式,不能是变量,而且其值必须是正整数,元素个数也称为数组的长度.int a[100]; //名字为a的数组,有100个元素,每个元素都是一个int型变...原创 2019-09-29 16:44:10 · 424 阅读 · 0 评论 -
CMakeList使用方法总结
CMakeLists的基本用法总结#CMake常用预定义变量PROJECT_SOURCE_DIR 所运行的CMakeList.txt所在文件夹下的工程目录CMAKE_CURRENT_SOURCE_DIR 当前处理的CMakeLists.txt所在的目录CmakeList的编写和参数详解https://blog.youkuaiyun.com/wfei101/article/details/771502...转载 2019-05-18 21:44:09 · 2374 阅读 · 0 评论 -
C++ lambda表达式的简单使用
#include #include using namespace std;/*lambda表达式auto func = 捕获列表mutable ->返回类型{函数体}; | 默认为const捕获列表[=] 表示函数体内用到的变量以值形式进行传递[&] 表示函数体...原创 2019-06-02 19:00:15 · 235 阅读 · 0 评论 -
1. C++简介
众所周知,C语言是最高效的编程语言。而C++是C语言基础上发展起来的一门编程语言。C++ = C + 面向对象 + STL。STL是C++中让你节省大量编程时间的神器!!!...原创 2019-09-26 20:44:09 · 178 阅读 · 0 评论 -
2. C++初探
第一个C++程序:输出#include <iostream>#include <cstdio>using namespace std;int main(){ printf("Hello,World"); //printf()就是用来输出的函数 "Hello,world!"就是要输出的内容 return 0;}Hello,World!第二...原创 2019-09-28 14:10:52 · 533 阅读 · 0 评论 -
4. 变量和常量
3.1基本介绍1.变量:变量就是一个代号,变量就代表系统分配的那片内存空间,对变量的访问就是对这块内存空间的访问。2.变量有名字和类型两种属性,不同变量的名字就代表了内存中的不同地址,变量的类型,就决定一个变量占用多少字节...原创 2019-09-28 14:26:35 · 216 阅读 · 0 评论 -
3. 输入输出详解
3.1 输入和输出进阶在printf和scanf中可以使用"%"开头的控制符,说明要输入或者输出的数据类型以及格式。常见的输入输出控制符如下:用scanf可以一次读入多个类型不同的变量,只要输入的各项之间用空格分隔即可。#include<iostream>#include<cstdio> //使用printf,scanf必须要有这一行using nam...原创 2019-09-28 22:24:39 · 277 阅读 · 0 评论 -
4. 运算符以及表达式
4.1 赋值和算数运算符赋值运算符用于给变量赋值,常用的有以下六种:= 、 +=、-=、*=、/=、%=算术运算符用于数值运算,运算符+操作数构成表达式+、-、*、/、++、--、% a+b、a-b、a*b这三个表达式的值得类型以操作数中精度高的为准;精度:double > long long > int > short > char如:2 * 0.5 =...原创 2019-09-28 23:56:28 · 212 阅读 · 0 评论 -
5. 条件分支语句
5.1 if语句5.1.1 if语句的表达形式有的时候,并不是所有语句都要被顺序执行到,会有满足某种条件就执行这部分语句,满足另一条件就执行另一部分语句。这就需要条件分支结构。形式如下:if(表达式1){ //依次计算表达式1、表达式2...只要碰到一个表达式i为真,就执行语句组i 语句组1; //后面的表达式不在计算,后面的语句也不会被执行。} //如果所有表达式都...原创 2019-09-29 09:48:02 · 1445 阅读 · 0 评论 -
6. 循环语句
循环语句用于将某段代码执行若干次!!!6.1 for循环for循环基本形式如下:for (表达式1;表达式2;表达式3){ 语句组;}执行步骤如下:1)计算表达式1.2)计算表达式2,若为true,则执行语句组,然后转到3,若为false,for语句结束.3)计算表达式3.4)转到2).5)从for语句后面继续执行.例题:连续输出26个字母:#include <i...原创 2019-09-29 11:02:03 · 330 阅读 · 0 评论