
C++
文章平均质量分 59
T.O.P_KING
这个作者很懒,什么都没留下…
展开
-
CMake
cmake原创 2022-05-29 14:07:40 · 218 阅读 · 0 评论 -
c++ 字面量
字面量自定义字面量自定义字面量字面量(literal)是指在源代码中写出的固定常量,它们在 C++98 里只能是原生类型,如:"hello",字符串字面量,类型是 const char[6]1,整数字面量,类型是 int0.0,浮点数字面量,类型是 double3.14f,浮点数字面量,类型是 float123456789ul,无符号长整数字面量,类型是 unsigned longC++11 引入了自定义字面量,可以使用 operator"" 后缀 来将用户提供的字面量转换成实际的类型。C原创 2022-05-02 19:00:00 · 2472 阅读 · 0 评论 -
5 模板别名和模板参数
模板别名和参数模板别名模板参数类型非类型模板模板别名在C++11中提供了模板别名。使用它可以方便的对一些具有不同类型参数的模板命名。例如有Matrix类模板:template <typename T, int Line, int Col>class Matrix{ ....};为了可读性,我们增加2个特殊的矩阵:Square和Vector,分别表示行列相同的方阵和一维的向量。可以使用关键字using声明类型别名:template <typename T, int L原创 2022-04-07 23:45:00 · 493 阅读 · 0 评论 -
4 类模板继承
类模板继承类模板继承的成员函数是不可用的成员函数的实例化是lazy的类模板继承中有一些细节需要注意。类模板继承的成员函数是不可用的#include <iostream>class Base{public: void func(){ // (1) std::cout << "func\n"; }};class Derived: public Base{public: void callBa原创 2022-04-06 23:30:00 · 1423 阅读 · 0 评论 -
3 类模板初探
类模板类模板的定义成员函数的定义当成员函数为模板友元将成员函数定义在类外类模板的定义我们拿数组Array来举例:class Array{ public: int getSize() const { return 10; } private: int elem[10];};类Array中有一个长度为10的C数组。其中的数组类型和长度显然是可以泛化的。下面将其变为一个模板:#include <cstddef>原创 2022-04-02 17:54:56 · 656 阅读 · 0 评论 -
2 函数模板初探
函数模板和函数的重载仍然拿max函数举例。使用double重载max函数。然后分别使用float和double实例化:template <typename T>T max(T lhs,T rhs) { return (lhs > rhs)? lhs : rhs;}double max(double lhs, double rhs) { return (lhs > rhs)? lhs : rhs;}int main() { max(10.原创 2022-04-01 18:18:50 · 1064 阅读 · 0 评论 -
1 C++模板
模板入门什么时候使用模板如何创建模板当实例化模板时会发生什么?当使用相同类型实例化模板多次时,会发生什么?延迟实例化模板(类模板或函数模板)和类或函数很相似。当你实例化一个模板,你就创建了一个具体的类或函数。出于习惯,有时也将类模板称为泛型类,将函数模板成为泛型函数。为了可视化模板实例化的过程,可以使用C++ Insights。什么时候使用模板你应该使用模板当函数或类代表了一个抽象的概念,并且不局限于某个特定的类型。例如:函数max,容器vector都能用于多种类型。如何创建模板假如有如下函数:原创 2022-03-31 18:56:31 · 906 阅读 · 0 评论 -
智能指针实现
智能指针简单实现参考链接智能指针可以简化资源的管理,从根本上消除资源(包括内存)泄漏的可能性。智能指针本质上并不神秘,其实就是 RAII 资源管理功能的自然展现而已。unique_ptr 算是一种较为安全的智能指针了。但是,一个对象只能被单个 unique_ptr所拥有,这显然不能满足所有使用场合的需求。多个不同的 shared_ptr 不仅可以共享一个对象,在共享同一对象时也需要同时共享同一个计数。当最后一个指向对象(和共享计数)的 shared_ptr 析构时,它需要删除对象和共享计数。我们下面就原创 2022-02-19 23:59:18 · 1279 阅读 · 0 评论