我正在寻找一种更好的方法来定义一个全局变量。这只是一个练习使用功能的小型银行app。这是按照C++标准定义变量的正确方法吗?这件事我不是百分百确定。我在main()
之外定义了它,但是如果我没有记错的话,这是一个no no。我试着创建类,我试着为函数创建参数,这是我能弄清楚如何得到所有函数的变量的唯一方法。
// banking.cpp : This file contains the 'main' function. Program execution begins and ends there.
#include <iostream>
using namespace std;
int total = 100;
void menu();
int deposit();
int withdraw();
int main()
{
menu();
return 0;
}
void menu()
{
int selection;
cout << "your total money right now is $" << total << endl;
cout << "select 1 for deposit." << endl;
cout << "select 2 for withdraw" << endl;
cin >> selection;
switch (selection)
{
case 1:
deposit();
break;
case 2:
withdraw();
break;
}
}
int deposit()
{
int depositAmount;
cout << "your current total is $" << total << endl;
cout << "how much would you like to deposit? " << endl;
cin >> depositAmount;
total = depositAmount + total;
cout << "your new total is $" << total << endl;
cout << "you will be returned to the main menu..." << endl;
menu();
return total;
}
int withdraw()
{
int withdrawAmount;
cout << "your current total is $" << total << endl;
cout << "how much would you like to withdraw? " << endl;
cin >> withdrawAmount;
total = total - withdrawAmount;
cout << "your new total is $" << total << endl;
cout << "you will be returned to the main menu..." << endl;
menu();
return total;
}
如果您需要存储跨函数共享的状态,那么您可能希望创建一个类/结构,其中成员作为您希望共享的数据。
class MyClass
{
public:
void menu();
int deposit();
int withdraw();
private:
int total = 100;
};
然后无论何时要运行逻辑,都可以使用这个类。
int main()
{
MyClass myclass;
myclass.menu();
return 0;
}
您可以将total传递给带有&;在它前面。它在C++中被称为引用,你可以在一个函数中修改给定的对象,而不仅仅是它的复制。例子。在您的代码中:
int存款(int&total){。。。您的代码。。。}
总的来说,我不认为在每个函数中都调用菜单是一个好主意。每次调用函数时,都要将其推送到堆栈中,这需要额外的内存。将存款和提取更改为void,并在main()中使用while(1)循环调用menu()会更好。
我正在创建一个JSP. tag文件来处理这个用例: 其中,行为将是获取请求参数,转义其值以“安全”使用,并将转义值放回某个作用域(例如请求),与参数同名(尽管它可能是另一个名称)。 我有一个可以工作的实现,但我有scriptlet,因为我找不到在JSTL中使用变量名的方法。但我不是JSTL向导,所以我想看看我是否缺少语法/方法。这是正在工作的文件: (我真希望艾尔能自动逃脱。)
除了把它们全部输入外,还有没有更好的方法在字符串中列出它们?
除了把它们全部输入外,还有没有更好的方法在字符串中列出它们?
假设我有一个用户模式/模型,用户有一个朋友列表。Mongoose希望您将好友列表(外键/ObjectID类型)存储为数组,对吗?这意味着如果我想通过ID找到我的朋友,Mongoose将搜索数组,直到找到具有我想要的ID的朋友的第一个实例。那似乎真的是时间低效,不是吗?有更好的办法吗?
问题内容: 是否有一个很好的方法来Map 获取和忽略案件? 问题答案: TreeMap扩展了Map并支持自定义比较器。 字符串提供默认的不区分大小写的比较器。 所以: 比较器不考虑区域设置。在其JavaDoc中阅读有关它的更多信息。
问题内容: 似乎有很多方法可以在Python中定义单例。关于堆栈溢出是否有共识? 问题答案: 我没有真正的需要,因为具有功能(而不是类)的模块可以很好地用作单例。它的所有变量都将绑定到模块,该模块无论如何都无法重复实例化。 如果您确实希望使用类,则无法在Python中创建私有类或私有构造函数,因此,您只能通过使用API的约定来保护自己免受多重实例化。我仍然将方法放在模块中,并将模块视为单例。
我做这个迭代是为了对DataFrame的每个值执行不同的函数: 作为xxx一个2列数据帧
问题内容: 我目前正在使用以下功能比较字典值。有更快或更更好的方法吗? 编辑:两个字典包含相同的键。 问题答案: 如果字典具有相同的键集,并且您需要所有这些打印件以实现任何值差异,那么您将无能为力。也许像这样: 几乎等同于您所拥有的,但是您可能会得到更好的演示,例如在循环使用diffkey之前对其进行排序。