我最近了解到在C++中使用size_t而不是std::size_t是非标准的,因此必须更改我的代码。我在其他答案中读到char16_tchar32_t也作为typedef引入,但是intellisense只识别不带std::的它们,而且我不知道它们来自哪个 header ,除了C header <uchar.h>外,根据cppreference.com

我应该为这些类型添加std::前缀吗?如果是这样,它们定义在哪个C++ header 中?

最佳答案



这些答案有误,或者您误解了所读的内容(或者他们在谈论C)。
char16_tchar32_tkeywords in C++(与size_t不同)。它们是基本类型,就像intfloat一样。它们是不同于所有其他类型的类型,但它们确实具有基础类型(分别为std::uint_least16_tstd::uint_least32_t)。

在C11中,char16_tchar32_t是在头<uchar.h>中定义的typedef。也许答案在谈论C。

关于c++ - char16_t和char32_t是std namespace 的一部分吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/61240943/

10-17 01:40