随笔分类 - 1_ C++
摘要:参考:链接 每当我们声明一个有参构造函数时,编译器就不会创建默认构造函数。如下代码就会发生错误: // use of defaulted functions #include <iostream> using namespace std; class A { public: // A user-de
阅读全文
摘要:C++中的RTTI机制 基类有虚函数时才能实现RTTI机制: 基类无虚函数时,typeid(*pA)返回的是pA声明时的类型。 基类有虚函数时,typeid(*pA)返回的是pA指向对象的类型。 比较两个带有虚函数的类的对象是否相等 if (typeid(*a) == typeid(B)) if (
阅读全文
摘要:整理至:链接 在C++中,类的对象建立分为两种,一种是静态建立,如A a;另一种是动态建立,如A ptr=new A;这两种方式是有区别的。 栈上:编译器在栈上分配内存,然后调用构造函数初始化内存空间 堆上:调用new分配合适的堆内存,然后调用构造函数初始化内存空间 1、只能建立在堆上 方法一:将构
阅读全文
摘要:epoll_create1(EPOLL_CLOEXEC) 是一个用于创建 epoll 实例的系统调用,它用于异步事件通知。EPOLL_CLOEXEC 是一个标志,它告诉操作系统在创建 epoll 实例时将其设置为 close-on-exec(CLOEXEC)模式。 在 CLOEXEC 模式下,当一个
阅读全文
摘要:b站视频 文章1 C++中原子变量确保共享变量的操作在执行时不会被其他线程的操作干扰。 无法复制/移动对象。 memory_order atomic对象可以通过指定不同的memory orders来控制其对其他非原子对象的访问顺序和可见性,从而实现线程安全。常用的memory orders包括(参考
阅读全文
摘要:请直接看:C++中using的四大用法总结 补充说明:第四点就是为了防止如下错误: #include <iostream> using namespace std; class base { public: void test() { cout << "base::test()" << endl;
阅读全文
摘要:转载C++11 make_shared make_unique和make_shared同理。 make_shared初始化的优点和缺点 使用new初始化shared_ptr,则会先创建new一个对象,然后再创建一个控制块块 使用 make_shared就会一次性分配对象内存和控制块 make_sha
阅读全文
摘要:两个值: 对齐系数:一般为8个字节。#pragma pack(8)设置对齐系数为8。 有效对齐值:假设结构体中最长的类型的长度为len,则有效对齐值=min(len,对齐系数)。 计算规则: 计算存放的位置:第一个成员放在位置0,后面的成员A存放的时候,会先计算size=min(A大小, 有效对齐值
阅读全文
摘要:``` if (t_cachedTid == 0) // __builtin_expect 是一种底层优化 此语句意思是如果还未获取tid 进入if 通过cacheTid()系统调用获取tid { cacheTid(); } ``` ``` if (__builtin_expect(t_cached
阅读全文
摘要: - 查找性能为O(logn)。从最上层开始查找,找到小于目标的最大节点。 - 插入性能高于平衡树。插入一个元素时
阅读全文
摘要:-fPIC选项的生效阶段在编译阶段,使用-fPIC选项编译的.o文件会生成位置无关的代码通常在linux下用gcc编译动态库时都会加上一个-fPIC选项来生成位置无关代码。 如果你的静态库可能会被动态库使用,那么静态库编译的时候就也需要-fPIC选项。 【下面说了啥,我也看不懂了,可以不看】 如果你
阅读全文
摘要:参考:https://blog.csdn.net/zhizhengguan/article/details/117173049 ``` // 功能:将数据从文件描述符读到分散的内存块中,即分散读。 ssize_t readv(int fd, const struct iovec *iov, int
阅读全文
摘要:https://github.com/hardcore-os/coreKV-CPP https://github.com/hardcore-os/corekv 要做的应该只是将键值对放在内存中,并且将一些键值对放在磁盘中,不然内存中键值对太多,内存就会爆掉。 gofmt官方提供的格式化工具,整理一下
阅读全文
摘要:参考: [【公开课】现代C++进阶:模板元编程与函数式](https://www.bilibili.com/video/BV1ui4y1R78s) [ppt和代码](https://github.com/parallel101/course/tree/master/03) 在高性能计算中,一般使用函
阅读全文