std algorithm 01-seq operations
c++标准库算法库中几个有用的函数 序列恒定操作 batch operation for_each, 主要针对容器的begin, end做一个func的操作。返回值会被ignore, 比较适合对整个容器的每个值做操作,要注意的是不能对容器做缩容 template< class InputIt, class UnaryFunc > UnaryFunc for_each( I...
c++标准库算法库中几个有用的函数 序列恒定操作 batch operation for_each, 主要针对容器的begin, end做一个func的操作。返回值会被ignore, 比较适合对整个容器的每个值做操作,要注意的是不能对容器做缩容 template< class InputIt, class UnaryFunc > UnaryFunc for_each( I...
C++中的”Rule of 5”(五法则)是一个重要的面向对象编程概念,它扩展了早期的”Rule of 3”(三法则)。这个规则指出,如果一个类需要自定义以下五个特殊成员函数中的任何一个,那么通常应该考虑自定义所有五个: 析构函数(Destructor) 拷贝构造函数(Copy Constructor) 拷贝赋值运算符(Copy Assignment Operator) ...
全局符号介入是一种机制,允许一个符号(通常是一个函数)被另一个同名符号替换或覆盖。这通常发生在动态链接过程中。 /* # ALLOCATED CHUNKS # +---------------------------+ # | METADATA | # |---------------------------| <-- Pointer retur...
tie既能用来解包有又能用来赋值。这是怎么做到的 1. 例子 template< class... Types > tuple<Types&...> tie( Types&... args ) noexcept; 直接看例子 比较自定义结构体 #include <string> #include <tuple>...
这里主要看下WritableFile下的细节,这里只有四个方法 virtual Status Append(const Slice& data) = 0; virtual Status Close() = 0; virtual Status Flush() = 0; virtual Status Sync() = 0; appendfile和writable file都是一类f...
RandomAccessFile 是一个抽象基类,定义随机读取文件的接口。它声明了一个纯虚函数 Read,强制子类实现这个方法。 只读的话,是支持多线程并发访问的,逐步看下实现 Status NewRandomAccessFile(const std::string& f, RandomAccessFile** r) ove...
Linux kernel中有哪些奇技淫巧? Ftrace, perf, and the tracing ABI Static Keys Jump label
leveldb file io env.h中抽象出了一些文件io的接口,针对这些抽象的接口,同时也抽象出了文件的抽象类,比如 SequentialFile RandomAccessFile WritableFile SequentialFile文件io接口 重要的接口就2个 // Read up to "n" bytes from the file. "scrat...
一文讲清多线程和多线程同步 cpu cache slides 链接、装载与库 — 动态链接 这一坨写的都挺不错的链接装载与库 The LD_DEBUG environment variable 轻踩一下就崩溃吗——踩内存案例分析 实战总结|抽丝剥茧,记一次神奇的崩溃 When __cxa_pure_virtual is ju...
简单看下cross compile要做哪些东西,从一个gn的例子开始。 config("compiler_cpu_abi") { cflags = [] cflags_c = [] cflags_cc = [] ldflags = [] defines = [] if (is_linux) { # CPU architecture. We may or m...