c++ - Microsoft Integer Literal Extensions——记录在哪里?

标签 c++ c++11 visual-c++ c++14

我在 Windows 安装的标准 stdint.h 头文件中遇到了一些整数文字。文字具有以下形式的后缀:

i8、ui8、i16、ui16、i32、ui32、i64、ui64。

我以前遇到过 i64 形式的后缀,但从未遇到过任何其他形式的后缀。我很好奇这些扩展的记录位置。我花了一些时间查看 Microsoft 文档和其他文档,但找不到它们。

这完全是出于好奇。我很清楚后缀是什么意思。如果有人有指向该文档的链接,如果您分享引用资料,我将不胜感激。

提前致谢!

最佳答案

如果这些源自 Microsoft 的内在文字后缀由于弃用或其他原因而被删除,那么您可以通过 C++11 的用户定义文字编写自己对它们中的每一个的精确替换:http://en.cppReference.com/w/cpp/language/user_literal

例如:

constexpr uint16_t
  operator"" ui16 ( uint16_t literal_ )
  noexcept
  {
  return literal_;
  }

关于c++ - Microsoft Integer Literal Extensions——记录在哪里?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33659846/

相关文章:

c++ - 正确使用 std::unique_ptr 和 std::weak_ptr

c++ - 为什么参数包扩展在不同的 C++ 编译器中的工作方式不同?

c++ - unordered_map - {{key,value},{key,value}} 语法无效

python - Visual Studio 更新到 15.0 后出现扭曲安装问题

visual-c++ - 无效的对话框模板名称 MFC

C++:条件继承是否可能

c++ - (C/C++) 从 txt 文件读取字符到数组时,fscanf_s 缺少整数参数错误

c++ - 针对编译时常量优化的函数

c++ - 字符指针(由 new 分配)

C++ 为什么它不是同一个地址(指针)