• 博客园logo
  • 会员
  • 周边
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
fallen_leaves
博客园 | 首页 | 新随笔 | 新文章 | 联系 | 订阅 订阅 | 管理

2025年4月24日

如何利用C++扩展python
摘要: 如何利用C++扩展python import os from setuptools import setup from setuptools import Extension # your compiler args cpp_args = ['/std:c++latest', '/O2'] # yo 阅读全文
posted @ 2025-04-24 20:30 鸿钧三清 阅读(10) 评论(0) 推荐(0)
 
 

2025年3月25日

使用 C++Ranges 标准库实现日历程序
摘要: 使用 C++20 Ranges 标准库实现日历程序 笔者在多年前看到过一篇文章,如今已经2025年了,C++的range库也更新了很多其他的东西。如今STL提供的组件已经足够用来输出日历了。 日历程序问题分解 首先来看效果图 January February March Su Mo Tu We Th 阅读全文
posted @ 2025-03-25 19:50 鸿钧三清 阅读(18) 评论(0) 推荐(0)
 
 

2025年1月30日

C++ 使用avltree实现一个set/map
摘要: 本文使用C++实现一个基于AVLTree实现的map/set,不同于网上大部分的实现,本文争取按照C++STL风格来编写。 前言 其实网上关于数据结构的文章已经满大街了,但是大多数的实现都非常简单,虽然有些使用Java/C#/Python版本的代码甚至可能和其标准库相差无几,但是C++不一样,C++ 阅读全文
posted @ 2025-01-30 18:09 鸿钧三清 阅读(13) 评论(0) 推荐(0)
 
C++ 实现一个vector
摘要: C++如何写一个带有allocator的vector 在STL中,容器一般都有一个allocator模板参数。 allocator用于获取/释放内存及构造/析构内存中元素的分配器。类型必须满足分配器 (Allocator) 。如果 Allocator::value_type 与 T 不同,那么行为未 阅读全文
posted @ 2025-01-30 17:28 鸿钧三清 阅读(9) 评论(0) 推荐(0)
 
 

2024年5月22日

C++实现128位整数类
摘要: 如何编写一个128位的整数 现在的大部分的计算机编程语言都包含了64位的有符号整数和无符号整数,有的甚至还提供了128位的整数和大数,比如: \(C\#\) : System.Int128, System.UInt128 \(Rust\): i128, u128 但是在C/C++中并未发现uint1 阅读全文
posted @ 2024-05-22 22:28 鸿钧三清 阅读(1275) 评论(0) 推荐(0)
 
 

2024年2月25日

银行卡号码校验算法
摘要: 银行卡号码校验算法 背景 最近在办卡的时候发现,两个相邻的人办卡,他们的卡号乍一看并不是连续的,但是把最后一位除掉之后却是连续的,很容易猜想最后一位应该是校验位。 银行卡号码的校验规则 银行卡号码的校验采用Luhn算法,假设有银行卡号如下: 图1 我们使用不同的颜色对奇数和偶数部分进行区分。 红色部 阅读全文
posted @ 2024-02-25 15:07 鸿钧三清 阅读(475) 评论(0) 推荐(0)
 
 

2023年6月20日

C++使用ranges库解析INI文件
摘要: C++使用ranges库解析INI文件 引言 C++20引入了<ranges>头文件,C++23对其进行了完善,本文将使用该头文件提供的adaptor编写一个简单的ini解析器。 ini文件格式介绍 一般的ini文件由section和entry部分,比如 [section] key=value ;T 阅读全文
posted @ 2023-06-20 09:34 鸿钧三清 阅读(139) 评论(0) 推荐(0)
 
 

2023年5月19日

C++ 如何快速实现一个容器的迭代器
摘要: # C++ 如何快速实现一个容器的迭代器 ## 引言 C++的标准库中的容器都会提供迭代器,如果一个容器满足forward_range,那么这个容器一般会提供以下成员类型和函数: - iterator - const_iterator - begin - end - begin - cend 如果该 阅读全文
posted @ 2023-05-19 19:16 鸿钧三清 阅读(214) 评论(0) 推荐(0)
 
 

2023年5月9日

C++如何实现容器的Copy/Move/Swap方法
摘要: C++如何实现容器的Copy/Move/Swap方法 1、引言 目前网上有很多关于如何编写C++容器的教程,比如各种“手写STL”之类的文章和视频,但是这些教程中的容器一般都不包括allocator,比如: template <typename T> class MyVector { ... }; 阅读全文
posted @ 2023-05-09 09:29 鸿钧三清 阅读(173) 评论(0) 推荐(0)
 
 

2023年4月20日

C++ 结构体对齐
摘要: C++ 结构体对齐 引言 数据结构对齐是数据在计算机内存中排列和访问的方式。它由三个独立但相关的问题组成:数据对齐、数据结构填充和打包。现代计算机硬件中的 CPU 在数据自然对齐时最有效地执行内存读取和写入,这通常意味着数据的内存地址是数据大小的倍数。例如,在 32 位架构中,如果数据存储在四个连续 阅读全文
posted @ 2023-04-20 21:01 鸿钧三清 阅读(370) 评论(0) 推荐(0)
 
 
下一页

公告


博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3