将整数值分配给字母
Assigning integer values to letters
是否可以将整数值分配给'a'之类的字母?例如,如果用户输入" A",我想显示分配给它的值(例如,1)。我计划为字母内的每个字母分配一个值。我发现您可以使用地图库进行操作,但我不想使用任何库。有没有一种方法可以使用基本的C 东西?
一种非常简单的方法是通过索引来关联一个简单的原始数组:
char char_num_slots[] = { ' ' /* 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 标准的一部分。
相关文章:
- 将超出范围的整数分配给有符号字符类型
- 在C++中,如果我可以直接将整数分配给指针而不使用"new",为什么要使用"new"?
- 为对象分配整数.输出将是什么?
- 整数内存分配/释放
- 为什么可以将整数分配给字符串变量?
- 如果我们在其中输入一个整数,则字符会给出整数作为输出,但是当分配给它一个整数时,这不会发生。为什么?
- 将值分配给动态分配的整数
- 尝试使用 Array 类的模板构造整数数组时,错误:为什么数组类型"int [5]"不可分配,
- 如何将 32 位无符号整数分配给包含 32 位的位字段
- C ++枚举可以与整数进行比较,但不能从整数分配?
- 直接为浮点变量分配十六进制整数与通过指针转换分配之间的区别
- 为大无符号整数分配内存的有效方法
- 将空间分配给整数指针时出错
- 我们可以在整数类型的双指针中分配2D整数数组的地址吗?怎么可能
- 如何防止在分配整数数组时发生 SIGABRT
- C 中的内存模型:为什么在同一内存位置分配了结构中的两个整数
- C 中的恒定整数分配如何
- 在动态内存分配后将整数传递到构造函数中
- C++ - 泛型结构的成员在分配双精度时给出错误的值(但适用于整数)
- 使用new运算符可以将参数作为函数中数组的大小来分配整数数组