gpt4 book ai didi

c++ - 当一个变量在多个函数范围内使用时,我应该在类中声明一个变量吗?

转载 作者:行者123 更新时间:2023-11-30 03:23:59 25 4
gpt4 key购买 nike

假设我这里有三种方法:

方法一:

void function_1() {
QString("%1").arg(QDate::currentDate().toString("MM/dd/yy"));
}
void function_2() {
QString("%1").arg(QDate::currentDate().toString("MM/dd/yy"));
}

因为我可能要替换多个参数,所以这一行会很长,为了让函数更易读,我使用了方法二:

方法二:

void function_1() {
QString currentDate = QDate::currentDate().toString("MM/dd/yy");
QString("%1").arg(currentDate);
}
void function_2() {
QString currentDate = QDate::currentDate().toString("MM/dd/yy");
QString("%1").arg(currentDate);
}

但我注意到在我的许多函数中需要使用 QString currentDate,即使有人说Variables should be declared as locally as possible,如果我这样做的话这意味着我必须在每个函数中编写相同的代码。所以我应该使用方法 3 而不是在 class private 中设置 QString currentDate

方法三:

class Foo {
public:
Foo() {
currentDate = QDate::currentDate().toString("MM/dd/yy");
}
private:
QString currentDate;
void function_1() {
QString("%1").arg(currentDate);
}
void function_2() {
QString("%1").arg(currentDate);
}
};

最佳答案

人们说变量应该尽可能在本地声明是正确的,因为这可以消除 future 不同变量之间的潜在冲突(这成为一个问题,尤其是在具有数千行代码的大型项目中)。

我会在您的函数之外定义QString currentDate,然后将其作为参数提供给function_1()function_2 (),因为这将删除重复的代码。

关于c++ - 当一个变量在多个函数范围内使用时,我应该在类中声明一个变量吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50085280/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com