C++ 如何将指定字符视为其他值?
假设我收到字符“R”,我想设置每次收到“R”时,我都将其视为值5,最有效的方法是什么?由于它特定于C++ 如何将指定字符视为其他值?,c++,C++,假设我收到字符“R”,我想设置每次收到“R”时,我都将其视为值5,最有效的方法是什么?由于它特定于char,因此可以使用大小恒定的数组 由于以下原因: char范围有限-128到127或0到255 C++ >代码> > ch> 和 int >代码>可互操作。李> 数组将给出O(1)时间复杂度 //例如: 整数数组[256];//ascii范围为0到255,为无符号整数形式 //设置字符“R”的值 数组['R']=5; //“`'R``的Ascii值是82。它将存储在索引82中。 ... /
char
,因此可以使用大小恒定的数组
由于以下原因:
char
范围有限<代码>-128到127或0到255
//例如:
整数数组[256];//ascii范围为0到255,为无符号整数形式
//设置字符“R”的值
数组['R']=5;
//“`'R``的Ascii值是82。它将存储在索引82中。
...
//使用数组['R']
...
但如果它不是char,那么或将是一个更好的选择听起来像是你在寻找的。这取决于。从一个
map
/unordered\u map
开始,然后从那里开始。如果它只是关于R
一个简单的if(myChar=='R'){…
就可以了。映射
/无序映射
更易于扩展。Re:-128到127——在大多数系统上都是这样,但语言定义不能保证这一点。有些系统具有更大范围的char
值。但问题不在于一个char
可以代表多少值,而在于输入的范围有多大。这取决于正在使用的字符编码,以及大多数将使用ASCII的系统,但是,同样,这不是必需的,并且有些系统使用其他编码。