摘要:
更多精彩内容,请关注微信公众号:后端技术小屋 1 相关头文件 stl_vector.h vector.h vector 2 内存分配 vector默认使用__default_alloc_template分配内存,该分配器是线程安全的,具体可见STL源码分析-内存分配 3 vector的缓冲区 vec 阅读全文
摘要:
更多精彩内容,请关注微信公众号:后端技术小屋 说明:STL采用SGI版本, 下载地址 1 相关头文件 stl_alloc.h alloc.h 2 allocator STL中默认使用的内存分配器,被广泛用于vector, hashmap, deque等数据结构中 该类实现以下接口: allocate 阅读全文
摘要:
更多精彩内容,请关注微信公众号:后端技术小屋 一、redis分布式锁的简易实现 用redis实现分布式锁是一个老生常谈的问题了。因为redis单条命令执行的原子性和高性能,当多个客户端执行setnx(相同key)时,最多只有一个获得成功。因此在对可用性要求不是特别高的场景下,redis分布式锁方案不 阅读全文
摘要:
更多精彩内容,请关注微信公众号:后端技术小屋 大家可能和我一样,在Python日常开发过程中会遇到各种各样的编码问题。因此在此以个人的踩坑经验总结出一些常见问题和解决方案。 0 如何查看py源文件编码 vim py文件 输入 :set fileencoding 输出 fileencoding=utf 阅读全文
摘要:
更多精彩内容,请关注微信公众号:后端技术小屋 本文将介绍一下c++代码模板的小技巧 CRTP 虚函数 在介绍 CRTP 之前,我们先来了解下虚函数。 虚函数是通过指向派生类的基类指针或引用,访问派生类中同名覆盖成员函数,从而实现了多态的特性。 一段简单的代码示例 class A { public: 阅读全文
摘要:
更多精彩内容,请关注微信公众号:后端技术小屋 《Linux Shell脚本攻略》是一本适合初学者系统学习Bash Shell的书籍,墙裂推荐。以下是我阅读这本书的笔记,希望对读者有用。 输出颜色字符 echo -e "\e[1:41m" # 1表示背景色 echo打印!需转义 echo "hello 阅读全文
摘要:
更多精彩内容,请关注微信公众号:后端技术小屋 C/C++关键字之restrict 在C语言中,restrict关键字用于修饰指针(C99标准)。通过加上restrict关键字,编程者可提示编译器:在该指针的生命周期内,其指向的对象不会被别的指针所引用。 需要注意的是,在C++中,并无明确统一的标准支 阅读全文
摘要:
更多精彩内容,请关注微信公众号:后端技术小屋 最近偶然看到一些有意思的shell命令,分享给大家。 fork炸弹 代码如下 :(){ :|:& };: 还是看不懂,将:替换成fork fork(){ fork | fork &} 这时候应该可以看出来了,这个炸弹的代码分为两个部分 第一部分:定义函数 阅读全文
摘要:
更多精彩内容,请关注微信公众号:后端技术小屋 现代C++之右值语义 在现代C的众多特性中,右值语义(stdmove和stdforward)大概是最神奇也最难懂的特性之一了。本文简要介绍了现代C中右值语义特性的原理和使用。 1 什么是左值,什么是右值? int a = 0; // a是左值,0是右值 阅读全文
摘要:
更多精彩内容,请关注微信公众号:后端技术小屋 工欲善其器,必先利其器。性能与效率是程序员们永恒的追求,对代码如此,对日常搬砖也应如此。对于日常搬砖过程中的热点操作,本文推荐几个好用的在线工具,只愿各位同仁少加班,早下班,Work Life Balance, 两开花! 1 Linux命令搜索 传送门 阅读全文