随笔分类 -  C++

摘要:本文使用C++实现一个基于AVLTree实现的map/set,不同于网上大部分的实现,本文争取按照C++STL风格来编写。 前言 其实网上关于数据结构的文章已经满大街了,但是大多数的实现都非常简单,虽然有些使用Java/C#/Python版本的代码甚至可能和其标准库相差无几,但是C++不一样,C++ 阅读全文
posted @ 2025-01-30 18:09 鸿钧三清 阅读(3) 评论(0) 推荐(0) 编辑
摘要:C++如何写一个带有allocator的vector 在STL中,容器一般都有一个allocator模板参数。 allocator用于获取/释放内存及构造/析构内存中元素的分配器。类型必须满足分配器 (Allocator) 。如果 Allocator::value_type 与 T 不同,那么行为未 阅读全文
posted @ 2025-01-30 17:28 鸿钧三清 阅读(5) 评论(0) 推荐(0) 编辑
摘要:如何编写一个128位的整数 现在的大部分的计算机编程语言都包含了64位的有符号整数和无符号整数,有的甚至还提供了128位的整数和大数,比如: C# : System.Int128, System.UInt128 Rust: i128, u128 但是在C/C++中并未发现uint1 阅读全文
posted @ 2024-05-22 22:28 鸿钧三清 阅读(982) 评论(0) 推荐(0) 编辑
摘要:C++如何实现容器的Copy/Move/Swap方法 1、引言 目前网上有很多关于如何编写C++容器的教程,比如各种“手写STL”之类的文章和视频,但是这些教程中的容器一般都不包括allocator,比如: template <typename T> class MyVector { ... }; 阅读全文
posted @ 2023-05-09 09:29 鸿钧三清 阅读(139) 评论(0) 推荐(0) 编辑
摘要:以前刚学C++是书上说引用是变量的别名,这个说法感觉不能很好的理解引用的本质,加上C++和java等其他语言的引用也不完全一样感觉还是要比较实际代码才行。 在这里简单比较一下引用和指针在汇编代码上的的区别: 编译器: x86-64 gcc 9.3c++标准: -std=c++17不做任何优化 在线编 阅读全文
posted @ 2020-04-07 23:44 鸿钧三清 阅读(268) 评论(0) 推荐(0) 编辑
摘要:#include <iostream> using namespace std; constexpr int MEMORYPOOL_ALIGNMENT = 8; //对齐长度 // 内存块 template<typename _T> struct MemoryBlock { int nSize; / 阅读全文
posted @ 2020-01-11 23:27 鸿钧三清 阅读(515) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示