<Object> 什么是无效初始化(处理<Object>导出)
What is <Object> in void init(Handle<Object> exports)
我正在查看制作模块的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{...};
相关文章:
- EASTL矢量<向量<int>>连续的
- 当覆盖存在时调用基本虚拟"binded to object"函数
- "Unable to start debugging. No process is associated with this object." - 在Visual Studio Code中使用GDB
- C++将派生类转换为基类时'object slicing'期间发生的情况
- 如何理解 C++17 标准参考中的 [intro.object]/3? N4659 的
- "Cannot convert Python object argument to type '<typename>'" - 使用 Cython 包装 C++ 类时出错
- 使用 object 中的方法调用带有 std::bind 和 std::function.target 的 C 样式函数
- "Called Object Type is Not a Function or Pointer" 与 typedef 和类
- C++线程"Call to non-static member function without an object argument"
- dopen():不以 root 身份运行时"failed to map segment from shared object"
- 当两个成员位于同一类中时出错"a nonstatic member reference must be relative to a specific object"
- Nan::ObjectWrap to Napi::Object Wrap 无法访问 JavaScript 中的属性
- 现代C++会支持 C# "Object Initalizer"语法吗?
- 指向对象生存期之外的已分配内存的指针是"invalid pointer[s]"还是"pointer[s] to an object"?
- C++ Equivalent of Java Map<String, Object>
- WebKit2GTK+ "window-object-cleared"未清除
- 返回 *&object 时是否允许复制/移动省略?
- QPointer::clear() 是删除其引用的指针,还是"Clears this QPointer object."其他含义?
- 解决方法:'can not be used when making a shared object; recompile with -fPIC'使用Cmake。使用普通的 g++ 工作
- 编辑C Qlist&lt; object*&gt; gt;QML代码和一些QML警告中的模型