首页 > 解决方案 > 是否可以获取基本字符的枚举类的元素数量或核对值?

问题描述

如果我有;

enum class AcceptableFooChars : char
{
  curlybracketopenchar  = '{',
  curlybracketclosechar = '}',
  commachar             = ',',
  fullstopchar          = '.',
  dollarsignchar        = '$'
}

那么有没有更简洁的获取方式;

static std::string acceptableFooCharacters() noexcept
{
  constexpr std::size_t enumElementCount {5};
  static const char acceptableChars[ enumElementCount ] {
    static_cast<char>(AcceptableFooChars::curlybracketopenchar ),
    static_cast<char>(AcceptableFooChars::curlybracketclosechar),
    static_cast<char>(AcceptableFooChars::commachar            ),
    static_cast<char>(AcceptableFooChars::fullstopchar         ),
    static_cast<char>(AcceptableFooChars::dollarsignchar       )
  };
  return {acceptableChars};
} 

通过访问枚举的所有元素或简单地以更自动化且易于维护的方式计算枚举中可用的值?

标签: c++enumschar

解决方案


推荐阅读