如何在c++中声明变量我不想定义它,所以它不应该只消耗声明中的任何内存



当我们写int a时,编译器会给int a内存,但现在我只想告诉编译器变量是整数,但不想让编译器给a任何内存。

如果它是全局变量,则使用extern使其成为纯声明:

extern int a;

如果程序使用它,它仍然需要在某个地方定义

如果它是一个局部变量,那么在不定义它的情况下就不能声明它;它将在程序到达声明时创建。

您可以这样说:

extern int a;

这样,这里就不会为a分配存储空间,并且在构建可执行文件时,链接器将在另一个模块中查找符号a。如果找不到它,您将得到一个链接器错误。这是意料之中的事,因为你不可能有一个不存在的变量。

相关内容

最新更新