我发现自己经常使用包含非常小的数字范围(通常从1到10)的变量,并希望通过使用char数据类型而不是int甚至是short来最小化我使用的内存量。我想将cin值转换为char变量,而无需将cin转换为ASCII等效值,也无需使用单引号。即,以下内容:
cout<< "Pick from 1 to 10.";
char selection;
cin>> selection;
if (selection == 1) return 1;
Run Code Online (Sandbox Code Playgroud)
等等...
有一种通用的方法吗?同样,我不想使用单引号。
谢谢
我有一个名为"ntuple"的容器,它本质上是一个C数组和长度.它的主要目的是成为多维数学函数的论证.到目前为止,它真的很快并且使用了几种形式的构造函数
ntuple(double x, double y, double z)
{
size = 3;
vec = new double[size];
vec[0] = x;
vec[1] = y;
vec[2] = z;
}
Run Code Online (Sandbox Code Playgroud)
每次我使用更高维度但已知的函数时,我只需添加一个新的构造函数.我也有一个数组:
ntuple(double* invec, long unsigned insizesize)
Run Code Online (Sandbox Code Playgroud)
为了使我的代码与常规c ++代码更兼容,我应该实现一个ntuple迭代器类吗?我所做的一切都不需要,看起来它只会减慢一切.但是我读的越多,为了与标准C++代码兼容,使用迭代器似乎越重要.
我担心当有人试图使用我的代码时,它将无法与他们期望使用的标准技术很好地融合.但是我的ntuple类的目的只是将参数带入函数中.
我是否应该作为预防措施实现迭代器(如果其他人会尝试在其上使用STL),代价是放慢我的代码?
谢谢.