小编use*_*321的帖子

C ++如何将字符作为数字而不是字符作为字符

我发现自己经常使用包含非常小的数字范围(通常从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)

等等...

有一种通用的方法吗?同样,我不想使用单引号。

谢谢

c++ cin char

5
推荐指数
2
解决办法
4096
查看次数

即使不需要也可以实现迭代器?C++

我有一个名为"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),代价是放慢我的代码?

谢谢.

c++ iterator stl

1
推荐指数
1
解决办法
113
查看次数

标签 统计

c++ ×2

char ×1

cin ×1

iterator ×1

stl ×1