c++ - 在 C++ 中获取类实例的名称?

标签 c++ class typeid

假设我们有这个类

class IntArray {

string name;



};

我们有这个驱动程序

 int main(){

 IntArray xe;



 return 0;
 }

基本上,我们如何通过构造函数将实例名称“xe”存储到数据成员“string name”中?

最佳答案

C++ 不支持这样做。变量名只是您作为开发人员所知道的。编译的程序没有它们。你的std::string name class IntArray 内的字段不会持有“xe”;它只是未初始化。

但是,您可以使用 map - std::unordered_map<std::string, IntArray> arrays确切地说 - 然后使用 arrays["xe"]使用运行时定义的字符串访问您喜欢的数组。参见 std::unordered_map 有关详细信息,请访问 CPPReference。

关于c++ - 在 C++ 中获取类实例的名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51566795/

相关文章:

c++ - 一组的幂集

c++ - 存储和调用具有未知参数的成员函数

c++ - 有进程的句柄如何注册监视其关闭/重新启动/复制事件?

java - IntelliJ IDEA 中Java类资源的自动重载

c++ - 带有 typeid 调用的 UB

c++ - 从 Internet 检索时间(绕过 PC 时钟)?

python - 初始化 Python 类中的静态字段

php - 函数中的类成员函数?

c++ - 跨不同 dll 的 typeid 结果

c++ - typeid指针和引用比较区别?