type_info的包装器类
Wrapper class for type_info
所以,我发现了这个关于c++中事件的非常好的教程:
http://www.gamedev.net/page/resources/_/technical/game-programming/effective-event-handling-in-c-r2459
但是:创建者对typeid返回的type_info使用包装器。据我所知,这是不可能的,因为type_info的=运算符不可访问。因此,我无法编译他提供的代码。不幸的是,这也是他的教程的核心部分。现在,我该如何解决这个问题,我应该简单地使用type_info.hash_code吗?这能单独识别一个类吗?或者我不明白他在这种情况下所说的"包装物"是什么意思吗?
该页面上唯一提到的type_info
是
TypeInfo是一个围绕type_info类的简单包装器,使我们可以将其作为关键字存储在std::map中。
C++11在CCD_ 3中具有CCD_ 2。一般来说,map
的元素不需要可赋值,也不需要像C++11那样可复制,但type_info
仍然不能直接使用,因为除了typeid
表达式之外,根本无法构造元素。
std::type_index
的规范指出,它可以包含指向std::type_info
的指针以简化实现。"Wrapper"并不意味着继承或直接成员身份。
通过引用包装的类也称为代理
关于这篇文章,我问了自己同样的问题,但后来我意识到应该提供代码列表,事实确实如此。所以TypeInfo
是一个简单的type_info
的包装器。
class TypeInfo{
public:
explicit TypeInfo(const type_info& info) : _typeInfo(info) {};
bool operator < (const TypeInfo& rhs) const{
return _typeInfo.before(rhs._typeInfo) != 0;
}
private:
const type_info& _typeInfo;
};
相关文章:
- 如何在c++17中制作一个模板包装器/装饰器
- std::vector的包装器,使数组的结构看起来像结构的数组
- 如何在c++迭代器类型中包装std::chrono
- 是否可以用"iostream"包装现有的TCP/OOpenSSL会话
- 用pybind11包装C++抽象类时出错
- 为左值和右值的包装器实现C++范围
- C结构,其指针将被包装在unique_ptr中
- 如何包装第三方DLL在R中使用
- 在类型和包装器之间reinterpret_cast是否安全<Type>?
- 将 N-arg 函数包装到另一个函数中
- 元组由 Swig 生成的 Python 包装器返回,用于C++向量
- 包装一个对象并假装它是一个 int
- 使用 Python Extension API 包装复杂C++类
- 外壳包装器句柄/执行交互式命令管道C++ UNIX
- 包装C++类时不完整的类型 GLFWwindow
- 将函数包装器转换为 std::function
- C++函数包装器来捕获某些信号
- 创建包装升压适配器的自定义范围类
- 如何包装(撰写)增强 hana 地图并访问括号运算符(运算符 [])?
- 使用运算符*重载包装矩阵乘法