通过包含<iostream>头文件,它的所有 8 个函数是写入我的代码,还是只写入我在程序中使用的函数?



只是学习 c++ 的新手。到目前为止,我的理解是,当我在程序的开头包含<iostream>头文件时,程序可以使用头文件附带的任何功能,即。cerrcinclogcoutwcerrwcinwclogwcout

  1. 如果我的程序只使用cincout,即使不使用或不需要其他函数,编译后它是否仍然包含它们?
  2. 如果在编译时包含这些未使用的函数,这不会给我的程序增加"膨胀"吗?
  3. 还是 include 语句只是告诉编译器在哪里查找这 8 个函数,但编译器只是只获取实际编写在主函数中的cincout上的函数信息?

我找不到任何关于使用头文件时程序包含哪些内容的信息。

标头中的所有代码都包含在您的程序中,但是,这并不像听起来那么糟糕:大多数编译器和链接器都可以进行称为"死代码消除"的优化,其中它们删除未使用的代码。

不过,仍然存在一个缺点:由于额外的代码,编译程序所需的时间会增加。

最新更新