
2018.11.20
欧梅尼亚
这个作者很懒,什么都没留下…
展开
-
C++基础教程面向对象(学习笔记(67))
模板类在前面,您学习函数模板如何实例化为函数模板实例,允许我们概括函数以使用许多不同的数据类型。虽然这是通用编程之路上的一个很好的开端,但它并没有解决我们所有的问题。让我们看一个这样一个问题的例子,看看哪些模板可以进一步为我们做。模板和容器类在容器r类的课程中,您学习了如何使用组合来实现包含其他类的多个实例的类。作为这样一个容器的一个例子,我们看了一下IntArray类。以下是该类的简化示例...翻译 2018-11-20 14:58:07 · 97 阅读 · 0 评论 -
C++基础教程面向对象(学习笔记(68))
模板非类型参数在前面的课程中,您已经学习了如何使用模板类型参数来创建独立于类型的函数和类。但是,模板类型参数不是唯一可用的模板参数类型。模板类和函数可以使用另一种称为非类型参数的模板参数。非类型参数模板非类型参数是一种特殊类型的参数,它不替换类型,而是由值替换。非类型参数可以是以下任何一种:具有整数类型或枚举的值指向类对象的指针或引用指向函数的指针或引用指向类成员函数的指针或引用s...翻译 2018-11-20 15:07:59 · 237 阅读 · 2 评论 -
C++基础教程面向对象(学习笔记(69))
功能模板专业化在实例化给定类型的函数模板时,编译器会模板化模板化函数的副本,并将模板类型参数替换为变量声明中使用的实际类型。这意味着特定函数将具有每个实例类型的相同实现细节(仅使用不同类型)。虽然大多数情况下,这正是您想要的,但偶尔会出现对特定数据类型实现略有不同的模板化函数有用的情况。模板专业化是实现这一目标的一种方法。我们来看一个非常简单的模板类:template <class ...翻译 2018-11-20 15:23:49 · 141 阅读 · 0 评论 -
C++基础教程面向对象(学习笔记(70))
类模板专业化在函数模板专业化中,我们了解了如何专门化函数以便为特定数据类型提供不同的功能。事实证明,它不仅可以专门化功能,还可以专门化整个类!考虑您想要设计一个存储8个对象的类的情况。这是一个简化的类:template <class T>class Storage8{private: T m_array[8]; public: void set(int ...翻译 2018-11-20 15:35:53 · 133 阅读 · 0 评论