1)函数对象 概念:重载了函数调用符()的类,其对象常称为函数对象 函数对象使用重载的()时,行为类似函数调用,也叫仿函数 是一个类,不是一个函数 特点:函数对象在使用时,可以像普通函数那样调用,可以有参数,可以有返回值 函数对象超出普通函数的概念,函数对象可以有自己的状态 函数对象可以作为参数传递 ...
分类:
其他好文 时间:
2020-07-10 23:54:58
阅读次数:
80
作者:Citrus 写于:2019.10.15 参考 Google C++ 编码规范 **1.头文件** 通常每一个 .cpp 文件都有一个对应的 .h 文件。也有一些常见例外,如单元测试代码和只包含 main() 函数的 .cpp 文件。 正确使用头文件可令代码在可读性、文件大小和性能上大为改观。 ...
分类:
编程语言 时间:
2020-07-10 17:17:05
阅读次数:
56
CRTP,奇特的递归模板模式 (Curiously Recurring Template Pattern) 是 C++ 的一种看起来很怪异的模板编程技巧。 它通过继承和模板的联合应用,实现了一种"看似"继承自己的语法。这种编程的技法,无论是在STL还是Boost之中都被大量使用。像它的名字一样,看起 ...
分类:
编程语言 时间:
2020-07-10 13:00:35
阅读次数:
82
信号可以连接信号,槽函数名换成信号名即可,但是参数要对应(跟槽的要求是一样的)。 一个信号可以连接多个槽,相当于短信可以群发。注意,执行顺序是随机的(虽然连接是有顺序的)。 多个信号可以连接同一个槽函数。 槽函数可以使用lambda表达式。 lambda表达式:定义并创建匿名的函数对象。 参考博客: ...
分类:
其他好文 时间:
2020-07-08 22:39:23
阅读次数:
62
参考:http://www.liaoqiqi.com/post/69 我们在编译boost日志库时需要链接较多的库例如 -lboost_log -lboost_log_setup -lboost_system -lboost_thread 如果链接顺序有问题,就会造成链接失败 但是日常开发过程中,维 ...
分类:
其他好文 时间:
2020-07-08 01:33:00
阅读次数:
62
为什么 在使用c++的时候我们可能遇过这种情况:有很多的语言特性,并且这些语言特性的设计原则还很矛盾,比如我们在利用c语言的习惯的时候,传参往往都是pass by value 但是在使用面向对象的时候,往往是pass by reference, 在面向对象的时候显示接口是王道,但是在template ...
分类:
编程语言 时间:
2020-07-05 19:40:57
阅读次数:
76
类方法 classmethod 修饰符对应的函数不需要实例化,不需要 self 参数,但第一个参数需要是表示自身类的 cls 参数,可以来调用类的属性,类的方法,实例化对象等。 比如在class 类下 使用@classmethod 定义一个函数 一般只需要 class名.方法()直接使用: 静态方法 ...
分类:
其他好文 时间:
2020-07-05 00:31:16
阅读次数:
60
1. https://www.boost.org 下载boost源码 boost_1_73_0.zip解压。 2.准备编译前的配置,打开vs2017 x86 CMD工具,进入目录boost_1_73_0\,执行bootstrap.bat,等待初始化完毕, 会生成b2.exe和bjam.exe两个程序 ...
在 C++ 中,一个类中可以有 public、protected、private 三种属性的成员,通过对象可以访问 public 成员,只有本类中的函数可以访问本类的 private 成员。 现在,我们来介绍一种例外情况——友元(friend)。借助友元(friend),可以使得其他类中的成员函数以 ...
分类:
编程语言 时间:
2020-07-02 16:26:18
阅读次数:
72
var type = function (o){ var s = Object.prototype.toString.call(o); return s.match(/\[object (.*?)\]/)[1].toLowerCase(); }; ['Null', 'Undefined', 'Obj ...
分类:
Web程序 时间:
2020-07-02 14:51:56
阅读次数:
111