c++ - void init(Handle<Object> exports) 中的 <Object> 是什么

标签 c++

我正在查看有关制作模块的 node.js 文档。 http://nodejs.org/api/addons.html

我了解模板函数和模板类,例如

template <class T>
void MyTemplateFunction(T a) 
{
    a.doSomething();
}

...

MyObj mo;
MyTemplateFunction <MyObj>(mo);

这段代码看起来有点像模板,但我以前从未使用过:

void init(Handle<Object> exports) {
    // what is <Object>?
}

最佳答案

据推测,Handle 是一个带有单一类型参数的类模板:

template <typename T> class Handle;

并且大概 Object 是一种类型。

这会实例化 Handle 类模板,使用 Object 作为模板参数,给出一个类;就像您的示例实例化 MyTemplateFunction 函数模板一样,使用 MyObj 作为模板参数来提供一个函数。

关于c++ - void init(Handle<Object> exports) 中的 <Object> 是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16570581/

相关文章:

c++ - 在 Eclipse c++ 中设置包含文件和库。还是报错

c++ - 内核授权文件操作范围在 Mavericks 中被破坏

c++ - 将 CV_32FC1 更改为 CV_64FC1 结果不正确的数据转换

c++ - 如何让 C++ 中的集合过滤掉指向相同值的不同指针

c++ - 连接两个文件时如何避免多余的尾随换行符?

c++ - 当对象的当前状态不允许对其进行操作时抛出哪个异常?

c++ - 传递 constexpr 对象

c++ - 调用void函数问题

c++ - 在 Visual Studio 2015 中调用析构函数时出现奇怪的堆栈溢出

c++ - 当调用它的函数结束时,防止我的 vector 被删除