自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(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

原创 Android构建系统 - 01 环境准备

本系列从零开始介绍Android构建系统,本章节介绍codebase下载以及开发工具的准备。

2025-02-23 18:56:54 1098

原创 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

原创 new和malloc的区别

c语言时代的malloc和new之间的区别。

2025-02-13 21:55:12 236

原创 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++ Attribute 属性说明符

介绍了常用的C++属性说明符

2025-02-08 22:49:22 819

原创 系统调用-常用IO函数

介绍了系统调用的基本概念,以及linux常用的IO函数

2025-02-07 22:25:09 768

原创 MMU工作原理

一文速通MMU基本概念以及基本原理。

2025-02-06 23:09:20 1117

原创 现代C++多线程基础 - 忆苦思甜pthread

继续学习C++多线程之前,回顾一下C语言时代pthread是怎么使用的吧。

2025-02-06 21:10:11 486

原创 C++类型转换运算符

介绍了4种C++中的类型转换运算符。static_cast ,dynamic_cast ,const_cast ,reinterpret_cast。

2025-02-05 21:30:00 461

原创 C++ RTTI

了解就好,静态语言没必要搞运行时反射。

2025-02-05 18:03:58 820

原创 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++多线程基础 - 可调用类型(callable type)

介绍了现代C++中常见的可调用类型。

2025-01-12 19:11:05 912

原创 如何在Cpp20之前实现concept?SFINAE

C++17 SFINAE从理论到实践

2024-11-13 00:50:43 487

原创 一文速通C++全特化/偏特化、重载决议

在开始搞模板元编程、SFINAE、类型萃取、concept 前,我们来回顾一下特化和重载决议。

2024-11-12 12:00:00 365

原创 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

原创 C++17 折叠表达式

一文速通C++17引入的折叠表达式,介绍了概念以及诸如折叠函数调用、类型处理等常见用法。

2024-10-29 23:02:00 1042

原创 C++17 结构化绑定

简单介绍了C++17中结构化绑定的用法和原理

2024-10-27 20:51:16 317

原创 RAII - 安卓中的智能指针

同为智能指针,安卓中的sp wp RefBase与std背后的设计思想有哪些不同?如何使用?了解不同的实现可以帮助我们更好的理解之前文章介绍过的RAII思想。

2024-10-13 20:22:47 1507

原创 RAII - std智能指针

本文介绍了std智能指针的选择标准,各自特点以及其它面试常问的问题。进一步完善了我们介绍过的RAII思想。

2024-10-12 22:41:39 946

原创 入门C++中的RAII

本文介绍了何为RAII思想,三五法则,使用C++为什么需要遵守这些准则&如何遵守,还有一些初始化class时的小技巧。

2024-10-11 00:49:16 1019

空空如也

空空如也

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

TA关注的人

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