extern 声明符的使用

        extern声明符 在C和C++中用于声明变量或函数是在别处定义的,即它的存储位置(或实现)不在当前文件或编译单元中,而是在程序的其他地方。使用 extern 可以让链接器知道在链接时需要将这个声明与相应的定义(即变量的内存分配或函数的实现)关联起来。

1:如果想使用某个类对象,但在工程项目中只允许存在一个该类实例(或者可以使用单例模式):

//a.h:
class A{
    A();
    ~A()=default;

}
extern A* a;


//a.cpp:
A::A(){

    //...
}

A* a=nullptr;

对于该对象在main函数中初始化:

//main.cpp:
include "a.h"

int main(){

    A aObj;
    a=&aObj;

}

这样在想使用该对象的地方包含 a.h 就可以了

2:前置声明:

如果在使用某个对象的位置在该对象的定义位置之前,可以使用extern来实现:

int main(){

    extern int a;
    int b=a;

}

int a=100;

   这样就可以在定义之前使用该对象了              

                                                                                      本文为工作学习笔记,若有错误恳请指正

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值