C++
文章平均质量分 90
tilblackout
score til you black out.
展开
-
C++总结(9):Lambda表达式详解
C++ Lambda表达式允许我们定义匿名函数对象,它既可以内联使用,也可以作为参数传递。它以更方便简洁的方式创建匿名函数,因为我们不需要在单独的类或结构中重载()运算符。一个基本的Lambda表达式可以是这样的:其中:这里关键字来自动推断lambda表达式的返回类型。上面的代码等价于:所以就像普通函数一样,我们可以直接调用。例:基本Lambda函数创建了lambda函数并将其分配给一个名为的变量,然后使用变量和运算符调用lambda函数。例:带参数的Lambda函数上面的Lambda函数等于:例原创 2023-11-08 07:00:00 · 495 阅读 · 0 评论 -
C++实战学习:输出类的抽象和实现详解
本文介绍了elftosb工程中的输出类LogLogger和Logger类:输出类中的底层,最终将调用这个类方法进行输出,它封装了一些格式化输出的函数,同时留出一个虚函数接口_log,即我们的输出方式有很多种,如标准输出、串口输出和网络输出等。类:继承Logger类,实现具体的_log输出方法,这里实现的是标准输出Log类:给用户实际调用输出的类,其中声明了一个变量,用户可以使用类方法setLogger进行设置这个Logger,然后调用Log类中的log输出函数,实际上就是调用s_logger的类方法。原创 2023-11-09 07:00:00 · 270 阅读 · 1 评论 -
C++总结(8):STL容器适配器之stack、queue、priority_queue详解
容器适配器是C++标准库中的一种数据结构,用于提供特定接口以便于将不同类型的容器以一种统一的方式使用。它们是标准库的一部分,提供了一种通用的方式来操作底层容器,无论是栈(stack)、队列(queue)、还是优先队列(原创 2023-11-07 07:00:00 · 334 阅读 · 0 评论 -
C++总结(7):STL无序容器之unordered_set、unordered_map、unordered_multiset、unordered_multimap详解
前两节介绍了STL中的和,本节来介绍一下无序容器。无序容器与关联容器类似,但是关联容器是顺序排序的,而无序容器实现了未排序(哈希)的数据结构。原创 2023-11-06 07:00:00 · 25298 阅读 · 1 评论 -
C++总结(6):STL关联容器之set、map、multiset、multimap详解
(Sequence Containers)、关联容器(Associative Containers)、无序容器(Unordered Containers)和容器适配器(Container Adapters)。上一篇文章介绍了顺序容器,这篇文章就来详细一下关联容器。关联容器实现了可以快速搜索的排序数据结构,具有O(log n)的复杂度。它包括setmapmultiset和multimap。原创 2023-11-03 07:00:00 · 365 阅读 · 0 评论 -
C++总结(5):STL顺序容器之array、vector、deque、forward_list、list详解
容器是一个持有其他对象元素集合的容器对象,以类模板的形式实现,可以灵活地支持不同类型的元素。容器负责管理其元素的存储空间,并提供成员函数来直接或通过迭代器(类似于指针的引用对象)访问它们。C++中有多种种类的容器,包括:顺序容器()、关联容器()、无序容器()和容器适配器(这篇文章先来详细介绍一下顺序容器的用法。顺序容器实现了可以按顺序访问的数据结构,它包括array(静态连续数组)、vector(动态连续数组)、deque(双端队列)、(单向链表)和list(双向链表)。原创 2023-11-01 07:00:00 · 1316 阅读 · 0 评论 -
C++总结(4):继承和多态
面向对象编程的主要目的之一是提供可重用的代码,即实现代码的模块化。C++提供了类(class)的方法将数据表示和类方法组合在一起。然而不同的产品可能有不同的需求,这意味着需要对原先的类进行修改,而C++提供了比修改代码更好的方法来扩展和修改类,它就是继承。原创 2023-10-31 07:00:00 · 357 阅读 · 0 评论 -
C++总结(3):类的动态内存分配、异常、类型转换运算符
C语言中的强制类型转换允许几乎所有情况的转换,比如将一个指针的地址转换为char,这样就输出的是这个32位指针变量的地址的低8位(大端)。用于执行低层的类型转换,允许你将一个指针类型转换为另一种不相关的指针类型,或者将任何类型转换为一个完全不同的类型。拷贝构造函数是用于将一个对象复制到新创建的对象中,如果用户没有声明拷贝构造函数的话,编译器将生成一个默认的拷贝构造函数,它将逐个赋值非静态成员。类型,如果可以,它将返回一个指向目标类型的指针(或引用),否则返回一个空指针(如果转换失败)或抛出。原创 2023-10-30 07:00:00 · 637 阅读 · 0 评论 -
C++总结(2):模板、内联函数、const类和函数、运算符重载和友元
本篇文章对C++中的模板、内联函数、const类和函数、运算符重载和友元做了一个简单地介绍,为的是知道有这些概念,并能简单地使用它们。对于深入的用法,这里不做讲解。原创 2023-06-27 22:52:35 · 355 阅读 · 0 评论 -
C++总结(1):namespace、引用、函数重载和cout格式输出
命名空间指的是可以在程序中创建的各种块,用于对所有类似的对象进行分组,并且可以引用块内的所有变量、函数或类。通过这种方式,我们可以创建单独的作用域,并在程序中重用存在于不同命名空间中的相同变量名。命名空间的使用允许我们处理多个库中的文件。原创 2023-06-18 21:27:40 · 491 阅读 · 0 评论