C++ 什么时候应该在头文件中声明变量?
这个类有很多函数(大约30个),每个函数声明一个新的整数值,用于存储从堆栈到整数的字符串转换的值。这意味着我在同一个类中多次声明新整数 下面是一个声明这些整数的函数示例:C++ 什么时候应该在头文件中声明变量?,c++,visual-studio,header,integer,declaration,C++,Visual Studio,Header,Integer,Declaration,这个类有很多函数(大约30个),每个函数声明一个新的整数值,用于存储从堆栈到整数的字符串转换的值。这意味着我在同一个类中多次声明新整数 下面是一个声明这些整数的函数示例: void Interpreter::add() { val1 = std::stoi(stack.back()); stack.pop_back(); val2 = std::stoi(stack.back()); stack.pop_back(); stack.push_back(s
void Interpreter::add()
{
val1 = std::stoi(stack.back());
stack.pop_back();
val2 = std::stoi(stack.back());
stack.pop_back();
stack.push_back(std::to_string(val1 + val2));
}
class Interpreter
{
private:
int val1, val2;
}
我的问题是:在头文件中只声明一次这些变量,然后在每个函数中重复使用它们是否更好
我想知道在这个问题上是否有某种约定。不要仅仅为了节省键入时间而使用成员变量–您将遇到难以找到的bug 加上一点抽象
int Interpreter::pop()
{
// Add error handling here.
int i = std::stoi(stack.back());
stack.pop_back();
return i;
}
void Interpreter::push(int i)
{
stack.push_back(std::to_string(i));
}
然后你就可以写了
void Interpreter::add()
{
push(pop() + pop());
}
这不是很清楚,你能用至少几行代码更新你的帖子吗?当然。我道歉!两个流行的约定是“声明变量尽可能接近它们的用途”和“不要仅仅为了保存击键而添加成员变量”。我添加了一些代码。我希望现在能更好地理解我的问题。感谢您在@molbdnilo上的这些约定,但它还不能完全回答我的问题。更重要的问题是,为什么要使用一堆字符串来进行整数运算。有了一堆整数,还有你自己的“pop函数”,这将不是问题。谢谢!这正是我需要的!我很高兴你得到了你的解决方案,谢谢你的分享,如果你把它们作为答案,我将不胜感激,这将有利于其他社区。