
C++
六月的雨唯你
这个作者很懒,什么都没留下…
展开
-
nvcc 编译 spdlog出现的问题
1. 链接 libspdlog.a 时提示需要加-fpic选项在编译spdlog库时加上cmake选项:-DCMAKE_CXX_FLAGS="-fpic"2. core.h出现error将core.h中的如下代码注释掉//static_assert(all_true<(!std::is_base_of<view, remove_reference_t<Args&g...原创 2019-11-26 17:48:03 · 1287 阅读 · 1 评论 -
clang-tidy 使用
1. 安装clang-tidy和clang编译工具sudo apt install clang-tidy clang(ubuntu 16.04默认安装的是3.8版本)sudo apt install clang-tidy-6.0 clang-6.0(ubuntu 16.04 apt最高可安装6.0版本)多版本可使用update-alternatives来管理2. 简单使用查看所有可...原创 2019-11-13 17:37:33 · 11326 阅读 · 0 评论 -
理解C++中特种函数的生成机制
1. 特种函数C++中会自生成的函数,如默认构造函数、析构函数、复制构造函数、复制赋值运算符、移动构造函数、移动赋值运算符。2. 一些生成机制移动操作在某个数据成员或基类部分上执行移动构造或移动赋值的时候,并不能保证移动操作真的发生。因为对于那些不可移动的型别将通过其复制操作实现“移动”。复制操作是彼此独立的,声明了其中一个,并不会阻止编译器生成另外一个;而移动操作并不彼此独立,声明...原创 2019-03-17 15:18:18 · 291 阅读 · 0 评论 -
pthread中的lock、unlock、wait、signal
1. 锁与条件变量之初始化静态初始化pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER;pthread_cond_t cond = PTHREAD_COND_INITIALIZER; 动态初始化int pthread_cond_init(pthread_cond_t *cv,const pthread_condattr_t *ca...原创 2019-01-19 11:32:45 · 3350 阅读 · 0 评论 -
排序算法
10大排序算法大合集快排1.快排理解2.快排实现希尔排序原创 2019-01-06 15:30:27 · 431 阅读 · 0 评论 -
c++版本代号
c++98c++03:与c++98间的差异很小且太过技术化,没有引起太多关注c++11:c++0x或c++1x(C++0x 这个名字只是作者在c++11发布之前一个遗留物,原本希望它是C++08或 C++09)c++14:c++1yc++17:c++1zc++20:c++2a参考https://en.wikipedia.org/wiki/C%2B%2B17...原创 2018-12-23 13:59:14 · 468 阅读 · 0 评论 -
关于GNU GCC gcc g++ LLVM clang
1. GNUGNU:GNU’s Not Unix的缩写,是一个自由的操作系统(是一个长远计划,目前还未完成),是GNU计划的主要目标。GNU内核为Hurd,但发展尚未成熟,所以在实际使用上,多半使用Linux内核、FreeBSD等替代方案,作为系统核心。Linux操作系统包涵了Linux内核与其他自由软件项目中的GNU组件和软件,可以被称为GNU/Linux。1990年,GNU计划已经开...原创 2018-12-23 13:49:49 · 1456 阅读 · 0 评论 -
.clang-format在vscode中的配置
官方文档:Clang 8 Documentation我的配置BasedOnStyle: WebKit//#基于那个配置文件IndentWidth: 4// 缩进宽度MaxEmptyLinesToKeep: 3// 连续空行的最大数量AllowAllParametersOfDeclarationOnNextLine: true// 允许函数声明的所有参数在放在下一行BinPackA...原创 2018-12-27 10:57:58 · 7139 阅读 · 0 评论 -
Visual Studio调试出现的问题
1.当前不会命中断点,还没有为该文档加载任何符号右键项目-&gt;属性-&gt;配置属性-&gt;C/C++ -&gt;常规-&gt;调试信息格式,设置如下图所示C/C++ -&gt;优化-&gt;选择禁用,设置如下图所示项目-&gt;属性-&gt;配置属性-&gt;连接器-&gt;调试-&gt原创 2018-11-27 09:27:34 · 789 阅读 · 0 评论 -
shared_ptr使用
为了解决C++内存泄漏的问题,C++11引入了智能指针(Smart Pointer)。原理:接受一个申请好的内存地址,构造一个保存在栈上的智能指针对象,当程序退出栈的作用域范围后,由于栈上的变量自动被销毁,智能指针内部保存的内存也就被释放掉了(除非将智能指针保存起来)。C++11提供了三种智能指针:std::shared_ptr, std::unique_ptr, std::weak_ptr...原创 2018-11-09 12:36:48 · 755 阅读 · 0 评论 -
Google C++编程规范
文章目录1 头文件1.1 #define的保护1.2 内联函数1.3 函数参数顺序1.4 包含文件的名称和次序2 构造函数2.1 构造函数的职责2.2 明确的构造函数2.3 结构体和类2.4 继承2.5 接口2.6 操作符重载2.7 存取控制2.8 声明次序3 其他C++特性3.1 引用参数3.2 缺省参数3.3 类型转换3.4 前置自增和自减3.5 const的使用3.6 整型3.7 预处理宏3...原创 2018-11-03 16:20:01 · 386 阅读 · 0 评论