【发布时间】:2013-04-22 06:53:33
【问题描述】:
我发现自己经常使用包含非常小的数字范围(通常从 1 到 10)的变量,并且希望通过使用 char 数据类型而不是 int 甚至 short 来最小化我使用的内存量。我想将 cin 值添加到我的 char 变量中,而不需要 cin 将其转换为它的 ASCII 等价物并且不使用单引号。即如下:
cout<< "Pick from 1 to 10.";
char selection;
cin>> selection;
if (selection == 1) return 1;
等等……
有没有一种通用的方法来做到这一点?同样,我不想使用单引号。
谢谢
【问题讨论】:
-
您担心在执行控制台 I/O 的程序中为局部变量节省大约 3 字节的内存?
-
我认为你不能。你必须用'0'减去它。用 cin>>char 无法避免这种情况
-
从
char到实际int的转换代码至少需要2 个字节,我可以向你保证。而且更有可能需要 5 个字节。