STL
文章平均质量分 77
不是杠杠
严于律己,宽以待人。
学无止境
展开
-
队列(queue)c++
C++ 中的队列(queue)是一种先进先出(FIFO)的数据结构。原创 2024-03-01 16:36:33 · 286 阅读 · 0 评论 -
仿函数(Functor(c++))
仿函数(Functor)是一个可以像函数那样被调用的类对象。这意味着它实现了operator(),使得类的对象可以像函数那样被调用。原创 2024-03-01 15:37:07 · 879 阅读 · 0 评论 -
智能指针(Smart Pointers)
智能指针(Smart Pointers)是C++中的一种高级特性,它提供了一种自动管理动态分配内存的机制。通过智能指针,开发者可以避免手动管理内存所带来的问题,如内存泄漏和悬挂指针等。智能指针的主要目的是确保当对象不再需要时,其内存能够被自动释放。原创 2024-03-01 15:28:09 · 634 阅读 · 0 评论 -
虚函数,虚指针,虚表,虚析构函数和多态
而且,只要它是最后的构造函数调用,那么在这个对象的生命期内,VPTR将保持被初始化为指向这个VTABLE, 但如果接着还有一个更晚派生的构造函数被调用,这个构造函数又将设置VPTR指向它的 VTABLE,等.直到最后的构造函数结束。多态,就是存在虚函数的基类和存在一个或者多个基于该基类(并且实现了该基类的虚函数)的派生类,当一个基类指针指向不同的派生类时,通过基类指针调用虚函数,会有不同的实现,从而实现虚函数的多态性质。当使用基类指针或引用调用虚函数时,实际调用的是指向派生类的虚函数表的相应虚函数。原创 2024-01-31 10:05:25 · 1568 阅读 · 1 评论 -
decltype 关键字
decltype 关键字在 lambda 表达式中通常用于指定 lambda 函数的返回类型或者获取 lambda 表达式中某个表达式的类型。在这个例子中,decltype(t * u) 用于确定 lambda 函数的返回类型,它将是 t 和 u 相乘的类型。在这个例子中,decltype(x + y) 用于指定 lambda 函数的返回类型,它将是 x 和 y 相加的类型。提供了一种灵活的方式来处理表达式的类型,特别是在模板和泛型编程中,可以用于自动地推导表达式的类型而不依赖于硬编码。原创 2024-01-31 09:22:20 · 542 阅读 · 0 评论 -
泛型编程(函数模板,类模板,成员函数模板,模板偏特化,模板模板)
类的模板模板(Template Template for Classes)是C++中一种高级的模板技术,它扩展了模板模板的概念,使得我们可以定义接受模板类作为参数的类模板。通过使用类的模板模板,我们能够编写更加灵活和通用的类模板,使其能够处理不同类型的模板类作为参数。总之,模板模板是C++中一种强大的模板技术,允许我们定义接受模板作为参数的模板。成员模板函数是类模板中的成员函数,其模板参数独立于类模板的模板参数。类模板是一种通用的类定义,类的成员变量和成员函数的类型可以在类定义时使用模板参数。原创 2023-06-25 14:26:34 · 460 阅读 · 0 评论 -
conversionfunction(转换函数)/c++
转换函数只能作为类的成员函数,它可以将一种类型转换成另外一种类型(可以是自定义类型)。转换函数没有返回类型,转换函数的基本形式是perator typename(),typename既是返回的数据类型。转换函数通常会加上const 因为不会改变类的成员变量的值。原创 2023-06-21 15:00:00 · 126 阅读 · 0 评论 -
c++ 模板
模板是c++的一种特性,允许函数或者类(对象)通过泛型(generic types)的形式表现或者运行模板可以使得函数或类在对应不同的类型(types)的时候正常工作,而无需为每一种类型分别写一份代码。1:函数模板(function tempalte):使用泛型参数的函数(function with generic parameters)2:类模板(class template):使用泛型参数的类(class with generic parameters)模板的声明(declaration)其实并未给出一原创 2022-06-16 15:09:02 · 12668 阅读 · 0 评论