c++ - 检查字符串的类型信息时出现奇怪的输出

标签 c++ string types typeinfo

在c++中检查String的typeinfo时,返回一个奇怪的输出A19_cA19_c是什么意思?

当显式初始化为引用类型字符串时,它会查找并返回一个 Ss

#include <iostream>
#include <typeinfo>
using namespace std;

int main() {
    /* Enter your code here. Read input from STDIN. Print output to STDOUT */   

    std::string mystr = "I am a code monkey";
    cout << typeid(mystr).name() << endl;
    cout << typeid("I am a code monkey").name() << endl;
    return 0;
}

[输出]:

Ss
A19_c

最佳答案

type_info::name不需要返回任何人类可读的东西。它是一个实现定义的名称。它甚至不需要唯一。所以它的确切含义取决于实现。此外,您不能保证从任何其他实现中获得 A19_c

关于c++ - 检查字符串的类型信息时出现奇怪的输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34559051/

相关文章:

c - 用字符串替换字符

c++ - 使用 libpam0g-dev 和 cmake 构建应用程序

c++ - 如何调用对象在函数内部的类方法

c++ - 为什么具有虚拟继承的派生类的大小出乎意料?

c++ - POD 中的 static_assert 会破坏 POD 吗?

c - 指针差异类型(负)

swift - 如何基于 Int 创建一个新的类型安全的原始类型?

c++ - boost::any 中的模板复制构造函数

java - java另一种字符串转换URL utf8

java - 如何使用 Java Stream 逐行读取文件