【问题标题】:Assign values to chars为字符赋值
【发布时间】:2014-01-15 16:21:05
【问题描述】:

在 C++ 中是否有一种简单的方法可以为 char 赋值?我想获取字符列表,并将它们连接到一个值,例如:

  • a - 是的
  • b - 真
  • c - 错误
  • r - 真

有没有像 C# 中的字典一样简单的方法?

【问题讨论】:

  • 你可以使用 std::map 吗?
  • 您的术语有些混乱。为char 赋值意味着char c; c = 'x';
  • @juanchopanza:我也这么认为。演示的用例和“字典”一词的使用让我相信他正在寻找某种关联容器。不过只是猜测。

标签: c++ dictionary


【解决方案1】:

与“字典”类型对象最接近的 C++ 类似物是 std::map

#include <map>

int main()
{
  std::map <char, bool> myDictionary;
  myDictionary ['a'] = true;
  myDictionary ['b'] = true;
  myDictionary ['r'] = false;
}

您可以搜索项目的存在:

[C++11]

auto it = myDictionary.find ('x');
assert (it == myDictionary.end()); // not found

it = myDictionary.find ('a');
assert (it != myDictionary.end());  // found
assert (it->second == true); // assert that a is mapped to true

【讨论】:

  • @sftrabbit:编辑历史表明您删除了我的链接,但该链接仍然有效。你实际上改变了什么?
  • 您在链接周围有代码引号,因此无法正常工作。我把它们放在里面。
  • @Downvoter:我很想知道你为什么不同意这个答案。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-07-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-11-22
相关资源
最近更新 更多