摘要: 1. C/C++程序编译流程:预处理->编译->汇编->链接 具体过程: 源代码(source coprede)→预处理器(processor)->后缀名.i文件→编译器(compiler)->汇编文件(后缀名.s) →汇编程序(assembler)→目标程序(object code,后缀名.obj 阅读全文
posted @ 2022-05-08 13:09 亚九 阅读(315) 评论(0) 推荐(0) 编辑
摘要: 在声明类对象时,如果想调用类的无参构造函数,一般会直接声明,不加括号。举个例子 class Foo { public: Foo() { std::cout << "constructor without arguments called"; } void show(){ std::cout << " 阅读全文
posted @ 2022-03-03 21:41 亚九 阅读(667) 评论(0) 推荐(0) 编辑
摘要: 在使用std::thread时遇到问题,代码简化如下: #include <iostream> #include <thread> #include <string> int main(int argc, char** argv) { auto show = [](const std::string 阅读全文
posted @ 2021-12-16 13:09 亚九 阅读(762) 评论(0) 推荐(0) 编辑
摘要: lambda可以捕获局部变量,但无法显式捕获类成员。如果在lambda中指定 auto func = [=](){}; 以传值方式捕获所有变量,将捕获this,从而可访问类成员。例如下列伪代码, class foo { public: void show() const { auto print = 阅读全文
posted @ 2021-12-16 11:44 亚九 阅读(5143) 评论(0) 推荐(1) 编辑
摘要: 简单记录下编写代码时遇到的问题: 在调用一个接口的时候,需要传入一个std::function类型的参数。 之前在调用此接口时传入的参数lambda表达式类型。由于接口的定义为function<void()>类型,而在调用传入参数时,需要遍历数组,处理数组中的成员。若采用lambda的方式,只能通过 阅读全文
posted @ 2021-11-30 00:29 亚九 阅读(381) 评论(0) 推荐(0) 编辑
摘要: 1.单例模式简介 单例模式(Singleton Pattern)是最简单的设计模式之一,其目的是保证当前程序在生命周期内仅能创建唯一一个实例,被整个进程空间共享。 使用场景:1)有些类用于提供跨模块传数据的功能,或者全局计数功能等,必须保证有且仅有唯一实例,否则会导致严重错误,无法完成一起功能; 2 阅读全文
posted @ 2021-11-03 00:15 亚九 阅读(121) 评论(0) 推荐(0) 编辑
摘要: 在C++中,一个类有八个默认函数: 默认构造函数; 默认拷贝构造函数; 默认析构函数; 默认重载赋值运算符函数; 默认重载取址运算符函数; 默认重载取址运算符const函数; 默认移动构造函数(C++11); 默认重载移动赋值操作符函数(C++11)。 class MyClass { public: 阅读全文
posted @ 2021-11-02 14:01 亚九 阅读(696) 评论(0) 推荐(0) 编辑