C/C++實現(xiàn)跨文件共享全局變量詳解
為了實現(xiàn)跨文件共享全局變量,我們可以使用 extern 關(guān)鍵字。extern 關(guān)鍵字用于聲明一個變量,該變量在其他地方已經(jīng)定義。它告訴編譯器這個變量在其他文件中已經(jīng)定義了,不需要重新分配內(nèi)存空間,只需要引用即可。
效果

項目

代碼
Common.h
#pragma once
#include <iostream>
using namespace std;
struct para {
bool state;
int num;
string name;
};
//聲明全局變量
extern para g_static_para;
Common.cpp
#pragma once #include "Common.h" //定義全局變量 para g_static_para;
init_class.h
#pragma once
#include <iostream>
#include "Common.h"
using namespace std;
class init_class
{
public:
void init();
};
init_class.cpp
#include "init_class.h"
#include "Common.h"
void init_class::init()
{
cout << "參數(shù)初始化 全局變量 g_static_para" << endl;
g_static_para.state = true;
g_static_para.num = 20;
g_static_para.name = "測試信息2";
}
use_class.h
#pragma once
#include <iostream>
#include "Common.h"
using namespace std;
class use_class
{
public:
void print();
};
use_class.cpp
#include "use_class.h"
void use_class::print() {
cout << "打印參數(shù) 全局變量 g_static_para" << endl;
cout << "g_static_para.state:" << g_static_para.state << endl;
cout << "g_static_para.num:" << g_static_para.num << endl;
cout << "g_static_para.name:" << g_static_para.name << endl;
}
ConsoleApplication1-test.cpp
#pragma once
#include <iostream>
#include "Common.h"
#include "init_class.h"
#include "use_class.h"
using namespace std;
int main()
{
std::cout << "Hello World!\n";
init_class ic;
use_class uc;
std::cout << "----------------------\n";
g_static_para.state = false;
g_static_para.num = 10;
g_static_para.name = "測試信息1";
uc.print();
std::cout << "----------------------\n";
ic.init();
std::cout << "----------------------\n";
uc.print();
}
到此這篇關(guān)于C/C++實現(xiàn)跨文件共享全局變量詳解的文章就介紹到這了,更多相關(guān)C++跨文件共享全局變量內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Qt+QListWidget實現(xiàn)氣泡聊天界面(附源碼)
由于最近的項目需要,做了些相關(guān)IM的工作。所以聊天框也是必不可少的一部分。本文以QListWidget+QPainter繪制的Item做了一個Demo。該Demo只是做一個示例,感興趣的可以了解一下2022-12-12
如何使用C語言實現(xiàn)細(xì)菌的繁殖與擴(kuò)散
這篇文章主要為大家詳細(xì)介紹了C語言實現(xiàn)細(xì)菌的繁殖與擴(kuò)散,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-11-11
C++實現(xiàn)LeetCode(61.旋轉(zhuǎn)鏈表)
這篇文章主要介紹了C++實現(xiàn)LeetCode(61.旋轉(zhuǎn)鏈表),本篇文章通過簡要的案例,講解了該項技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下2021-07-07

