您什么时候使用哪种方法从另一个文件中获取变量



我当前正在学习C ,发现使用其他文件中定义的变量至少有两种方式。但是我真的不明白,什么时候使用什么方法。

例如:我在" h1.h"中写下:

extern int k;

和" a2.cpp"写入:

#include "a2.h"
#include "h1.h"
int k = 42; 
int k2 = 43;

然后,我可以在我的main.cpp中引用k,

#include "main.h"
#include "a1.h"
#include "h1.h"
#include <iostream>
Main::Main() {}
int main() {
  std::cout << k << std::endl;
  }

但是,如果我想在main.cpp中使用K2,我可以简单地编写一个getter/setter方法,从而避免在包含的标头文件中使用extern。

我想知道:从其他文件访问变量的其他方法是什么?您什么时候使用哪种方法(为什么(?

您将 k视为函数,或者根本不是变量。

" h1.h":

int k();
void k2(int &);

" h1.cpp":

int k() { return 42; }
void k2(int & value) { value = 43; }

" main.cpp"

#include "h1.h"
#include <iostream>
int main () {
    std::cout << k() << std::endl;
    int any_name;
    k2(any_name);
    std::cout << any_name << std::endl;
}

相关内容

最新更新