反向C ++查找

时间:2010-10-05 11:21:13

标签: c++ templates

我是一名“C”程序员,只知道最微小的C ++。我正在研究一些开源C ++代码,试图理解它正在做的一些事情。我可以解决大部分问题,但有时会出现我无法识别的语法,我希望能够“查找”语法的含义,这样我才能阅读足以理解C ++的内容。但是你不能只是在google中键入一堆符号 - 或者在C ++中找出其中的含义。关于我如何能够做到这一点的任何建议?

我现在正在努力解决的具体语法如下:

void Blah<BOARD>::Generate(SgPoint p)

<BOARD>在这种情况下有什么意义?为了理解它,我应该查看什么?

4 个答案:

答案 0 :(得分:9)

void Blah<BOARD>::Generate(SgPoint p)

Generateclass template Blah的成员函数。

BOARD是参数的名称。

您的班级Blah可能是这样的:

template <typename BOARD>
class Blah
{
   //...some code
   void Generate(SgPoint p);
   //...some more code
};

答案 1 :(得分:8)

Blah很可能是模板化类,Generate是此类中的方法,这很可能是方法定义的第一行。

编辑:哦,BOARD是模板参数(可以是类型或整数值)。

答案 2 :(得分:6)

这是专门用于模板参数Generate的{​​{1}} class templateBlah方法。

换句话说,接下来是当BOARD模板用于处理类Blah的实例时调用的实际代码。

如果存在单独的专业化,或者通过BOARD的默认非专业化实现,可以以不同的方式处理其他类,或者如果没有默认值且没有专门化,则可以不处理其他类 - 在在哪种情况下,尝试调用该函数将无法编译。

对模板专业化here的主题进行简短介绍。

答案 3 :(得分:3)

你遇到C++ templates - 非常简洁的功能!