自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(5)
  • 收藏
  • 关注

原创 SDS字符串结构的原理与实现 (C++实现)

SDS字符串原理和实现

2022-06-02 14:10:56 164

原创 使用nullptr代替0或者NULL(effective Modern C++ Item 8)

理由一:使用nullptr代替0或者NULL可以避免重载函数的意外事件,例如void fun(int a) { std::cout << "int"; }void fun(void* ptv) { std::cout << "void*"; }int main(){ fun(0); fun(NULL); fun(nullptr);}输出结果 可以看出nullptr没有整数类型,而NULL拥有整数类型,导致调用了第一个函数,使用nullptr可以...

2022-03-23 10:38:49 1237

原创 Modern Effective C++ Item7 阅读笔记

Item 7:在定义变量时,需要区分()和 { } 的作用。要点一:{}是最广泛应用的初始化语法,可以避免收缩转换,避免绝大部分的变量错误定义。以下是两个例子体现{}的作用。(1).定义不可拷贝的变量时,可以采用{},()来赋值;当采用“=”赋值时会出错std::atomic<int> a = 1;//errorstd::atomic<int> a(1);//finestd::atomic<int> a{1};//fine(2).使用{}定义变量

2022-03-18 15:27:47 484

原创 C++ 关联容器和顺序容器删除元素(erase)时的内部细节

开发中对容器进行删除操作十分常见,本文列举关联容器和顺序容器进行删除操作的常见问题以及内部细节。1.set 删除操作以下代码会出现错误,通过debug可以看到iter在erase后指向end,也就是迭代器在erase函数中将作为引用参数传入函数中,此时迭代器将直接指向容器的最末端。set<int>setvec = { 1,2,3 }; for (auto iter = setvec.begin(); iter != setvec.end(); iter++) { setve

2022-03-14 18:19:57 2454

原创 基于CMake和Vscode的c++项目开发流程

本篇文章将简单介绍基于CMake与Vscode下的linux c++开发流程。

2022-03-14 00:13:06 1613 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除