C++11
文章平均质量分 84
雪域迷影
专业:计算机
爱好:服务端和客户端开发,桌面开发,全栈开发
兴趣:象棋、乒乓球、游泳、听音乐。
展开
-
[C++] 一定要 public 继承 std::enable_shared_from_this
已经失去作用了,但没有产生编译错误,而是延迟到运行时再报错,极大增加了 debug 的成本。按理说这里既然可以有不同的特化版本,就应该可以在编译期发现这类错误。此时搞笑的事情发生了,我手头的 gcc7.5 的。看起来是个无害的操作,结果 ci test 挂了一大片,报错是。,成员都暴露在外面,感觉不太安全,就把它改成了。略过 debug 过程,最终我发现是新的。,保证了所有对其成员的访问都通过。我一看这个类,还真是继承了。我觉得这里的设计不好,此时。,然后就炸了,因为此时。,但某个没有被包裹在。转载 2023-09-12 19:32:04 · 185 阅读 · 0 评论 -
Windows10中使用VS2022和Cmake编译构建C++开源日志库-spdlog
Windows10中VS2022中使用spdlog日志库原创 2022-11-19 16:43:46 · 3558 阅读 · 3 评论 -
C++11多线程-【2】线程的join和detach
C++11多线程-【2】线程的join和detach本文翻译自 C++11 Multithreading – Part 2: Joining and Detaching Threads,转载自C++11多线程-【2】线程的join和detach本文介绍线程对象 std::thread 的 joining 和 detaching。使用 std::thread::join() 进行线程的 joining一旦一个线程开始之后,另一个线程可以等待此线程结束。需要等待的线程可以调用 std::thread转载 2021-05-03 22:54:59 · 387 阅读 · 0 评论 -
C++11多线程-【1】创建线程的三种方式
C++11多线程-【1】创建线程的三种方式本文翻译自 C++11 Multithreading – Part 1 : Three Different ways to Create Threads,转载自C++11多线程-【1】创建线程的三种方式本篇介绍如何在 C++11 中使用 std::thread 来创建线程。C++11 线程库介绍传统的C++只支持单线程编程。新的 C++ 标准 (即 C++11 或 C++0x) 于 2011 年发布。 C++11 中引入了一个新的线程库编译器要求:Lin转载 2021-05-03 22:44:26 · 394 阅读 · 0 评论 -
Ubuntu20.10中安装boost 1.75库
Ubuntu20.10中安装boost 1.75库一、下载Boost 1.75源代码二、编译安装boost 1.75源代码1、解压boost_1_75_0.tar.gz源代码![解压boost_1_75_0.tar.gz源代码](https://img-blog.csdnimg.cn/20210314163127774.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZ原创 2021-03-14 17:54:53 · 1385 阅读 · 0 评论 -
C++中的四种多态
本文转载自The Four Polymorphisms in C++翻译 2021-02-26 23:58:13 · 1973 阅读 · 0 评论 -
现代 C++ 教程:高速上手 C++ 11/14/17/20
本文转载自现代 C++ 教程:高速上手 C++ 11/14/17/20其中文书籍在线阅读网址为:现代 C++ 教程:高速上手 C++ 11/14/17/20,其中文PDF下载地址为:中文PDF下载英文在线阅读网址为: Modern C++ Tutorial: C++ 11/14/17/20 On the Fly,英文书籍PDF下载地址为:PDF DownloadGithub项目地址为:changkun/modern-cpp-tutorial序言文章目录序言引言目标读者本书目的相关代码随书习题许可转载 2021-01-11 22:14:40 · 1807 阅读 · 0 评论 -
CentOS7下编译yaml-cpp库
CentOS7下编译yaml-cpp下载[yaml-cpp](https://github.com/jbeder/yaml-cpp)源代码下载并安装cmake使用cmake编译yaml-cpp下载yaml-cpp源代码yaml-cpp是一个yaml配置文件的C++解析库,其下载地址为:https://github.com/jbeder/yaml-cpp在Windows10中使用VS2017编译yaml-cpp库前,需要去Github上面下载对应的yaml-cpp源代码git clone https:原创 2020-09-19 09:31:48 · 1957 阅读 · 0 评论 -
C++并发型模式#7: 读写锁 - shared_mutex
本文转载自C++并发型模式#7: 读写锁 - shared_mutex,作者是邓作恒,其博客地址为:http://dengzuoheng.github.io/读者-写者问题考虑有一块共享内存, 外加好些个线程需要访问这块共享内存, 虽然我们可以直接上mutex, 把访问全部互斥, 但是, 如果写入很少的情况写把读取也互斥了, 又感觉没什么必要, 并发读不好吗? 怎么让多个读者同时访问共享资源, 就是所谓的读者-写者问题.读写锁, 又称”共享-互斥锁”, 便是试图解决这个问题, 使得读操作可以并发重入,转载 2020-05-09 15:12:45 · 1052 阅读 · 0 评论 -
C++11 tuple
C++11 tuple(元组)tuple是C++11中引入的新类型,中文翻译就是元组。元组是一个能够容纳元素集合的对象。 每个元素可以具有不同的类型。类模板std :: tuple是固定大小的异构值集合。具体可以参考tuple-cppreference.com和tuple-cplusplus.com中的描述,并且提供了一些示例程序。其中,tuple-cplusplus.com/中提供的示例程序...转载 2020-04-21 10:28:32 · 819 阅读 · 0 评论 -
Learn C++ 11 in 20 Minutes
最近在Youtube上看到了博主Bo Qian的关于C++11的视频,其官网地址为:[C++ Programming-]Bo Qian’s Space(https://boqian.weebly.com/c-programming.html),如下图所示:贴一下他的Learn C++ 11 in 20 Minutes的学习笔记,下载地址为:Learn C++ 11 in 20 Minutes...原创 2020-04-20 21:47:59 · 489 阅读 · 1 评论 -
c++关于multiset的头文件包含问题
最近在Bilibili上看侯捷老师的不少C++的视频教程,侯捷老师翻译了很多C++的经典书籍,比如《Essential C++中文版》、《STL源码剖析》,也写了《深入浅出MFC 第二版》。C++ STL与泛型编程高级-侯捷使用到multiset这个关联容器时,本来以为Visual Studio2017中会提供#include 这个头文件,没想到加入到显示错误,后来查了下资料,说是multis...原创 2019-12-08 11:31:49 · 1637 阅读 · 0 评论 -
C++中使用CMake编译管理项目
CMake是一个跨平台的Makefile生成工具,可以根据特定的规则生成相应的Makefile文件。一、CMake中添加对C++11的支持1、在对应的CMakeLists.txt文件中加入以下语句:add_definitions(-std=c++11)或者 if(CMAKE_COMPILER_IS_GNUCXX) set(CMAKE_CXX_FLAGS "-std=c++1...转载 2019-10-30 23:58:35 · 1022 阅读 · 3 评论 -
C++ std::isnan等函数的使用
C和C++11标准提供了类似于isnan、isfinite、isinf、isnormal、fpclassify分别用于判断是非数(NaN)值、有限制、无穷值、正常数值等。今天在使用Modbus读取设备对应寄存器的float状态值时,出现一些问题,导致数据不能正常获取,最后发现原来设备对应的寄存器里面会出现一些无效的值,导致读取显示出错,没做容错判断处理。后面加上条件判断就可以了。bool D0...原创 2019-10-16 23:42:40 · 12331 阅读 · 3 评论 -
简单的C++11线程池实现
线程池的C++11简单实现,源代码来自Github上作者progschj,地址为:A simple C++11 Thread Pool implementation代码如下:ThreadPool.h#ifndef THREAD_POOL_H#define THREAD_POOL_H#include <vector>#include <queue>#inclu...转载 2019-07-27 23:58:48 · 355 阅读 · 0 评论