官术网_书友最值得收藏!

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.

主站蜘蛛池模板: 蓬莱市| 乡宁县| 仲巴县| 高尔夫| 察雅县| 仁寿县| 弥渡县| 旺苍县| 喜德县| 文水县| 屏东县| 德钦县| 固安县| 自贡市| 襄汾县| 施甸县| 霍邱县| 新沂市| 乌拉特后旗| 和田县| 海南省| 梁山县| 隆安县| 台南县| 阳谷县| 宁强县| 渭源县| 时尚| 金昌市| 青冈县| 鹤峰县| 南安市| 庄河市| 开远市| 额尔古纳市| 麻栗坡县| 且末县| 武功县| 沛县| 和平区| 建平县|