栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C++ extern定义多文件共享全局变量

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C++ extern定义多文件共享全局变量

思路

参考知乎提问“在C++中如何使用全局变量?”

#include 
#include 

std::string msg; //这个就叫全局变量

int main()
{
  msg = "Hello, world!";
  std::cout << msg << std::endl;

  return 0;
}

不过呢,这么做以后你会逐渐逐渐遇到各种问题,比如说多个.cpp文件都要用到同一个全局变量咋办?
你需要做的是在一个.cpp里定义这个变量,然后在头文件里extern这个变量。问题解决。
头文件里写:extern std::string msg;
某一个.cpp文件里写:std::string msg;
所有引用了这个头文件的cpp文件里就都可以使用msg这个全局变量了。

例子

state.h:

#ifndef state_h
#define state_h

const int MAX = 200;

extern int num;
extern int array[MAX];

#endif

state.cpp:

#include "state.h"

int num = 0;
int array[MAX];  //即使不赋值,也需要在此定义

class1.cpp:

extern int num;
extern int array[MAX];

num++;
array[0] = 1;
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/923287.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号