首页 > 解决方案 > 与c++类定义相关的c++语法理解问题

问题描述

我正在阅读一个应用程序源,我遇到了这样的事情:

class A
{

};

template<>
class B<A>
{

};

问题是我无法理解class B<A>含义。这是什么意思?

标签: c++classooptemplates

解决方案


这意味着该类B已被声明为模板,现在您有了模板特化。就像缝纫一样,这意味着它B不会单独工作,而是需要另一个类,here A,才能工作。

它是一种新类型,然后BA在原始类型(您没有显示)所在的任何地方用作一种线(继续进行缝纫类比)。

您可能想看看https://en.cppreference.com/w/cpp/language/templates


推荐阅读