- 博客(50)
- 收藏
- 关注
原创 一文速通 C++ concept —— 学会对类型提要求
本节我们将学习比SFINAE更现代的用法:C++20 concept。相信至此,大部分的C++元编程你都能够看懂啦~
2025-03-15 15:09:35
410
原创 一文速通C++ SFINAE
带你一文速通SFINAE。前文我们介绍了全特化、偏特化、泛化(重载决议),以及类型萃取。我们可不可以更进一步的,在编译期对类型进行更多的“要求”?答案是肯定的,C++20中已经提供了concept,但有时候我们不得不在C++17及之前的环境中进行开发,这时就需要使用SFINAE啦。
2025-03-15 13:06:21
744
原创 一文速通C++类型萃取type traits
C++模板元编程,很大程度上就是在进行“类型运算”,“类型筛选”。如何根据类型的特性选择对应的特化?可不可以不用每次都重复的提供全特化呢?请看C++类型萃取,本文带你一文速通。
2025-03-13 10:34:35
1017
原创 安卓基础组件Looper - 03 java层面的剖析
本系列主要介绍安卓Looper线程间通讯机制,前文已经从源码的角度介绍了native层面的Looper机制到底是个什么东西。本文将介绍在此之上,java又整出来了什么新花样。源码之前了无秘密,带你一文速通。
2025-03-03 23:01:03
1041
原创 安卓基础组件Looper - 02 native层面的剖析
本系列主要介绍安卓Looper线程间通讯机制,本文从源码的角度介绍了基于epoll机制的线程间通讯机制 looper。如何指定工作线程,为什么使用“命令模式”设计模式,如何使用该机制?带你一文速通。
2025-03-03 22:56:22
1178
原创 安卓基础组件Looper - 01 通讯机制简介
本文系列主要介绍安卓Looper线程间通讯机制,本文简单介绍了其中最重要的几个成员 MessageQueue,Looper,Handler。
2025-03-03 22:51:32
693
原创 一文速通C++非类型模板参数
C++元编程中常常需要我们根据模板参数进行特化,类型模板参数非常符合直觉,但是非类型模板参数呢?哪些类型可以作为非类型模板参数?占位符auto和万能推导decltype(auto)又是什么?带你一文速通。
2025-03-01 19:01:50
772
原创 一文速通 std::initializer_list
std::initializer_list的到底是什么?他的常用用法有哪些?如何让自定义类型支持列表初始化?本文带你速通。
2025-03-01 16:22:59
1013
原创 Android构建系统 - 06 添加编译模块
本系列从零开始介绍Android构建系统,本章节介绍如何在安卓源码中添加自定义的native库、java库、App、预编译库,全家桶。
2025-02-27 23:54:56
779
原创 Android构建系统 - 05 Android.mk .bp gn ninja全家桶
本系列从零开始介绍Android构建系统,本章节介绍如何使用安卓中的各种构建语言 Android.mk Android.bp ninja,以及如何在编译期添加宏控。
2025-02-27 23:37:08
1256
原创 Android构建系统 - 04 编译产物
本系列从零开始介绍Android构建系统,本章节介绍编译完成后,到底有哪些东西被弄了出来,都是干嘛用的,都大概在什么地方。
2025-02-27 23:31:33
938
原创 Android构建系统 - 03 编译执行流程
本系列从零开始介绍Android构建系统,本章节介绍选择产品后,make编译系统到底做了什么,vendor编译、板级特性如何添加。
2025-02-25 12:06:21
1593
原创 Android构建系统 - 02 初始化编译环境,添加产品
本系列从零开始介绍Android构建系统,本章节介绍如何初始化环境、如何自定义产品、如何选择产品,以及这些命令到底做了哪些工作。
2025-02-25 11:09:01
597
原创 Linux/POSIX 多路IO复用
介绍了select,poll,epoll之间的区别,重点介绍了linux下epoll的使用经验以及经常与其搭配使用的文件句柄。
2025-02-22 17:42:47
927
原创 C++17并行化加速STL算法——std::execution
C++17以后,在标准库中你可以选择让STL算法并行乱序执行啦~ 这会带来潜在的性能提升,但并行这也意味着原有的一些行为会发生改变,请学习后谨慎使用。
2025-02-19 23:36:33
712
原创 静态多态——CRTP奇异模板递归
不可否认C++的动态多态使用到了虚表指针,这确实会影响性能。所以如果静态多态也能满足你的需求,可以来看看 CRTP哦。
2025-02-16 14:12:12
827
原创 x86_64下C++内存布局
介绍了经典的x86_64下C++内存模型,text, rodata, data, bss, heap, stack, PCB。
2025-02-13 21:47:39
292
原创 现代C++多线程基础 - std提供的线程安全工具
std提供了一系列线程安全工具,一文速通为什么推出?怎么用?用在什么情况?std::mutex lock_guard condition_variable atomic barrier latch semaphore全家桶
2025-02-12 12:08:23
1184
原创 现代C++多线程基础 - 避免死锁
本文介绍了现代C++中std::mutex的良好使用习惯,多为笔者工作学习中的经验之谈,存在不严谨的地方欢迎讨论。
2025-02-11 23:42:44
676
原创 现代C++多线程基础 -忆苦思甜pthread_mutex
简单介绍了C语言时代使用的pthread_mutex,下一讲会介绍现代C++中保证线程安全的小寄巧~
2025-02-11 23:06:46
403
原创 C++类型转换运算符
介绍了4种C++中的类型转换运算符。static_cast ,dynamic_cast ,const_cast ,reinterpret_cast。
2025-02-05 21:30:00
461
原创 C++限定符说明符
介绍了C++中常用的限定符和说明符,涵盖 register,static,extern,mutable,const,volatile,noexcept等。
2025-02-05 17:17:40
649
原创 现代C++多线程基础 - C++标准库中的线程
介绍了多线程编程常用的 std::thread,std::promise,std::async,std::future,std::packaged_task 等标准库中提供的工具。
2025-02-05 16:54:12
1429
原创 C++17 多态内存管理 pmr
本文参考cppreference及工作中的常用方法,介绍了C++17引入的多态内存管理,std::pmr容器&元素的基本使用,5种标准内存资源以及工作中对它们的一些基本使用,最后简短介绍了如何自定义内存资源和pmr类型。
2024-11-10 18:56:36
1100
原创 一文速通C++17 值语义 std::optional、std::variant,std::any
本文参考cppreference及工作中的常用方法,介绍了C++17引入了的新标准库组件 std::optional、std::variant,std::any。
2024-10-31 12:47:18
1501
原创 RAII - 安卓中的智能指针
同为智能指针,安卓中的sp wp RefBase与std背后的设计思想有哪些不同?如何使用?了解不同的实现可以帮助我们更好的理解之前文章介绍过的RAII思想。
2024-10-13 20:22:47
1507
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人