C/C++實現(xiàn)跨文件共享全局變量詳解
更新時間:2024年01月26日 09:10:55 作者:亂蜂朝王
這篇文章主要為大家詳細介紹了C/C++如何實現(xiàn)跨文件共享全局變量,文中的示例代碼講解詳細,具有一定的借鑒價值,感興趣的小伙伴可以跟隨小編一起學習一下
為了實現(xiàn)跨文件共享全局變量,我們可以使用 extern 關鍵字。extern 關鍵字用于聲明一個變量,該變量在其他地方已經定義。它告訴編譯器這個變量在其他文件中已經定義了,不需要重新分配內存空間,只需要引用即可。
效果
項目
代碼
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(); }
到此這篇關于C/C++實現(xiàn)跨文件共享全局變量詳解的文章就介紹到這了,更多相關C++跨文件共享全局變量內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Qt+QListWidget實現(xiàn)氣泡聊天界面(附源碼)
由于最近的項目需要,做了些相關IM的工作。所以聊天框也是必不可少的一部分。本文以QListWidget+QPainter繪制的Item做了一個Demo。該Demo只是做一個示例,感興趣的可以了解一下2022-12-12