C++11
吃个橙子吧
热爱生活~
展开
-
C++11开发的消息总线库
消息总线是一种降低耦合的一种技术,对象间只通过消息练习,不通过依赖或者关联。将复杂对象关系简化,降低复杂度,提高程序的维护性。消息总线是一种解耦合的程序的设计方式,可以让对象之间的依赖和继承用消息注册来联系。消息总线的关键技术1、通用消息的定义本质其实是让所有的对象之间的联系都通过消息来联系,所以,要定义一种通用的消息格式,让所有的对象都能使用接受。2、消息的注册让所有的对象注册感兴趣的消息。3、消息分发通过消息总线分发消息,让所有的接收者能收到并处理消息。接下来就围绕上述这三点进行详细的原创 2022-11-21 09:31:11 · 1068 阅读 · 0 评论 -
Any类的实现
首先说一下什么Any类呢?从英文名可以看出就是任何的意思,一般对象都是各个类型的,通过这个Any可以让各个对象的类型全部擦除,也就是将一个对象的类型先消除,等到用到 的时候再将对应的类型赋值。boost库中也又Any类,先不说这个,想要的可以自行百度。以下是一个简单的例子#include <boost/any.hpp>#include <vector>boost::any s= "test";boost::any b = 2.5;std::vector<bo原创 2021-12-24 17:30:02 · 706 阅读 · 0 评论 -
怎样才能写出一个好的类?(委托构造、初始化、类型别名)
委托构造一个构造函数直接调用另一个构造函数,把构造工作“委托”出去,既简单又高效。class DemoDelegating final{private: int a; // 成员变量public: DemoDelegating(int x) : a(x) // 基本的构造函数 {} DemoDelegating() : // 无参数的构造函数原创 2021-09-23 09:45:16 · 103 阅读 · 0 评论 -
std::thread::hardware_concurrency
返回当前系统支持的并发线程数。注意:应该把这个当成提示。static unsigned int hardware_concurrency() noexcept;参数(无)返回值支持的并发线程数。若该值非良定义或不可计算,则返回 0 。#include <iostream>#include <thread> int main() { unsigned int n = std::thread::hardware_concurrency(); st原创 2021-09-14 10:25:10 · 1540 阅读 · 0 评论