我正在编写代码,代码的不同部分根据用户输入执行。如果我确定用户只会输入单个字符,那么字符串或字符会占用更多内存吗?一种方式比另一种方式还有其他优势吗?
编辑: 这是我的意思的一个例子:
using namespace std;
char operation;//or string
cout << "enter the operator (+/=):" << endl;
cin >> operation;
if (operation == '+') {
//do something
}
else {
//do something else
}
最佳答案
char
占用一个字节。
std::string
至少需要 sizeof(std::string)
字节,这在现代 PC 上可能是 24 字节。
在您的情况下,节省的内存很可能无关紧要(因为节省的内存非常少,可能是 23 个字节),因此您应该坚持最能描述您的意图。如果您需要单个字符,那么单个 char
就有意义。
关于C++:哪个占用更多内存,将单个字符存储为 char 或 string?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42334617/