<Object> 什么是无效初始化(处理<Object>导出)

What is <Object> in void init(Handle<Object> exports)

本文关键字:Object gt lt 处理 导出 什么 无效 初始化      更新时间:2023-10-16

我正在查看制作模块的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作为模板参数,给出一个函数。

Handle<Object>模板类的规范(与上面显示的模板函数相反)。这里有一个

声明
template <class T>
class Handle {
    ...
};

在代码中的某个位置或您包含的一个头文件中。从本质上讲,Handle<Object>是使用Handle模板通过在整个模板代码中用Object替换T而生成的类。

基本上是一样的:exports被声明为类型Handle<Object>,而Handle是一个类模板,接受一个(最有可能的)类型参数。它的声明可能类似如下:

template<typename T>
class Handle{...};
相关文章: