
C++学习
文章平均质量分 87
十月翊安
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
C++学习——重载运算与类型转换
C++学习——重载运算与类型转换基本概念重载输出运算符 <<重载>>算术运算符相等运算符关系运算符赋值运算符复合赋值运算符下标运算符递增和递减运算符成员访问运算符函数调用运算符可调用对象与function重载、类型转换与运算符基本概念重载的运算符是具有特殊名字的函数:它们的名字由关键字 operator 和其后要定义的运算符号共同组成。重载运算符函数的参数数量与该运算符作用的运算对象数量一样多。除了重载的函数调用运算符operator()之外,其他重载运算符不能含有默认实参。原创 2022-02-05 15:01:13 · 1444 阅读 · 0 评论 -
C++学习——面向对象程序设计
C++学习——面向对象程序设计OOP:概述定义基类和派生类定义基类定义派生类虚函数抽象基类OOP:概述面向对象程序设计的核心思想是数据抽象、继承和动态绑定。通过使用数据抽象,可以将类的接口与实现分离;使用继承,可以定义相似的类型并对其相似关系建模;使用动态绑定,可以在一定程度上忽略相似类型的区别,而以统一的方式使用它们的对象。继承通过继承联系在一起的类构成一种层次关系。通过在层次关系的根部有一个基类,其他类则直接或间接地从基类继承而来,这些继承得到的类称为派生类。基类负责定义在层次关系中所有类原创 2022-02-05 13:35:46 · 2102 阅读 · 0 评论 -
C++学习——模板与泛型编程
C++学习——模板与泛型编程定义模板函数模板类模板模板参数成员模板控制实例化模板实参推断类型转换与模板类型参数函数模板显式实参函数指针和实参推断定义模板函数模板可以定义一个通用的函数模板,而不是为每个类型都定义一个新函数。一个函数模板就是一个公式,可用来生成针对特定类型的函数版本。compare 的模板版本可能像下面这样:template <typename T>int compare(const T &v1, const T &v2){ if (v1 <原创 2022-02-03 23:33:15 · 652 阅读 · 0 评论 -
C++学习——异常处理
C++学习——异常处理异常处理抛出异常捕获异常函数 try 语句块与构造函数noexcept 异常说明异常类层次异常处理异常处理机制允许程序中独立开发的部分能够在运行时就出现的问题进行通信并做出相应的处理。异常使得我们能够将问题的检测与解决过程分离开来。检测环节无须知道问题处理模块的所有细节,反之亦然。抛出异常在C++语言中,通过抛出一条表达式来引发一个异常。被抛出的表达式的类型以及当前的调用链共同决定了哪段处理代码将被用来处理该异常。当执行一个 throw 时,跟在 throw 后面的语句将原创 2022-02-03 16:07:22 · 1566 阅读 · 0 评论 -
C++学习——拷贝控制
C++学习——拷贝控制拷贝控制拷贝、赋值与销毁拷贝构造函数拷贝赋值运算符析构函数三/五法则使用 =default阻止拷贝拷贝控制和资源管理行为像值的类定义行为像指针的类拷贝控制拷贝、赋值与销毁拷贝构造函数拷贝赋值运算符析构函数三/五法则使用 =default阻止拷贝拷贝控制和资源管理行为像值的类定义行为像指针的类学习参考资料:C++ 中文版 Primer (第5版)...原创 2022-02-01 23:43:57 · 912 阅读 · 0 评论 -
C++学习——动态内存与智能指针
C++学习——动态内存与智能指针动态内存与智能指针shared_ptr 类直接内存管理shared_ptr 和 new 结合使用智能指针和异常unique_ptrweak_ptr动态内存与智能指针动态内存的管理是通过一对运算符来完成:new,在动态内存中为对象分配空间并返回一个指向该对象的指针,可以选择对对象进行初始化:delete,接受一个动态对象的指针,销毁该对象,并释放与之关联的内存。为了更容易(同时也更安全)地使用动态内存,新的标准库提供了两种智能指针类型来管理动态对象。智能指针与常规指针的原创 2022-02-01 15:05:19 · 1487 阅读 · 0 评论 -
C++学习——类的基础
C++学习——类的基础常量对象,常量成员函数常量对象的引用和指针不能调用类的普通的成员函数。只能调用常量成员函数。常量成员函数:把const放在类成员函数参数列表后。[表示隐含的this是一个指向常量的指针]当创建一const对象时,直到构造函数完成初始化过程,对象才取得其常量属性。友元类可以允许其他类或函数访问它的非公有成员,方法是令其他类或函数成为它的友元。友元:在类内为对应函数(成员函数或非成员函数)或类加上一个friend开头的声明。把一个A类的成员函数FunA声明为令一个类B的友元原创 2022-01-29 15:13:10 · 945 阅读 · 0 评论 -
C++学习笔记—— try 语句块和异常处理
C++学习—— try 语句块和异常处理try 语句块和异常处理throw 表达式try 语句块标准异常try 语句块和异常处理异常是指存在于运行时的反常行为,这些行为超出了函数正常功能的范围。异常处理机制为程序中异常检测和异常处理这两部分的协作提供支持。C++中,异常处理包括:throw 表达式,异常检测部分使用 throw 表达式来表示它遇到了无法处理的问题。 (throw 引发了异常)try 语句块,异常处理部分使用 try 语句块处理异常。try 语句块以关键字 try 开始,并以一原创 2022-01-28 16:26:34 · 1407 阅读 · 0 评论 -
C++学习笔记—— const 限定符
C++学习—— const 限定符const 限定符const 的引用指针和 const顶层 constconst 限定符可以用关键字 const 对变量的类型加以限定。例如:const int bufsize = 512; // 输入缓冲区大小这样就把 bufsize 定义成了一个常量。 任何试图为 bufsize 赋值的行为都将引发错误:bufsize = 512; // 错误:试图向 const 对象写值const 对象一旦创建后其值就不能再改变,所以 const 对象必原创 2022-01-28 10:01:59 · 1292 阅读 · 0 评论 -
C++学习笔记——复合类型:引用
C++学习——复合类型:引用复合类型(compound type)是指基于其他类型定义的类型。一条声明语句由一个基本数据类型(base type)和紧随其后的一个声明符列表组成。每个声明符命名了一个变量并指定该变量为与基本数据类型有关的某种类型。引用引用为对象起了另外一个名字,引用类型引用另外一种类型。通过将声明符写成 &d 的形式来定义引用类型,其中 d 是声明的变量名:int ival = 1024;int &refVal = ival; //refVal原创 2022-01-27 11:20:32 · 362 阅读 · 0 评论 -
C++学习笔记——基础语法(二)
C++学习——基础语法C++ 运算符算术运算符关系运算符逻辑运算符位运算符赋值运算符杂项运算符C++ 中的运算符优先级C++ 循环循环类型循环控制语句无限循环C++ 判断判断语句? : 运算符C++ 函数定义函数函数声明调用函数函数参数参数的默认值Lambda 函数与表达式C++ 数字C++ 定义数字C++ 数学运算C++ 随机数C++ 数组声明数组初始化数组访问数组元素C++ 中数组详解C++ 字符串C 风格字符串C++ 中的 String 类C++ 指针什么是指针?C++ 中使用指针C++ 指针详解C+原创 2022-01-26 14:55:12 · 1347 阅读 · 0 评论 -
C++学习笔记——基础语法(一)
C++学习——基础语法C++基本语法C++ 程序结构C++ 中的分号 & 语句块C++ 标识符C++ 关键字C++ 中的空格C++ 注释C++ 数据类型typedef 声明枚举类型C++ 变量类型C++ 中的变量定义C++ 中的变量声明C++ 中的左值(Lvalues)和右值(Rvalues)C++ 变量作用域局部变量全局变量初始化局部变量和全局变量C++ 常量整数常量浮点常量布尔常量字符常量字符串常量定义常量#define 预处理器const 关键字C++ 修饰符类型C++ 中的类型限定符C++原创 2022-01-26 12:11:09 · 894 阅读 · 0 评论