自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(18)
  • 收藏
  • 关注

原创 C++23/26 静态反射机制深度解析:编译时元编程的新纪元

C++静态反射标志着元编程从“黑魔法”走向“工程化”。它不仅解决了传统模板代码的冗余问题,更为框架设计、工具链开发开辟了新范式。尽管标准化进程仍需时日,但其潜力已通过开源项目得到验证。对于C++开发者而言,掌握静态反射将是解锁高性能、高可维护性系统的关键一步。

2025-04-28 11:06:21 1823

原创 老西加加程序员的新探索-C++23新特性全解析:从语言革新到标准库升级

C++23通过显式对象参数多维操作符等特性显著提升开发效率,等组件推动错误处理现代化。尽管尚未完全取代C++20的"变革者"地位,但其对现有特性的打磨为C++26奠定了基础。优先在性能敏感模块应用新特性关注编译器支持矩阵,合理规划升级路径参与社区提案讨论(如反射、协程增强)

2025-04-21 10:43:23 472

原创 老西加加程序员的新探索-深入解析C++20核心新特性:开启现代C++编程新篇章

C++20通过模块化、概念和协程等特性,重新定义了现代C++的开发范式。尽管工业界在迁移过程中面临工具链和成本挑战,但其在性能与工程效率上的优势已逐步显现。建议开发者结合项目需求,选择性采用新特性,拥抱C++生态的持续进化。

2025-04-21 10:35:51 859

原创 老西加加程序员的新探索-C++17新特性深度解析:提升现代C++开发效率的十大核心改进

C++17通过引入现代化特性,使开发者能够编写更简洁、高效且安全的代码。尽管在嵌入式等特定场景中存在限制,但其在服务端、桌面应用和工具链开发中的优势已得到广泛验证。随着编译器支持的日益完善,C++17将成为现代C++项目的首选标准。

2025-04-21 10:26:08 1487

原创 老西加加程序员的新探索-深入解析C++14核心新特性

C++14通过语法糖精简、编译期计算增强和标准库完善三大方向,显著提升了开发效率与程序性能。虽然其改进幅度小于C++17/20,但作为现代C++演进的重要一环,仍值得开发者深入掌握。随着C++26标准的推进,这些基础特性将继续发挥承上启下的关键作用。

2025-04-18 14:21:52 796

原创 老西加加程序员的新探索-C++11新特性深度解析

C++11通过性能优化(移动语义、右值引用)、代码简洁性(类型推导、Lambda)和安全性(智能指针、强类型枚举)三大方向,彻底解决了C++03的诸多痛点。其特性设计兼顾了底层控制与高级抽象,使得C++在现代系统开发、游戏引擎、高频交易等领域仍占据不可替代的地位。对于开发者而言,掌握C++11不仅是技术升级,更是提升代码质量和开发效率的必经之路。建议从实际项目入手,逐步应用新特性,体验现代C++的魅力!

2025-04-18 11:05:46 960

原创 C++原子操作与内存序深入解析:从原理到最佳实践

通过本文的深度解析,读者应该能够全面掌握C++原子操作与内存序的核心机制。在实际开发中,建议结合具体场景谨慎选择内存模型,并通过性能测试验证优化效果。

2025-04-17 14:40:47 976

原创 Netfilter技术深度解析:Linux内核网络过滤的核心框架

Netfilter是Linux内核中用于网络数据包处理的框架,自2.4.x内核版本起成为核心组件。它通过在内核协议栈中预定义的钩子点(Hook Points)插入自定义处理逻辑,实现对数据包的过滤、修改和重定向。作为Linux防火墙的基础,Netfilter支持数据包过滤网络地址转换(NAT)连接跟踪等核心功能,广泛应用于网络安全、负载均衡和网络调试等领域。Netfilter作为Linux网络栈的核心,提供了强大的灵活性和控制能力。

2025-04-17 12:19:28 1338

原创 内核模块开发日记(一)helloworld

本教程通过从基础到高级的完整知识脉络,配合代码实例与最佳实践,为开发者构建了系统的内核模块开发知识体系。建议结合官方文档(kernel.org/doc)和《Linux设备驱动程序》(O'Reilly)深化理论学习,同时通过QEMU模拟环境进行安全实验。

2025-04-17 10:53:35 443

原创 【朝花夕拾】智能指针使用

智能指针的使用及其原理智能指针的原理智能指针的使用boost库分类及说明使用示例其中的坑C++标注库库分类及使用使用示例其中的坑智能指针的实现原理及代码解析注:本篇耗时较久,先发一部分,每天补一部分如果说C++对新手最不友好的东西是什么的话,那么堆内存绝对排的上号,初级西甲甲开发工程师们在内存泄漏野指针等问题中水深火热中,甚至于西甲甲老手们都不可避免的忘记释放内存,那么智能指针就是挽救你于水火之中的一个好工具,使用智能指针我们可以轻松的使用指针变量而不用担心内存释放问题。智能指针的原理由于对上分配的

2020-08-19 22:34:12 345

原创 【朝花夕拾】C++中操作符的优先级顺序

说实话,我是不大愿意记这个麻烦的顺序的,因此在刷到这类考运算符优先级的题目的时候,总是直接跳过,但是架不住它一直来,个人认为这种操作符优先级相关的题目,除了用来为难程序猿,没有其他的作用了。。。但是,看多了也烦,顺带梳理一把这个操作吧。最后注意,对于乱七八糟的优先级,请一定用括号表明优先级顺序,不然真没眼看。上来直接上cppreference中文官网下面是一个我盗的图…因为我没有装截图工具,直接盗了一个图。直接贴几个自己的总结先,后续刷到题再持续更新1、前++是从右到左结合的,后++是从左到右的,赋值

2020-07-20 23:11:20 1472

原创 【朝花夕拾】bit操作之拯救单身狗

该博客来源于一到LitCode题目https://leetcode-cn.com/problems/single-number/题目详情给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。作为一只单身狗,看到这种题目脑海中浮现的就是在一群情侣中有一只被包围的可怜的单身狗,它深受毒害,被迫吃狗粮吃到吐。我们今天的任务就是拯救这一只单身狗,消灭其中的情侣们!如何消灭他们呢?我们利用bit运算中的异或运算的一个特性来实现它。在二进制运算中异或我们用^

2020-07-19 21:48:24 216

原创 【朝花夕拾】二进制操作的骚操作 --- 计算二进制数中1的个数

在有的场景中我们需要计算二进制位数的个数,比如LitCode中的一些二进制题目中。那么我们就来看下如何求取二进制数中的1的个数。第一反应就是遍历数值中的二进制位,判断相应位数是否为1,若为1则累加。以下代码使用到与运算的特性:由二元运算规则1 & A = A0 & A = 0得:假定 数值序列 A = {a1,a2,...,aN,..,a32} 其中 a 取值为 0 或 1数值序列 B = {0,0,...,1,...,0},其中 aN = 1, 其他为 0A & B

2020-07-19 21:07:01 302

原创 【朝花夕拾】C++ string的写时拷贝机制以及容易出现的问题

上一篇我们分析了VS2008下的stl string的代码,现在我们分析下g++下的stl string 的代码。首先我们来看下他的内存增长策略:代码很简单,执行结果如下:可以看到gcc stl就是和我之前面试的时候说的那样,简单粗暴的倍增策略进入正题,本次实验使用g++编译器,用于测试C++ string的写实拷贝机制先看一段代码:void testStringCo...

2019-01-19 16:50:33 360

原创 [朝花夕拾]C++ string 内存增长策略

  朝花夕拾系列缘起时光荏苒,转眼已经毕业三年多了,而在这三年中,自己得过且过,在技术上45并无长足的长进,并且还把以往学过的知识忘记的差不多了,因此有了这个朝花夕拾的系列。寄希望于在写这些文档的同时,加深自己对C++技术的认识,并且建立梳理下自己的知识体系。今天算是这个系列中的第一期,先剖析下C++ STL 的string类的内存增长策略,这个问题经常在面试的时候被提及,我一般都...

2019-01-19 15:51:29 1735

原创 bitset的一个简单实现

bitset的一个简单实现最近有一个上亿的数据(数据较平均,重复量较小)进行排重的需求,综合考虑了各种方案,最后想到了一个简单的方案: 假设有1亿条数据需要排重,每条数据的关键字有40个字节,考虑使用hash_map,但是放入内存的话需要的内存最少为100000000 * 40 / 1024 / 1024 / 1024 = 3.7252902984619140625 G这是不能被接受...

2018-07-19 23:12:33 1316

原创 IAccessiable的学习和使用

前几天听群里大神讨论IAccessiable借口,于是动念学习一下。打开百度,输入IAccessiable,得到一大堆的词条,仔细看就可以搞懂IAccessiable到底是个什么东东。以下摘自MSDN的一段描述: The IAccessible interface and all of its exposed members are part of a managed wrapper fo

2016-04-07 22:24:06 4070 2

原创 【朝花夕拾】C语言-空白与注释

从严格意义上来说,C语言并没有如Python那样严格的缩进限制,所以你可以很自由的编写你的代码。但是,那样会导致你的代码可读性非常差,当你的程序出现了BUG,想要调试的时候,你会发现自己都不知道自己写的是什么了。因此一个良好的编码习惯显得尤为重要,不为了别人,就为了我们自己能够很好的DEBUG,我们也应该养成一个良好的编码习惯。一、合理的使用注释注释分为行注释和块注释,所有的注释都会被预处

2015-12-21 20:33:40 1156

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除