- Expert C++
- Vardan Grigoryan Shunguang Wu
- 182字
- 2021-06-24 16:34:06
Class templates
A class template defines a family of classes, and it is often used to implement a container. For example, the C++ Standard Library contains many class templates, such as std::vector, std::map, std::deque, and so on. In OpenCV, cv::Mat is a very powerful class template and it can handle 1D, 2D, and 3D matrices or images with built-in data types such as int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, float, double, and so on.
Similar to function templates, as shown in the following diagram, the concept of class templates contains a template creation syntax, its specialization, and its implicit and explicit instantiations:
In part I of the preceding diagram, with a certain syntax format, we can create a class template for generic types, also known as a primary template, and it can be customized for special types with different member functions and/or variables. Once we have a class template, in part II, the compiler will instantiate it to template classes either explicitly or implicitly based on the application's demand.
Now, let's look at the syntax for creating a class template.
- MySQL數(shù)據(jù)庫應(yīng)用與管理 第2版
- Building a RESTful Web Service with Spring
- CentOS 7 Server Deployment Cookbook
- 網(wǎng)頁設(shè)計(jì)與制作教程(HTML+CSS+JavaScript)(第2版)
- Python高效開發(fā)實(shí)戰(zhàn):Django、Tornado、Flask、Twisted(第3版)
- Learning Three.js:The JavaScript 3D Library for WebGL
- C語言課程設(shè)計(jì)
- INSTANT Sinatra Starter
- 學(xué)習(xí)OpenCV 4:基于Python的算法實(shí)戰(zhàn)
- Python入門很輕松(微課超值版)
- Python預(yù)測分析與機(jī)器學(xué)習(xí)
- SQL Server實(shí)例教程(2008版)
- Zend Framework 2 Cookbook
- HTML5 Game Development by Example:Beginner's Guide(Second Edition)
- Python自動(dòng)化開發(fā)實(shí)戰(zhàn)