1. 背景: C++有不同的调用形式:函数指针、lambda表达式、有operator()的类对象等。 形式不同但调用方式却相同。为了能够统一,引入std::function和std::bind,来实现。 例子: // 普通函数 int add(int a, int b){return a+b;} ...
分类:
编程语言 时间:
2020-11-08 17:55:55
阅读次数:
33
C++ 基本语法 C++ 程序可以定义为对象的集合,这些对象通过调用彼此的方法进行交互。现在让我们简要地看一下什么是类、对象,方法、即时变量。 对象 - 对象具有状态和行为。例如:一只狗的状态 - 颜色、名称、品种,行为 - 摇动、叫唤、吃。对象是类的实例。 类 - 类可以定义为描述对象行为/状态的 ...
分类:
编程语言 时间:
2020-11-08 17:13:18
阅读次数:
20
作者:georgeguo链接:https://www.jianshu.com/p/f191e88dcc80来源:简书 可调用对象的几种定义 是一个函数指针 是一个具有operator()成员函数的类的对象; 可被转换成函数指针的类对象; 一个类成员函数指针; C++中可调用对象的虽然都有一个比较统一 ...
分类:
编程语言 时间:
2020-11-07 16:21:58
阅读次数:
22
面向对象方法具有三个基本特征: 封装、继承、多态 封装:将对象的实现细节隐藏起来 继承: 实现软件复用的重要手段,就像人与猴子继承于灵长类动物,都有五官与四肢等属性,以及跑步、吃饭等行为。 多台:子类对象可以直接赋予父类变量(不同子类之间可能某项数值不同) Java强调以现实世界中的事务(对象)为中 ...
分类:
其他好文 时间:
2020-11-02 10:32:34
阅读次数:
20
函数对象和谓词定义 函数对象: 重载函数调用操作符的类,其对象常称为函数对象(function object),即它们是行为类似函数的对象。一个类对象,表现出一个函数的特征,就是通过“对象名+(参数列表)”的方式使用一个类对象,如果没有上下文,完全可以把它看作一个函数对待。 这是通过重载类的oper ...
分类:
其他好文 时间:
2020-11-02 10:31:43
阅读次数:
24
1.switch() 括号内的对象可以是 char byte short int String 枚举类对象 2.注解:文档注解 @Annotation()括号内必须给成员变量赋值 3.原注解:对现有注解修饰的注解 元数据:对现有数据修饰的数据 RUNTIME 可用反射获取,其他的生命周期都不行 CL ...
分类:
其他好文 时间:
2020-10-29 09:29:01
阅读次数:
14
1.如果类A可能会被继承,那么A的析构函数一定要被设置为virtual虚函数; 原因:如果基类的析构函数不是虚函数,当创建一个基类指针指向一个派生类对象,当释放此基类指针时,子类的析构函数不会被调用; 如下: class CFather { public: CFather(); virtual ~C ...
分类:
编程语言 时间:
2020-10-21 20:42:11
阅读次数:
21
针对常用到的this、super关键字进行总结。this关键字用来指代当前对象,super用来指代父类对象。 ...
分类:
其他好文 时间:
2020-10-18 17:14:54
阅读次数:
38
1、Lombok简介 Lombok是一个插件,其主要用途是提供了简单的注解的形式来帮助我们简化消除一些必须有但显得很臃肿的 java 代码,提高编码效率,使代码更简洁。 Lombok能以简单的注解形式来简化java代码,提高开发人员的开发效率。例如开发中经常需要写的javabean,都需要花时间去添 ...
分类:
其他好文 时间:
2020-10-18 17:10:57
阅读次数:
34
为什么有的时候,析构函数必须是虚函数? 将可能会被继承的父类的析构函数设置为虚函数,可以保证当我们new一个子类的时候,然后使用基类指针指向该子类对象,释放基类指针的时候,可以释放掉子类空间,防止内存泄漏。 c++默认的析构函数不是虚函数是因为虚函数需要额外的虚函数表和虚表指针,占用额外的内存。而对 ...
分类:
编程语言 时间:
2020-10-08 19:43:22
阅读次数:
27