06 2023 档案

摘要:typename的常见用法 #include <iostream> template <typename T> T AddFunc(const T& a, const T& b) { return (a + b); } int main() { std::cout << AddFunc(10, 20 阅读全文
posted @ 2023-06-30 00:08 TechNomad 阅读(44) 评论(0) 推荐(0) 编辑
摘要:一、简介 对于函数模板和类模板,模板参数并不局限于类型,普通值也可以作为模板参数,当要使用基于值的模板时,必须显示的指定这些值,才能够对模板进行实例化,并获得最终代码。 template <typename T, int MAXSIZE> class Stack { private: T elems 阅读全文
posted @ 2023-06-28 22:23 TechNomad 阅读(18) 评论(0) 推荐(0) 编辑
摘要:一、线程管理 在这个库最重要的一个类就是 boost::thread,它是在 boost/thread.hpp 里定义的,用来创建一个新线程。下面的示例来说明如何运用它: #include <boost/thread.hpp> #include <string> #include <iostream 阅读全文
posted @ 2023-06-20 17:53 TechNomad 阅读(351) 评论(0) 推荐(0) 编辑
摘要:一、类模板Stack的实现 template <typename T> class Stack { private: std::vector<T> elems; //存储元素的容器 public: void push(T const&); //压入元素 T pop(); //弹出元素 T top() 阅读全文
posted @ 2023-06-18 12:10 TechNomad 阅读(25) 评论(0) 推荐(0) 编辑
摘要:std::unique_ptr 是 C++ 标准库中的智能指针类,用于管理动态分配的对象。它提供了独占式拥有权,即在任何时候只能有一个 std::unique_ptr 拥有对对象的唯一所有权。当 std::unique_ptr 被销毁或重置时,它会自动删除所管理的对象,从而避免内存泄漏。 std:: 阅读全文
posted @ 2023-06-15 23:55 TechNomad 阅读(206) 评论(0) 推荐(0) 编辑
摘要:一、工厂模式概述 工厂模式(Factory Pattern)是一种创建型设计模式,旨在提供一种统一的方式来创建对象,将对象的实例化过程封装在一个单独的类中。工厂模式通过定义一个公共的接口来创建对象,但允许子类决定实例化哪个类。这样可以将对象的实例化与客户端代码的耦合度降到最低,同时也提供了一种可扩展 阅读全文
posted @ 2023-06-14 23:55 TechNomad 阅读(861) 评论(0) 推荐(0) 编辑
摘要:一、字符串大小写转换 Boost字符算法库Boost.StringAlgorithms提供了很多字符串操作函数,字符串的类型可以是std::string,std::wstring,或者是任何模板类std::basic_string的实例。这些函数分类别在不同的头文件定义,例如大小写转函数定义在文件b 阅读全文
posted @ 2023-06-14 16:54 TechNomad 阅读(1089) 评论(0) 推荐(0) 编辑
摘要:一、概述 Boost.Signals所实现的模式被命名为"信号至插槽",它基于以下概念:当对应的信号被发出时,相关联的插槽即被执行,原则上,可以把"信号"和"插槽"分别替换为'事件'和'事件处理器',它提供了一个名为boost::signal的类,定义于boost/signal.hpp,实际上,这个 阅读全文
posted @ 2023-06-13 17:19 TechNomad 阅读(398) 评论(0) 推荐(0) 编辑
摘要:一、概述 函数模板提供了一种函数行为,该函数行为可以用多种不同的类型进行调用,换句话说函数模板代表一个函数家族,它的表示看起来和普通的函数很相似,唯一的区别就是有些函数元素是未确定的,这些元素将在使用时被参数化。 下面是一个返回两个值中最大者的函数模板 template <typename T> i 阅读全文
posted @ 2023-06-10 12:24 TechNomad 阅读(55) 评论(0) 推荐(0) 编辑
摘要:一、boost::scoped_ptr boost::scoped_ptr是Boost库中的一个智能指针类,用于管理动态分配的对象,并确保在超出作用域时自动释放资源。boost::scoped_ptr提供了一种简单而安全的方式来管理对象的生命周期。它的行为类似于C++原始指针,但它负责在其生命周期结 阅读全文
posted @ 2023-06-09 15:53 TechNomad 阅读(268) 评论(0) 推荐(0) 编辑
摘要:一、MQTT简介 MQTT(Message Queuing Telemetry Transport)是一种轻量级的、发布-订阅模式的消息传输协议。它最初是为低带宽和不稳定网络环境设计的,以支持物联网(IoT)设备之间的高效通信。 MQTT的工作方式基于发布-订阅模型,其中包含两个角色:发布者(Pub 阅读全文
posted @ 2023-06-08 14:48 TechNomad 阅读(335) 评论(0) 推荐(0) 编辑
摘要:一、单例模式简介 在单例模式中,类的实例化只会发生一次,而后续的访问都会返回同一个实例。这样可以保证在整个应用程序中,只有一个实例存在,从而避免了多个实例对资源的重复使用或竞争的问题。单例模式通常被用于需要共享某些资源或状态的情况,例如数据库连接、日志记录器、配置管理器等。它可以提供一种简单而有效的 阅读全文
posted @ 2023-06-08 01:13 TechNomad 阅读(52) 评论(0) 推荐(0) 编辑
摘要:一、boost库介绍 Boost是一个广泛使用的C++库集合,用于提供各种功能和工具,包括算法、容器、迭代器、函数对象、数值处理和多线程编程等。Boost库的目标是扩展C++语言和标准库,为开发人员提供高质量、可移植和可重用的代码。 二、boot库编译 下载相应版本的boost源码包:https:/ 阅读全文
posted @ 2023-06-07 15:28 TechNomad 阅读(1823) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示