这来自<iostream>:
namespace std 
{
  extern istream cin;       ///< Linked to standard input
  extern ostream cout;  
...
似乎通过使用extern其他命名空间中定义的数据类型将可用?
extern 表示"这些变量在某些其他编译单元(.cpp或.lib文件)中定义"
在这种情况下,您#include <iostream>进入.cpp文件,因为cin并且cout声明为extern,编译器将允许您使用它们而不会抱怨.然后,当链接器运行时,它会查找所有extern变量并对其进行排序.
小智 5
extern用于表示在其他编译单元中定义的变量(目前,您可以将编译单元视为.cpp文件)。您示例中的语句声明而不是定义 cin和cout。它告诉编译器这些对象的定义,另一个编译单元被发现(如果它们不作为申报extern)。
| 归档时间: | 
 | 
| 查看次数: | 4364 次 | 
| 最近记录: |