当我们使用typeid即typeid(variable).name() 它是否将字符串作为输出发出,因为如果它发生了,它可能有助于与字符串进行比较。C++ typeid是否返回字符串类型?
1
A
回答
3
根据标准,这是一个实现定义空终止const char*
:
18.7.1类TYPE_INFO
....
const char* name() const noexcept;
返回:实现定义的
NTBS
。备注:该消息可以是一个空终止多字节字符串(17.5.2.1.4.2),适合于转化和 显示器作为
wstring
(21.3,22.4.1.4)
由于内容是实现定义的,它不能与其他字符串以可靠的方式进行比较,除非我们限于特定的实现。
0
当我尝试这个时,我得到了Ss。
#include <string>
#include <typeinfo>
#include <iostream>
using namespace std;
int main(int argc, char** argv) {
string str = "string";
cout << typeid(str).name();
return 0;
}
1
typeid(variable).name()
returns指针空终止字符串,其可以使用strcmp()
进行比较。但更好的方法来检查类型的变量是
if (typeid(a) == typeid(int))
相关问题
- 1. 字符串&引用返回类型C++?
- 2. 当返回类型是ModelAndView时返回字符串
- 3. C++ typeid(x).name()返回ph
- 4. 返回可空字符串类型
- 5. XmlReader.ReadContentAsObject始终返回字符串类型
- 6. __str__返回非字符串(类型NoneType)
- 7. C# - 字符串和返回类(无XML)
- 8. 字符串数组类型方法返回类型错误
- 9. json_decode返回字符串类型,而不是对象
- 10. C++返回字符串
- 11. C - 返回字符串
- 12. c字符串返回类型不正确?
- 13. C++方法返回基于一个字符串不同类型
- 14. C:函数返回退出类型为字符串
- 15. 带字符串作为返回类型的函数C
- 16. C# - 如何根据字符串返回一个类型
- 17. C#:拆分字符串,而不是返回空字符串
- 18. 字符串的SHA1是否总是返回ASCII字符?
- 19. 不能转换类型的返回式“字符串”返回类型“(INT) - >字符串”
- 20. mysql_query只返回int/fload db类型的字符串类型
- 21. 测试返回的字符串是否具有java类
- 22. Maya Python skinCluster返回类型不是字符串?
- 23. C++ - typeid的(),在派生类中使用不返回正确的类型
- 24. 什么应该是返回xml字符串的方法的返回类型?
- 25. 返回本地C-字符串函数与C++字符串返回值
- 26. 返回字符串
- 27. C++是否支持字符串类型的常量数组?
- 28. 检查字符串是否属于T类型C++ 11
- 29. 为什么typeid总是返回false?
- 30. 返回C字符串到C#程序
即使对于一个用户定义的数据类型,我们可以用这个吧? typeid(a)== typeid(class)其中a是类的对象。 –
@AliAhsan,right –
that help Thanks –