C++11 – std::bind简要介绍以及可绑定函数的几种形式总结
1 std::bind template <class Fn, class... Args> /* unspecified */ bind (Fn&& fn, Args&&... args); template <class Ret, class F…
- C++
- 2020-09-24
C++11 – std::function简要介绍以及可包装函数的几种形式总结
1 std::function 函数模板形式: template <class T>函数;//未定义 模板<class Ret,class ... Args> class function <Ret(Args ...)>; 1.1 函数模板说明 std::func…
- C++
- 2020-09-24
C++ – 使用Websocket++编写客户端连接WebSocket服务器并进行通信
1 库依赖 使用Websocket++有两种方案: Websocket++ + boost,主要是使用Boost Asio,这种方案比较重依赖,需要链接Boost Websocket++ + 独立Asio库,这种方案比较轻量,Websocket++和独立Asio都只需要使用头文件即可,具体的配置方案…
- C++
- 2020-08-31
C++ – 最简单的将文本文件的内容一次性读取到std::string的方法
1 C++将文本文件一次性读取到std::string的方法 包含头文件: #include <fstream> #include <iostream> 读取代码如下: std::ifstream in("test.txt", std::ios::in); std::istr…
- C++
- 2020-08-21
C++11 – std::shared_ptr初始化的几种方式
1 std::shared_ptr初始化的几种方式 这里只总结一下std::shared_ptr初始化的几种方式,不对std::shared_ptr的优缺点进行说明,初始化的方式比较多,平时码字的时候经常会搞迷糊,备忘。 1.1 构造函数初始化 std::shared_ptr<int> …
- C++
- 2020-08-12
C++ – 控制台程序在控制台窗口可变参数格式化带颜色输出日志信息
1 C++以可变参数格式化带颜色输出日志信息 使用Unity时,它的日志系统做的就比较好,不同类型的日志信息在底下面板以不同的颜色输出出来,简单明了,所以仿照这个做了一个简陋的,不过也够用了,代码如下: #include <iostream> #include <Windows.h…
- C++
- 2020-07-24
C++ – queue存储动态指针时正确释放内存
1 代码示例 #ifdef _DEBUG #define DEBUG_CLIENTBLOCK new( _CLIENT_BLOCK, __FILE__, __LINE__) #else #define DEBUG_CLIENTBLOCK #endif #define _CRTDBG_MAP_ALLO…
- C++
- 2020-05-06
C++ – vector存储动态指针时正确释放内存
1 代码示例 #ifdef _DEBUG #define DEBUG_CLIENTBLOCK new( _CLIENT_BLOCK, __FILE__, __LINE__) #else #define DEBUG_CLIENTBLOCK #endif #define _CRTDBG_MAP_ALLO…
- C++
- 2020-05-06
C++ – 得到字符串中某个字符串出现的个数
1 代码示例 #include <iostream> using namespace std; int GetRepeatCountInStr(const std::string & strStream, const std::string& str) { int…
- C++
- 2020-05-06
C++11 – 基于无锁队列的单生产者单消费者模型
1 单生产者单消费者无锁队列 Github项目地址:https://github.com/cameron314/readerwriterqueue 1.1 成员函数说明 try_enqueue:如果队列中有空间,则使元素的副本入队。如果元素已入队,则返回true,否则返回false。不分配内存。 e…
- C++
- 2020-04-22
C++11/std::shared_ptr – 循环引用问题
在C++11智能指针的使用过程中,一个很大的陷阱就是陷入了循环引用问题,这个问题类似于大型项目中两个头文件互相包含的问题,而在C++11中如果因为使用智能指针而引发了循环引用问题,那么其结果会导致智能指针无法释放,导致动态内存泄漏。 1 循环引用 下面是一个典型的循环引用示例: class B; c…
- C++
- 2020-04-02