如何在c++中声明变量我不想定义它,所以它不应该只消耗声明中的任何内存
how to declare variable in c++ i dont want to define it so it should not consume any memory just declaration?
当我们写int a时,编译器会给int a内存,但现在我只想告诉编译器变量是整数,但不想让编译器给a任何内存。
如果它是全局变量,则使用extern
使其成为纯声明:
extern int a;
如果程序使用它,它仍然需要在某个地方定义
如果它是一个局部变量,那么在不定义它的情况下就不能声明它;它将在程序到达声明时创建。
您可以这样说:
extern int a;
这样,这里就不会为a
分配存储空间,并且在构建可执行文件时,链接器将在另一个模块中查找符号a
。如果找不到它,您将得到一个链接器错误。这是意料之中的事,因为你不可能有一个不存在的变量。
相关文章:
- 条件断点在不应该触发时触发
- 你好。。。id_public变量不应该给出结果为 81 和 86 吗?为什么它为两个派生类占用不同的内存位置?
- 为什么我不应该把所有东西都放在标题中?
- 找不到 QRegularExpression 行为的任何解释。它有效,但不应该
- 为什么转换函数声明不需要至少一个定义类型说明符
- 在清除 istream 之前,我不应该需要取消获取它吗?
- 为什么别名声明不是有效的 init 语句(/simple-declaration)?
- c++ 为什么我不应该从不同的线程解锁互斥锁
- "typename"不应该只在模板函数或模板类中使用吗?
- C++ 类型类的变量声明不命名类型?
- 简化在 Pybind11 中为 C++ 模板类生成包装类:模板声明不能出现在块范围内
- 为不应该获得未定义行为的内容获取未定义的行为
- 为什么我的对象声明不调用默认构造函数?
- 两种情况下的输出不应该相同吗?
- 为什么在这种情况下,前向声明不起作用?
- Template类定义中的Template方法与声明不匹配
- using声明不能引用类成员
- 默认情况下,"std::shared_ptr"不应该使用"std::d efault_delete"吗?
- 如何在c++中声明变量我不想定义它,所以它不应该只消耗声明中的任何内存
- 当涉及数组时,声明不应该与其定义匹配吗?