c++
文章平均质量分 68
随风1505
这个作者很懒,什么都没留下…
展开
-
C++之函数适配器
函数适配器头文件:functional 系统仿函数和适配器头文件一、定义函数对象适配器是完成一些配接工作,这些配接包括绑定(bind),否定(negate),以及对一般函数或成员函数的修饰,使其成为函数对象。绑定器:bind1st 将参数绑定为二元函数对象的第一个参数。 操作的可调用对象,必须是仿函数bind2nd 将参数绑定为二元函数对象的第二个参数。 操作的可调用对象,必须是仿函数bind 将参数绑定为n元函数对象的,第n个参数。 操作的只要是可调用对象即可求反器: n原创 2021-03-29 19:51:49 · 466 阅读 · 0 评论 -
C++之仿函数
仿函数一、定义仿函数(Functor)又称为函数对象(Function Object)是一个能行使函数功能的类,仿函数是定义了一个含有operator()成员函数的对象,可以视为一个一般的函数,只不过这个函数功能是在一个类中的运算符operator()中实现,是一个函数对象,它将函数作为参数传递的方式来使用。STL 中也大量涉及到仿函数,有时仿函数的使用是为了函数拥有类的性质,以达到安全传递函数指针、依据函数生成对象、甚至是让函数之间有继承关系、对函数进行运算和操作的效果。比如 STL 中的容器原创 2021-03-29 18:42:43 · 2561 阅读 · 0 评论 -
C++11/14/17标准
C++11/14/17标准一、强制转换C风格的强制类型转换很简单,均用 Type b = (Type)a 形式转换。但是C风格的类型转换有不少的缺点:万物皆可转,不容易区分;不容易查找代码。因此C++给我们提供了4种类型转换操作符来应对不同场合。类型转换操作符作用static_cast静态类型转换(在编译期),编译器做类型检查,基本类型能转换,指针不能reinterpret_cast重新解释类型const_cast去const属性dynamic_cast原创 2021-03-19 20:23:22 · 505 阅读 · 0 评论 -
c++之多态
一、多继承拥有多个父类的继承,叫做多继承二义性例子class A{public: int a=4;};class C{public: int a = 2;};class B:public A,public C{public: void s() { //会产生二义性 //cout << a <<a<< endl;错误 cout << A::a <<B::a<< endl; }};原创 2021-03-12 16:31:50 · 241 阅读 · 0 评论 -
构造函数和析构函数
构造函数和析构函数一、构造函数定义:C++中的类可以定义与类名相同的特殊成员函数,这种与类名相同的成员函数叫做构造函数;构造函数在定义时可以有参数,因此可以 发生重载;没有任何返回类型的声明。构造函数的目的:初始化对象。调用:自动调用(隐式) 一般情况下C++编译器会自动调用构造函数(无参构造)手动调用(显示) 在一些情况下则需要手工调用构造函数(有参构造)构造函数的分类:无参构造函数、有参构造函数、拷贝构造函数、移动构造函数1、无参构造函数直接创建对象即可自动调用注意原创 2021-03-03 18:34:33 · 223 阅读 · 1 评论 -
c++运算符重载
c++运算符重载C++允许在同一作用域中的某一函数和运算符指定多个定义,分别为函数重载和运算符重载。一、运算符重载运算符重载,就是赋予运算符新的含义。和函数重载一样,一个函数名可以用来代表不同功能的函数。实质:调用函数的过程。1.1为什么要进行运算符重载?因为自定义类型不能直接采取运算符操作运算符重载是为了解决类对象之间的运算的,通常的运算符只用于算术运算,如常量int之间,因为编译器已经定义了;而一个类两个对象之间成员进行运算必须重新定义,让编译器在遇到对象运算时能按我们要求的进行运算原创 2021-03-03 15:21:45 · 499 阅读 · 0 评论 -
c++特殊成员
c++特殊成员一、关键字explicitexplicit关键字:是禁止通过构造函数进行的隐式转换。声明为explicit的构造函数不能在隐式转换中使用。注意:explicit用于修饰构造函数,防止隐式转换。是针对单个参数的构造函数(或者除了第一个参数外其余参数都有默认值的多参构造)而言。造成影响如下图**没加explicit时!**发生隐式转换有加explicit时,无法隐式转换原则上应该在所有的构造函数前加explicit关键字,当你有心利用隐式转换的时候再去解除explicit,这样原创 2021-03-02 09:35:01 · 109 阅读 · 0 评论 -
c++文件操作
文件操作1、文件的定义和打开ifstream类: 读文件ofstream类: 写文件专类专事(只能进行读或者写)所以我们会使用fstream去操作文件,它时ifstream和ofstream类的父类。定义文件 fstream file;1.打开文件 file.open(char* fileURL,int mode); mode: ios::in 读 ios::out 写(清空重写) ios::app 追加模式 不具有创建功能 ios::trunc:原创 2021-03-02 08:33:18 · 181 阅读 · 1 评论