c++学习笔记
文章平均质量分 78
拒绝省略号
不知道写什么,但是写了可以证明自己不懒。
展开
-
C++学习笔记24-STL常用容器之string、vector、deque容器
string容器24.1 string 基本概念24.2 string 构造函数24.3 string 赋值操作24.1 string 基本概念本质:string是C++风格的字符串,其本质上是一个被封装好的类string和char*区别:char* 是一个指针string 是一个类,类内部封装了char*,管理这个字符串,是一个char* 型的容器。特点:string类内部封装了很多成员方法例如:查找find,拷贝copy,删除delete,替换replace,插入insert原创 2022-03-23 20:40:40 · 222 阅读 · 0 评论 -
C++学习笔记23-STL初识与vector的简单实用
STL初识22.1 前言-STL的诞生22.2 STL基本概念22.3 STL六大组件22.4 STL中容器、算法、迭代器22.4.1 容器22.1 前言-STL的诞生长久以来,软件界一直希望建立一种可重复利用的东西。C++的面向对象和泛型编程思想,目的就是复用性的提升。大多数情况下,数据结构和算法都未能有一套标准,导致被迫从事大量重复工作。为了建立数据结构和算法的一套标准,诞生了STL。22.2 STL基本概念STL(standard Template Library , 标准模板库原创 2022-03-22 21:04:11 · 174 阅读 · 0 评论 -
C++学习笔记13-类和对象-封装及案例、案例与分文件定义声明类相关
类和对象-封装12.1 封装-属性和行为作为整体12.1 封装-属性和行为作为整体原创 2022-02-23 13:07:28 · 511 阅读 · 0 评论 -
C++学习笔记22-类模板与数组类封装案例
类模板22.0 前言22.1 类模板语法22.2 类模板和函数模板区别22.3 类模板中成员函数创建时机22.4 类模板对象做函数参数(有查看数据类型语法小知识)22.5 类模板与继承22.622.0 前言之前已学习了函数模板的相关知识,接下来学习类模板的相关知识。22.1 类模板语法类模板作用:建议一个通用类,类中的成员数据类型可以不具体指定,用一个虚拟的类型来代表。语法:template<typename T,typename U,typename V,...> //类中原创 2022-03-19 18:10:55 · 1510 阅读 · 0 评论 -
C++使用引用的方法向函数传递数组,避免因传入函数而导致退化为指针,正确在函数中计算数组的大小。
目录1.问题原理方法1——用基本语法方法2——用函数模板后话1.问题我们知道,当我们将数组作为参数传递为一个函数后,数组会退化为指针。这样就导致我们无法正确在函数中计算数组的大小。#include<iostream>using namespace std;int func(int* arr){ return sizeof(arr);}int main(){ int Arr[] = { 2,4,3,1,73,0 }; cout << func(Arr) <原创 2022-03-17 19:12:21 · 2144 阅读 · 1 评论 -
C++学习笔记21-函数模板
模板21.0 模板的概念21.1 函数模板语法21.2 函数模板注意事项本阶段主要针对C++泛型编程和STL技术做详细讲解 , 探讨C++更深层的使用。21.0 模板的概念模板就是建立通用的模具,大大提高复用性。例如生活中的模板:一寸照片模板,PPT模板,word模板模板的特点:模板不可以直接使用,它只是一个框架。模板的通用并不是万能的。C++中另一种编程思想称为泛型编程,主要利用的技术就是模板。C++提供两种模板机制:函数模板和类模板21.1 函数模板语法函数模板作用:建立一原创 2022-03-17 22:52:05 · 749 阅读 · 0 评论 -
C++学习笔记20-文件操作
文件操作20.0 前言20.1 文本文件20.1.1 写文件20.1.2 读文件20.0 前言程序运行时产生的数据都属于临时数据,程序一旦运行结束都会被释放。通过文件可以将数据持久化。C++中文件操作需要包含头文件——<fstream>。文件类型分为两种:文本文件 - 文件以文本的ASCII码形式存储在计算机中二进制文件 - 文件以文本的二进制形式存储在计算机中,用户一般不能直接读懂它们。文件操作的三大类:ofstream:写操作ifstream:读操作fstream原创 2022-03-12 17:12:41 · 1669 阅读 · 0 评论 -
C++学习笔记19-多态
多态19.1 多态的基本概念19.1.1 静态多态和动态多态19.1.2 多态的原理刨析19.2 多态案例19.1 多态的基本概念19.1.1 静态多态和动态多态多态是C++面向对象三大特性之一(封装、继承、多态)多态分为两类:静态多态:函数重载和运算符重载属于静态多态,复用函数名。动态多态:派生类和虚函数实现运行时多态。静态多态和动态多态区别:静态多态的函数地址早绑定——编译阶段确定函数地址。动态多态的函数地址晚绑定——运行阶段确定函数地址。下面通过案例进行讲解多态:#inc原创 2022-03-11 19:56:37 · 734 阅读 · 0 评论 -
C++学习笔记18-类和对象-继承
类和对象-继承18.0 前言18.1 继承的基本语法18.2 继承方式18.3 继承中的对象模型18.0 前言继承是面向对象三大特性之一。有些类与类之间存在特殊的关系,例如下图中:我们发现,定义这些类时,下级别的成员除了拥有上一级的共性,还有自己的特性。这个时候我们就可以考虑利用继承的技术,减少重复代码。18.1 继承的基本语法例如我们看到很多网站中,都有公共的头部,公共的底部,甚季公共的左侧列表,只有中心内容不同。接下来我们分别利用普通写法和继承的写法来实现网页中的内容,看下继承存原创 2022-03-08 12:46:37 · 655 阅读 · 0 评论 -
C++学习笔记17-类和对象-运算符重载
类和对象-运算符重载17.0 前言17.1 加号运算符重载17.0 前言运算符重载概念:对已有的运算符重新进行定义,赋予其另一种功能,以适应不同的数据类型。语法:返回类型 operator<运算符符号>(<参数>){}//operator<运算符符号>为operator+,operator- ...17.1 加号运算符重载作用:实现两个自定义数据类型相加的运算。#include<iostream>using namespace st原创 2022-03-06 23:18:02 · 484 阅读 · 0 评论 -
C++学习笔记16-类和对象-友元,以及类的定义和声明顺序问题
类和对象-友元原创 2022-03-04 13:12:01 · 513 阅读 · 0 评论 -
C++学习笔记15-类和对象-C++对象模型和this指针
类和对象-C++对象模型和this指针15.1 成员变量和成员函数分开存储15.1 成员变量和成员函数分开存储在C++中,类内的成员变量和成员函数分开存储。只有非静态成员变量才属于类的对象上。示例:#include<iostream>using namespace std;//成员变量和成员函数的分开class Person{};class Person_2{ int m_A; //非静态成员变量属于类的对象上 static string m_Name;原创 2022-03-02 16:50:21 · 540 阅读 · 0 评论 -
C++学习笔记14-类和对象-对象特性
类和对象-对象特性14.0 前言14.1 构造函数和析构函数14.0 前言生活中我们买的电子产品都基本会有出厂设置[在某一天我们不用时候也会删除一些自己信息数据保证安全。C++中的面向对象来源于生活,每个对象也都会有初始设置以及对象销毁前的清理数据的设置。14.1 构造函数和析构函数对象的初始化和清理也是两个非常重要的安全问题 一个对象或者变量没有初始状态,对其使用后果是未知。 同样的使用完一个对象或变量,没有及时清理,也会造成一定的安全问题 。C++利用了构造函数和析构函数解决原创 2022-03-01 18:00:41 · 725 阅读 · 0 评论 -
C++学习笔记12-函数提高
函数提高11.1 函数默认参数11.2 函数占位参数11.1 函数默认参数在C++中,函数形参列表中的形参是可以有默认值的。语法:返回值类型 函数名 (参数=默认值){}注意:如果参数列表里某个位置已经有了默认参数,那么从这个参数之后的所有参数都要有默认值。如果函数定义在调用之后,声明处必须有默认参数(分文件定义函数也是这样,可以理解为两种情况都是因为在函数调用时找不到这个函数定义,所以需要在声明里有默认参数)。如果定义在调用之前,调用在声明和定义有一个必须有默认参数,但是也只能有一个有原创 2022-02-21 11:23:12 · 84 阅读 · 0 评论 -
C++学习笔记11-C++中的引用
C++中的引用11.1 引用的基本使用11.3 引用做函数参数11.1 引用的基本使用作用: 给变量起别名,就是让新名字的参数指向了原名字参数的地址。语法:数据类型& 别名 = 原名; 别名和原名的数据类型是相同的。#include<iostream>using namespace std;int main(){ int a = 10; int& b = a; cout << "a的地址: " << &a <&l原创 2022-02-20 14:31:51 · 548 阅读 · 0 评论 -
C++学习笔记10-程序的内存分区模型及new操作符
10.0 C++核心编程学习C++面向对象编程技术, 探讨C++中的核心和精髓.10.1 内存分区模型C++程序在执行时,将内存大方向划分为4个区域:代码区:存放函数体的二进制代码,由操作系统进行管理的。全局区:存放全局变量和静态变量以及常量。栈区:由编译器自动分配释放,存放函数的参数值,局部变量等。堆区:由程序员分配和释放,若程序员不释放程序结束时由操作系统回收。内存四区意义: 不同区域存放的数据,赋予不同的生命周期,给我们更大的灵活编程。10.2 程序运行前在程原创 2022-02-18 22:50:02 · 587 阅读 · 0 评论 -
C++学习笔记9-通讯录管理系统
9.1 系统要求9.2 创建项目vs正常操作, 不多说。9.3 菜单功能//显示菜单界面void showMenu(){ cout << "*****************************" << endl; cout << "*****\t1、添加联系人\t*****" << endl; cout << "*****\t2、显示联系人\t*****" << endl; cout << "原创 2022-02-18 00:04:42 · 584 阅读 · 0 评论 -
C++学习笔记7-指针
指针7.1 指针的基本概念7.2 指针变量的定义和使用7.3 指针所占内存空间7.4 空指针和野指针7.5 const修饰指针7.6 指针和数组7.7 指针和函数7.8 指针、数组、函数7.1 指针的基本概念作用:可以通过指针间接访问内存。内存编号是从0开始记录的,一般用十六进制数字表示。可以利用指针变量保存地址。7.2 指针变量的定义和使用指针变量定义语法:数据类型* 变量名;&可以取地址;*可以取地址存放的值示例:#include<iostream>usi原创 2022-02-14 23:20:34 · 119 阅读 · 0 评论 -
C++学习笔记6-函数
6.1 概述作用:将一段经常使用的代码进行封装起来,减少重复代码。一个较大的程序,一般分为若干个程序块,每个模块实现特定的功能。6.2 函数的定义及调用函数的定义一般主要有5个步骤:1、返回值类型:一个函数可以返回一个值,需要知道这个值的类型。2、函数名:给函数起个名字。3、参数表列:使用该函数时,传入的数据。4、函数体语句:花括号内的代码,函数内需要执行的语句。5、return 表达式:和返回值类型挂钩,函数执行完后,返回相应的数据。定义语法:返回值类型 函数名(参数列表){ 函原创 2022-02-14 15:24:53 · 242 阅读 · 0 评论 -
C++学习笔记5-数组
5.1 概述所谓数组,就是一个集合,里面存放了相同类型的数据元素。特点1:数组中的每个数据元素都是相同的数据类型。特点2:数组是由连续的内存位置组成的。5.2 一维数组5.2.1 一维数组定义方式一共有三种1.数据类型 数组名[数组长度];2.数据类型 数组名[数组长度]={值1,值2,值3,...};3.数据类型 数组名[]={值1,值2,值3,...};#include<iostream>using namespace std;int main(){ //第一原创 2022-02-13 20:44:58 · 397 阅读 · 0 评论 -
C++学习笔记4-程序流程结构、循环案例与真伪随机数有关
C/C++支持最基本的三种程序运行结构:顺序结构、选择结构、循环结构。顺序结构就是顺着写代码,不想多说。4.1 选择结构4.1.1 if语句(和C没啥不一样)作用:执行满足条件的语句if语句的三种形式:单行格式if语句语法: if(条件){条件满足执行的语句}#include<iostream>using namespace std;int main(){ //用户输入分数,如果分数大于600,视为考上一本大学,在屏幕上输出 //1.用户输入分数 int原创 2022-02-12 18:49:11 · 340 阅读 · 0 评论 -
C++学习笔记3-运算符
运算符的作用:用于执行代码的运算主要有:3.1 算术运算符用于处理四则运算对于前置递增:将递增运算前置,使变量先加一,再进行表达式运算。对于后置递增:将递增运算后置,使变量先进行表达式运算,再加一。#include<iostream>using namespace std;int main(){ //1.前置递增:先加一,再进行表达式运算 int a = 10; int b = ++a * 10; cout << "a = " << a &l原创 2022-02-08 17:13:07 · 99 阅读 · 0 评论 -
C++学习笔记2-数据类型
前言:C++不像python,创建变量的时候必须指定类型,这样才能给变量分配一个合适的内存空间。2.1 整型作用:整型变量表示的是整型类型的数据整型的数据类型有4种(最常用的是int),其区别在于所占内存空间不同:#include<iostream>using namespace std;int main(){ //整型 //1.短整型 short num1 = 32768; //2.整型 int num2 = 10; //3.长整型 long num3 = 10;原创 2022-02-06 20:32:32 · 457 阅读 · 0 评论 -
C++学习笔记1-hello world
0. Visual Studio 安装下载安装https://visualstudio.microsoft.com/zh-hans/vs/成功后,新建—项目—空项目(第一个)在源文件中添加cpp文件即可1.1 hello world代码#include<iostream>using namespace std;int main(){ cout << "hello world/C++" << endl; system("pause"); retur原创 2022-02-05 17:06:04 · 464 阅读 · 0 评论