指向 typeinfo::name() 的内存的生命周期是多少?
在 C++ 中,我可以使用 typeid 运算符来检索任何多态类的名称:
const char* name = typeid( CMyClass ).name();
返回的 const char* 指针指向的字符串对我的程序可用多久?
In C++ I can use typeid
operator to retrieve the name of any polymorphic class:
const char* name = typeid( CMyClass ).name();
How long will the string pointed to by the returned const char*
pointer available to my program?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
只要带有 rtti 的类存在。因此,如果您处理单个可执行文件 - 永远。
但对于动态链接库中的类,情况会发生一些变化。您可能可以卸载它。
As long as the class with rtti exists. So if you deal with single executable - forever.
But for classes in a Dynamic Link Librariy it shifts a little. Potentially you can unload it.
type_info::name()
返回的内存将在应用程序的生命周期内可用。The memory returned by
type_info::name()
will be available for the application's lifetime.