哪些C ++编译器自动定义size_t而不要求包含标头?

RPFeltz

在使用Visual Studio 2013的C ++编译器时,我注意到我的代码依赖size_t正确编译,即使没有包含任何定义它的标头(例如#include <stddef.h>#include <string.h>)。

我进行了测试,是因为我喜欢这样的想法:不为整个琐碎的事情包括整个标头。我觉得这会使我的代码肿。我得出结论size_t,即使代码中没有任何标头包含,Visual Studio 2013的C ++编译器也会自动定义

在享受这一点的同时,我开始担心可移植性。对我来说,编码的便利性和感觉就像我的代码优雅一样,比绝对的可移植性更重要。但我仍然想要一些可移植性。例如,我不介意使用,#pragma once因为大多数编译器都支持它,并且标头防护很麻烦(尤其是在Visual Studio中),但是我绝不会因为一个编译器支持而导出模板。

因此,我的问题是,size_t的自动定义是许多编译器提供的广泛功能,还是Microsoft编译器特有的功能?

迈克·西摩

这种行为当然并不普遍。按照标准指定,GCC和Clang都要求包含<cstddef>forstd::size_t或已弃用的<stddef.h>for ::size_t

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Cython不要求gil哪些C函数?

来自分类Dev

典型的C ++编译器处理哪些工作?

来自分类Dev

C ++标头#define编译器错误

来自分类Dev

哪些C ++标准库头调用GCC的-pthread选项的要求?

来自分类Dev

查看哪些代码由C#编译器预编译

来自分类Dev

哪些编译器选项用于在Visual Studio中编译C ++ STL类/函数?

来自分类Dev

我可以使用哪些编译器将C ++与D链接?

来自分类Dev

哪些qmake变量用于Objective-C编译标志?

来自分类Dev

标准标头中的C编译器错误-未定义的C ++定义

来自分类Dev

标准标头中的C编译器错误-未定义的C ++定义

来自分类Dev

自动包含所需的C ++标头IDE?

来自分类Dev

我应该在MinGW设置中为完整的C和C ++编译器选择哪些选项

来自分类Dev

我应该在MinGW设置中为完整的C和C ++编译器选择哪些选项

来自分类Dev

Tensorflow负载图c ++示例中要包括哪些标头?

来自分类Dev

哪些编译器支持std :: filesystem?

来自分类Dev

Java编译器有哪些怪癖?

来自分类Dev

C编译器自动版本增加

来自分类Dev

C标准库的哪些部分未包含在C ++标准库的其余部分中?

来自分类Dev

C标准库的哪些部分未包含在C ++标准库中(其余部分)?

来自分类Dev

C ++成功编译,不包含<string>标头

来自分类Dev

如何编译包含LLVM API标头的C ++程序?

来自分类Dev

C ++成功编译,不包含<string>标头

来自分类Dev

C ++标头包含

来自分类Dev

使用LAMP在服务器中运行可执行的C程序-对C代码进行哪些修改?

来自分类Dev

.net编译器执行哪些过程来编译代码?

来自分类Dev

包含保护:为什么C ++编译器不自动仅将每个头文件包含一次?

来自分类Dev

Perl 5有哪些可用的编译器/解释器?

来自分类Dev

C ++如何知道模板类在编译时支持哪些方法?

来自分类Dev

哪些命名约束适用于C#条件编译符号?

Related 相关文章

  1. 1

    Cython不要求gil哪些C函数?

  2. 2

    典型的C ++编译器处理哪些工作?

  3. 3

    C ++标头#define编译器错误

  4. 4

    哪些C ++标准库头调用GCC的-pthread选项的要求?

  5. 5

    查看哪些代码由C#编译器预编译

  6. 6

    哪些编译器选项用于在Visual Studio中编译C ++ STL类/函数?

  7. 7

    我可以使用哪些编译器将C ++与D链接?

  8. 8

    哪些qmake变量用于Objective-C编译标志?

  9. 9

    标准标头中的C编译器错误-未定义的C ++定义

  10. 10

    标准标头中的C编译器错误-未定义的C ++定义

  11. 11

    自动包含所需的C ++标头IDE?

  12. 12

    我应该在MinGW设置中为完整的C和C ++编译器选择哪些选项

  13. 13

    我应该在MinGW设置中为完整的C和C ++编译器选择哪些选项

  14. 14

    Tensorflow负载图c ++示例中要包括哪些标头?

  15. 15

    哪些编译器支持std :: filesystem?

  16. 16

    Java编译器有哪些怪癖?

  17. 17

    C编译器自动版本增加

  18. 18

    C标准库的哪些部分未包含在C ++标准库的其余部分中?

  19. 19

    C标准库的哪些部分未包含在C ++标准库中(其余部分)?

  20. 20

    C ++成功编译,不包含<string>标头

  21. 21

    如何编译包含LLVM API标头的C ++程序?

  22. 22

    C ++成功编译,不包含<string>标头

  23. 23

    C ++标头包含

  24. 24

    使用LAMP在服务器中运行可执行的C程序-对C代码进行哪些修改?

  25. 25

    .net编译器执行哪些过程来编译代码?

  26. 26

    包含保护:为什么C ++编译器不自动仅将每个头文件包含一次?

  27. 27

    Perl 5有哪些可用的编译器/解释器?

  28. 28

    C ++如何知道模板类在编译时支持哪些方法?

  29. 29

    哪些命名约束适用于C#条件编译符号?

热门标签

归档