C++ 尺码和尺码:有什么需要注意的吗?
是否有任何理由不认为SIZE_T在Microsoft的Visual C/C++编译器上是SIZE_T的类型定义?Windows intsafe.h函数包含从一个到另一个的安全转换函数。这仅仅是为了完整性,还是存在静态强制转换可能无法给出预期结果的场景?鉴于唯一的文档是,我将避免对C++ 尺码和尺码:有什么需要注意的吗?,c++,windows,C++,Windows,是否有任何理由不认为SIZE_T在Microsoft的Visual C/C++编译器上是SIZE_T的类型定义?Windows intsafe.h函数包含从一个到另一个的安全转换函数。这仅仅是为了完整性,还是存在静态强制转换可能无法给出预期结果的场景?鉴于唯一的文档是,我将避免对SIZE\u T和SIZE\u T之间的关系进行太多假设。只要SIZE\u T是一个typedef到一个整数类型,那么static\u cast(val)就应该像预期的那样工作。如果您的应用程序必须是跨平台的,那么您只需
SIZE\u T
和SIZE\u T
之间的关系进行太多假设。只要SIZE\u T
是一个typedef
到一个整数类型,那么static\u cast(val)
就应该像预期的那样工作。如果您的应用程序必须是跨平台的,那么您只需要使用该语言中的标准类型,即std::SIZE\T。否则,使用看起来合适的。
如果您的目标是获得std::size\t类型,那么为什么不直接使用它,而不关心特定于平台的类型呢
顺便说一下,std::size\u t保证为最大数组大小提供足够的值,即可以在计算机上分配的最大字节数。因此,使用它而不是任何其他typedef应该是安全的。intsafe.h中的安全强制转换函数的名称是什么?