为字母分配整数值

时间:2018-12-20 20:10:27

标签: c++

是否可以为像“ A”这样的字母分配一个整数值? 例如,如果用户输入“ A”,我想显示分配给它的值(例如1)。我正计划为字母表中的每个字母分配一个值。 我发现您可以使用地图库来做,但我不想使用任何库。有没有办法只使用基本的C ++东西呢?

1 个答案:

答案 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 ++标准的一部分。