
C++
文章平均质量分 92
C ++学习笔记
Ricky_0528
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【C++内存管理】分配器
本篇博客详细介绍了 C++ 中分配器的相关知识,首先,我们对 allocator 和它的工作原理做了概述。然后,我们讨论了如何自定义分配器,实现将数据直接存取到数据库、共享内存或者文件中。接着,我们介绍了未初始化内存算法,如 uninitialized_copy,uninitialized_fill 和 uninitialized_move。最后,我们阐述了在 C++17 和 C++20 中,std::construct_at 和 std::destroy_at 函数的使用,以及它们在对象的构造和销毁中的作原创 2023-07-11 12:00:00 · 2114 阅读 · 0 评论 -
【C++内存管理】重载 new
本文主要探讨了C++中的new操作符重载。首先解释了为什么需要重载new,如监测内存分配和释放,内存对齐处理,以及多进程内存共享等。然后介绍了如何在全局范围内重载new和delete,包括如何添加自定义行为。紧接着,我们讨论了针对特定类重载new和delete的方法,这对需要特殊内存管理的类来说非常有用。最后,我们探讨了放置new的使用,这是一种在已分配的内存上创建对象的方法。通过这篇文章,您将了解到如何灵活运用C++的new操作符重载,以适应各种特殊的内存管理需求。原创 2023-07-09 10:43:55 · 1978 阅读 · 1 评论 -
【C++内存管理】内存池
本博客文章深入探讨了 C++17 中内存池的概念和使用,包括 memory_resource、unsynchronized_pool_resource 以及 synchronized_pool_resource。我们详细讲解了它们的用途、配置方法(通过 pool_options),并且强调了线程安全与否的重要性。文章旨在帮助读者理解如何有效地使用这些工具来优化内存管理,进而提高 C++ 程序的性能。原创 2023-07-07 22:31:45 · 2716 阅读 · 1 评论 -
【C++内存管理】C++智能指针
本篇博客详细介绍了 C++ 中的智能指针,包括 unique_ptr、shared_ptr 和 weak_ptr。unique_ptr 是一种独有所有权的智能指针,可以自动管理单个对象或对象数组。shared_ptr 允许多个指针共享对象所有权,但需要注意可能出现的循环引用问题。weak_ptr 则是解决循环引用问题的关键,它不会增加引用计数,因此不会阻止其指向的对象被删除。原创 2023-07-01 09:37:01 · 633 阅读 · 0 评论 -
【C++内存管理】C++指针快速入门
在本篇博客中,我们详细介绍了C++中指针的快速入门知识。首先,我们对指针的基本定义进行了解释,并提供了如何在C++中使用指针的示例。接着,我们详细探讨了二维数组的空间分配与清理,以及如何使用指针来操作数组。紧接着,我们介绍了void指针和指针类型转换的使用,并讨论了常量指针与指针常量的区别。最后,我们通过实例展示了如何使用数组操作图像。本篇博客旨在为初学者提供C++指针的实用指南,帮助他们快速上手并理解其基础概念。原创 2023-06-27 15:12:36 · 534 阅读 · 0 评论 -
【C/C++】select、poll和epoll
在处理并发IO时,我们需要采取适当的IO多路复用技术,以提高程序效率。本文详细探讨了三种主要的IO多路复用技术:select、poll和epoll。首先,我们介绍了select,一种允许进程指示内核等待多个事件中的任何一个发生的函数。然后,我们讨论了poll,这是一种类似于select的函数,但在处理流设备时,它能提供额外的信息。最后,我们探讨了epoll,这是Linux下多路复用I/O接口select/poll的增强版本,它能显著提高程序在大量并发连接中只有少量活跃的情况下的系统CPU利用率。原创 2023-06-22 09:00:00 · 1777 阅读 · 0 评论 -
【C++进阶】初识CMake
本文介绍了CMake的一些前置知识,同时也给出了一个简单的实例方便读者了解CMake的执行过程,如果你有项目需求,并且还没有完整的构建体系,可以进行学习原创 2023-04-24 12:00:00 · 406 阅读 · 0 评论 -
【C++进阶】Makefile基础(二)
继上一篇文章,讲解了Makefile基础部分的后续内容,包括变量、模式跟函数,掌握它们,可以让你写出的Makefile更"有那味儿"原创 2023-04-15 12:00:00 · 645 阅读 · 0 评论 -
【C++进阶】Makefile基础(一)
本文介绍了Makefile的基础部分,旨在教会你如何使用Makefile来编译你的项目,本基础教程分文两部分,这部分主要内容为环境配置、规则、原理和伪目标,剩下的部分将会在下一篇中介绍。原创 2023-04-14 20:16:56 · 1614 阅读 · 0 评论 -
【C++进阶】实现C++线程池
本文介绍了一个简单的C++线程池实现及其在矩阵相乘问题中的应用。线程池的目的是在程序中复用线程,减少创建和销毁线程的开销,同时提高多线程任务的执行效率。线程池实现中,包含了工作线程、任务队列、同步相关的互斥锁和条件变量等成员。通过构造函数和析构函数,分别实现线程的创建、运行和终止。原创 2023-04-11 09:00:00 · 797 阅读 · 0 评论 -
【C++进阶】function和bind及可变模板参数
Function和Bind是C++ STL中的两个工具,它们可以帮助我们处理函数和函数对象。Function是一个函数包装器,可以封装可调用对象。Bind是一个函数适配器,可以将一个函数或函数对象转换成另一个函数或函数对象。可变模板参数是一种可以接受任意数量和类型参数的模板参数,可以让我们定义更加通用和灵活的模板函数或类。这些工具在实际开发中经常用于简化代码、提高效率。原创 2023-04-10 12:00:00 · 2406 阅读 · 1 评论 -
【C++进阶】多线程
本文简单介绍了在C++中多线程的用法,相较C原生的有区别,在其上进行了包装,变得更加易用,但整体内容较多,学习成本较高,后续会有对应的线程池项目,敬请期待!原创 2023-04-09 12:00:00 · 817 阅读 · 0 评论 -
【C++进阶】匿名函数、STL标准库和正则表达式
本文介绍了C++新特性中的匿名函数和正则表达式,同时讲述STL这个强大库的基本使用,大部分实例都给出了代码,大家可以试着运行加深对知识的理解原创 2023-04-01 10:00:00 · 792 阅读 · 0 评论 -
【C++进阶】智能指针
本文介绍了c++11新引入的智能指针,讲述了shared_ptr、unique_ptr、weak_ptr三种智能指针的用法和注意事项,并附代码,方便读者自己复现原创 2023-03-25 11:19:16 · 990 阅读 · 0 评论 -
【C++进阶】右值引用和移动语义
本文重点介绍了C++11的新特性右值引用和移动语义,已经与他们相关联的一些新特性,如:emplace_back和无序容器原创 2023-03-29 23:55:14 · 1033 阅读 · 0 评论