c++ - 全局变量与通过多个函数传递相同的变量
问题描述
什么被认为是使用的最佳实践?通过多层函数传递相同的参数或在类中声明全局变量。在性能方面,什么更好?
我可以采取不同的方法吗?
通过多层函数传递相同的参数:
Class MyClass() {
public:
funcA(int averages, bool debug);
private:
funcB(bool debug);
funcC(int averages, bool debug);
funcD(int averages);
};
void funcA(int averages, bool debug) {
funcB(debug);
// do stuff
if (debug)
// print stuff
funcC(averages, debug);
}
void funcB(bool debug) {
// do stuff
if (debug)
//print stuff
}
void funcC (int averages, bool debug) {
// do stuff
funcD (averages);
if (debug)
//print stuff
}
funcD (int averages) {
// do something w/ averages
}
在类中声明全局变量:
Class MyClass() {
public:
funcA(int averages, bool debug);
private:
int m_averages;
bool m_debug;
funcB();
funcC();
funcD();
};
void funcA(int averages, bool debug) {
m_averages = averages;
m_debug = debug;
funcB();
// do stuff
if (debug)
// print stuff
funcC();
}
void funcB() {
// do stuff
if (m_debug)
//print stuff
}
void funcC () {
// do stuff
funcD ();
if (m_debug)
//print stuff
}
funcD () {
// do something w/ m_averages
}
解决方案
推荐阅读
- node.js - 通过 node.js 控制和从应用程序的客户端获取数据
- c# - 通过 https 下载文件时的基本身份验证
- python - 解决 OSError: [Errno 8] Exec 格式错误
- javascript - console.log() 显示正确的值,但是当将其分配给变量时,它是未定义的 - Angular,firestore
- php - 如何正确使用带有 PHP 的 $_COOKIE 的 foreach 循环?
- javascript - 从 ReactJS 中的导入函数更改类状态
- javascript - 如何删除输入字段的边框底部?
- nginx - 为什么nginx不缓存?
- python - While 循环不会使用嵌套的 Elif 语句运行?
- jira - 无法连接 JIRA 云