是否可以为像“ A”这样的字母分配一个整数值? 例如,如果用户输入“ A”,我想显示分配给它的值(例如1)。我正计划为字母表中的每个字母分配一个值。 我发现您可以使用地图库来做,但我不想使用任何库。有没有办法只使用基本的C ++东西呢?
答案 0 :(得分:2)
一种非常简单的方法是通过建立索引关联一个简单的原始数组:
char char_num_slots[] = { '\0' /* associates to index 0 */
, 'A' /* associates to index 1 */
, 'C' /* associates to index 2 */
, 'K' /* associates to index 3 */
// aso ...
};
使用c ++的自然方法是使用std::map<char,int>
:
std::map<char,int> char_num_slots = { { 'A', 1 }
, { 'C', 42 }
, { 'K', 512 }
// aso ...
};
我认为上述方法的区别在哪里以及使用std::map
的优势是显而易见的。
有没有办法只使用基本的C ++东西呢?
是的,使用std::map
可算作c ++基本内容,并且是c ++标准的一部分。