
C++
万丈高楼平地起_勿在浮沙筑高台
这个作者很懒,什么都没留下…
展开
-
template template parameter,模板模板参数
template template parameter,模板模板参数一、模板模板参数的概念二、示例代码一、模板模板参数的概念它是一个模板参数,但它自己本身又是一个模板。二、示例代码 #include <list> #include <vector> #define SIZE 1000 //必须用using指定它另外一个模板参数。因为这些容器都是两个模板参数 template<typename T> using List = std::l原创 2021-02-03 10:23:35 · 310 阅读 · 0 评论 -
partial specialization,模板偏特化
partial specialization,模板偏特化一、模板偏特化——个数的偏二、模板偏特化——范围的偏一、模板偏特化——个数的偏1、概念说明一个类模板它有两个以上的模板参数列表,我们写一个版本指定它某个参数为一个特定的类型,其余参数保持泛型。2、示例代码 template<typename T1, typename T2> class testPartialSpecialization { public: testPartialSpeci原创 2021-02-03 10:02:31 · 324 阅读 · 0 评论 -
specialization,模板特化
@specialization,模板特化一、模板特化的概念特化的对立面泛化,泛化是包罗万象,什么类型都可以。 特化就是给它指定一个类型的特别实现,之后有人要用此类型来使用模板,那么就需要调用我这个特别的实现。二、示例代码 template<class Key> struct hash {}; //这个是语法需要的写法 template<> struct hash<char>{ size_t operator() (ch原创 2021-02-03 09:07:33 · 138 阅读 · 0 评论 -
member template,成员模板
@member template,成员模板一、成员模板的概念类模板中有个member,它自己也是一个 template,就叫成员模板二、示例代码 class Base1{}; class Derived1:public Base1 {}; class Base2{}; class Derived2:public Base2 {}; template<class T1, class T2> struct pair { typ原创 2021-02-02 14:00:29 · 242 阅读 · 0 评论 -
function template,函数模板
@function template,函数模板一、函数模板概念函数模板指的是函数参数类型和返回类型的参数化。二、示例代码 template<class T> inline const T& min(const T& a, const T& b) { return b < a ? b : a; } class stone { public: stone(int w, in原创 2021-02-02 09:33:05 · 167 阅读 · 0 评论 -
class template,类模板
@class template,类模板一、类模板概念所谓类模板,我理解的就是将类中成员数据的类型参数化(成员数据包括数据成员和函数成员,静态非静态都可以)。使得程序设计更具可变性。提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考一、pandas是什么?示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建原创 2021-02-02 09:00:23 · 342 阅读 · 0 评论 -
function-like classes, 仿函数
@function-like classes, 仿函数前言仿函数指的是一个类的行为看起来像函数, 其做法是重载了函数调用操作符 ()。示例代码 template<class T> class identity { public: const T& operator() (const T& x) const { return x; } }; void test_function_like_cla原创 2021-01-28 15:19:05 · 162 阅读 · 0 评论 -
pointer-like classes
@pointer-like classes前言pointer-like classes , 类的行为看起来像指针,C++里操作指针的操作符有 -> 和 * ,实质上就是类重载了这两个操作符,使得类的行为看起来像指针。一、关于智能指针代码示例 template<class T> class shared_ptr { public: shared_ptr(T* p) : px(p) { } //1 ~shared_ptr(原创 2021-01-28 14:27:11 · 234 阅读 · 0 评论 -
conversion function 转换函数,explicit
文章目录一、conversion function 转换函数1、语法2、测试代码二、non-explicit-one-argument ctor1、语法2、测试代码三、conversion function vs non-explicit-one-argument ctor1、测试代码四、explicit-one-argument ctor1、语法2、测试代码一、conversion function 转换函数1、语法operator TypeName() const { return (Typ原创 2021-01-28 10:49:34 · 344 阅读 · 0 评论 -
C++面向对象编程总结
`C++面向对象编程总结`一、Object Based(基于对象):面向的是单一class设计1、class without pointer members. Complex2、class with pointer members. StringObject Oriented (面向对象):类之间的关系1、Composition(复合),表示 has - a.2、Delegation(委托),Composition by reference.3、Inheritance(继承),表示 is - a.一、O原创 2021-01-25 11:19:36 · 233 阅读 · 0 评论