
C++重学
文章平均质量分 67
励志成为编程大佬
一个在校大学生,分享一些自己在做项目的知识点、学习c\c++方面的知识点,励志成为编程大佬
展开
-
C++重学(9)——异常捕获和处理
程序异常抛出和处理异常处理分类方法功能用法noexcept修饰符(拓展:noexcept也可作为运算符)(C++11)debug模式下发现异常终止程序修饰一定不会错的函数throw函数主动抛出异常放在try中抛出异常assert函数debug模式下程序运行中发现逻辑为假时终止程序处理程序运行中逻辑判断程序是否继续运行static_assert函数(C++11)debug模式下程序编译中发现逻辑为假时终止程序编译在编译层面就可以进行逻辑判断,从而终止原创 2022-03-07 14:47:17 · 798 阅读 · 0 评论 -
C++重学(8)——智能指针
智能指针属于STL的智能指针,头文件<memory>智能指针分类unique_ptr 独享所有权(单个智能指针指向一块内存)shared_ptr共享所有权(多个智能指针指向同一块内存)unqiue_ptr创建方式语法 :构建方法说明std::unique_ptr<T> 智能指针变量名;创建空的智能指针std::unique_ptr<T> 智能指针变量名(new T);创建类型为T的智能指针std::unique_pt原创 2022-02-25 10:29:12 · 901 阅读 · 0 评论 -
C++重学(7)——vector容器
vector容器概念和数组非常相似vector可以动态扩展,但是数组不行指向一片连续的内存动态扩展是找个新的更大的空间来存放数据,而不是在后面接上新空间迭代器失效的情况:当vector找到新的更大的空间时,以前的迭代器就失效了构造方法作用vector v;采用模板实现类实现,默认构造函数vector(v.begin() , v.end())将v[begin(),end())区间中的元素拷贝给本身(注意是前闭后开)vector(n, elem)构造函数原创 2022-02-07 17:18:02 · 1565 阅读 · 3 评论 -
C++重学(6)——string容器
string容器概念本质:类和char* 的区别:string内部有个char*,并且封装了很多方法迭代器类型:随机迭代器(可用于标准算法、支持[]访问、-n、比较大小)常用方法构造方法作用string();创建一个空字符串,如string str;string(const char* s)使用字符串s初始化string(const string& str)使用一个string对象初始化另一个string对象string(int n ,cha原创 2022-02-07 15:34:35 · 2367 阅读 · 0 评论 -
C++重学(5)——谓词、内建函数对象
这里写自定义目录标题欢迎使用Markdown编辑器# 系列文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器# 系列文章原创 2022-01-28 17:16:08 · 820 阅读 · 1 评论 -
C++重学(4)——运算符重载
运算符重载概念:运算符也可以发生运算符重载内置数据类型不能滥用运算符重载(毕竟你不能让 1 + 1 = 3)一般运算符重载用于自定义数据类型语法返回类型 operator运算符(参数1,参数2……)+运算符示例 A A::operator+(const A& Obj)#include <cstdio>#include <iostream>using namespace std;class A {public: A(int a_val,int原创 2022-01-28 15:59:51 · 680 阅读 · 0 评论 -
C++重学(3)——深拷贝、浅拷贝问题
深拷贝、浅拷贝问题概念浅拷贝:简单的赋值拷贝操作 (有指针时注意)深拷贝:在堆区申请空间,进行拷贝操作浅拷贝出现时机默认拷贝拷贝构造(即只要出现默认拷贝构造就是浅拷贝,一下是拷贝构造出现时机)一个对象以值传递的方式传入函数体一个对象以值传递的方向从函数体返回一个对象需要跳过另一个方式从函数体返回默认的operator=函数中浅拷贝危害很容易带来堆区重复释放问题,重复释放堆区内存容易造成程序崩溃。问题常出点在于类中有指针时出现,如果不做深拷贝处理,一遇到浅拷贝,在析构时程序极原创 2022-01-28 14:06:57 · 435 阅读 · 0 评论 -
C++重学(2)——三种传参方式
C++传参方式分类值传递指针传递引用传递区别值传递:不会修改实参指针传递:会修改实参引用传递:会修改实参示例#include <cstdio>#include <iostream>using namespace std;void MySwapFunc1(int a, int b){ int temp = a; a = b; b = temp; cout << "值传递方式——函数中: " << "a = " <&l原创 2022-01-28 13:44:45 · 1198 阅读 · 0 评论 -
C++重学(1)——const修饰
const修饰记法:const修饰的是*就表示指针指向的值不可以改,const修饰p就表示指针不能改,用法分类名称示例解释常量指针const int *pconst修饰 * ,所以指针指向的值不能改变指针常量int * const pconst修饰 p ,所以指针的指向不能改变常量引用const int& num = 10;const修饰 引用 ,所以指针的指向和指针指向的值不能改变常对象const 类名 对象名const修饰对象,所以不原创 2022-01-28 11:43:18 · 575 阅读 · 0 评论