为什么std :: ios_base :: Init中的“ Init”是大写的?

模板男孩

除了之外,标准C ++库中的所有名称都是小写字母std::ios_base::Init为什么是这样?

用户名

IOStream类的早期草稿中,您可以看到该类ios_base最初不存在,basic_ios是基类,并且负责,Init后来又分成了其他成员ios_base

basic_ios也有(并且仍然有)一个init函数,虽然两个名称不一定必须是不同的,但大概是为了避免混淆,所以决定命名类Init和函数init同样,如果没有这种区别,则使用该类时将需要执行以下操作:

struct ios_base
{
  struct init{};
  void init();
};

ios_base::init i1;        // error
struct ios_base::init i2; // ok

具有一个单独的类负责初始化标准流的想法追溯到至少CFRONT 3.0,如可以通过可以看出Iostream_init头中。在某些时候,它决定不仅使类的成员ios/ basic_ios/ios_base但它应该改名Init

在任何情况下,都应消除两者的歧义,即使考虑到最终将它们放在单独的类中这一事实也是如此。他们本来可以选择完全分开的名称,但是大概Init/init被认为是描述类和函数做什么的最佳语义选择,并且也有可能只是模仿较旧的名称Iostream_init,出于某种原因,它们也以大写字母开头I

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在NetBeans中编译Hello World时,“对`std :: ios_base :: Init :: Init()的未定义引用”

来自分类Dev

Android NDK对`std :: ios_base :: Init :: Init()的未定义引用

来自分类Dev

使用std :: ios_base :: Init正确初始化全局变量

来自分类Dev

为什么在libc ++(clang)中未实现std :: ios_base :: sync_with_stdio?

来自分类Python

为什么在多次继承中执行Base .__ init __(self)而不是super().__ init __()时会跳过__init__?

来自分类Dev

为什么std :: ios_base :: ignore()设置EOF位?

来自分类Dev

std :: ios_base :: ios_base(const std :: ios_base)是私有的

来自分类Linux

C ++ std :: ios_base ::失败异常

来自分类Dev

为什么没有std :: ios_base :: trunc的std :: ofstream截断?

来自分类Dev

使用std :: ios_base :: binary有什么意义?

来自分类Dev

ios_base :: sync_with_stdio(0);有什么区别?和ios :: sync_with_stdio(0); 在C ++中?

来自分类Dev

为什么要在init()中检查nil

来自分类Dev

为什么在类中需要Thread .__ init __()?

来自分类Dev

为什么__init__在python中失败

来自分类Dev

为什么不能在Go“ init”中命名函数?

来自分类Dev

为什么[[NSError alloc] init]; 在Xcode中抛出错误?

来自分类Dev

为什么init.d脚本包含在etc中?

来自分类Dev

为什么现在必须在Swift中覆盖我的init?

来自分类Dev

为什么我不能在 init 中获得我的 fetchedResults?

来自分类Dev

为什么在Ubuntu 16.04中忽略/etc/init/tty?.conf?

来自分类Dev

为什么init_color()在Terminal.app中无效?

来自分类Dev

为什么要删除__init__.py中的模块?

来自分类Dev

为什么我的变量在 init 中未定义?

来自分类Dev

在Swift中实现Failable Initializer时,为什么要使用`init!`而不是`init?`?

来自分类Dev

为什么istream,ostream,iostream,ios_base都在这里工作

来自分类Dev

为什么“ Vue init”挂起?

来自分类Dev

在指令 init 上获取大写锁定状态

来自分类Dev

NKLibrary在iOS 11.3中的init上崩溃

来自分类Dev

Swift协议中的“ init”-什么用?

Related 相关文章

  1. 1

    在NetBeans中编译Hello World时,“对`std :: ios_base :: Init :: Init()的未定义引用”

  2. 2

    Android NDK对`std :: ios_base :: Init :: Init()的未定义引用

  3. 3

    使用std :: ios_base :: Init正确初始化全局变量

  4. 4

    为什么在libc ++(clang)中未实现std :: ios_base :: sync_with_stdio?

  5. 5

    为什么在多次继承中执行Base .__ init __(self)而不是super().__ init __()时会跳过__init__?

  6. 6

    为什么std :: ios_base :: ignore()设置EOF位?

  7. 7

    std :: ios_base :: ios_base(const std :: ios_base)是私有的

  8. 8

    C ++ std :: ios_base ::失败异常

  9. 9

    为什么没有std :: ios_base :: trunc的std :: ofstream截断?

  10. 10

    使用std :: ios_base :: binary有什么意义?

  11. 11

    ios_base :: sync_with_stdio(0);有什么区别?和ios :: sync_with_stdio(0); 在C ++中?

  12. 12

    为什么要在init()中检查nil

  13. 13

    为什么在类中需要Thread .__ init __()?

  14. 14

    为什么__init__在python中失败

  15. 15

    为什么不能在Go“ init”中命名函数?

  16. 16

    为什么[[NSError alloc] init]; 在Xcode中抛出错误?

  17. 17

    为什么init.d脚本包含在etc中?

  18. 18

    为什么现在必须在Swift中覆盖我的init?

  19. 19

    为什么我不能在 init 中获得我的 fetchedResults?

  20. 20

    为什么在Ubuntu 16.04中忽略/etc/init/tty?.conf?

  21. 21

    为什么init_color()在Terminal.app中无效?

  22. 22

    为什么要删除__init__.py中的模块?

  23. 23

    为什么我的变量在 init 中未定义?

  24. 24

    在Swift中实现Failable Initializer时,为什么要使用`init!`而不是`init?`?

  25. 25

    为什么istream,ostream,iostream,ios_base都在这里工作

  26. 26

    为什么“ Vue init”挂起?

  27. 27

    在指令 init 上获取大写锁定状态

  28. 28

    NKLibrary在iOS 11.3中的init上崩溃

  29. 29

    Swift协议中的“ init”-什么用?

热门标签

归档