Consider the following class:
template <class Endianness>
class bitcode
{};
Endianness有三种可能的取值: default_endianness
, little_endian
或big_endian
。
问题是:根据C++14和随后的C++17,最佳和常见的实践是什么?(常见指标准库或boost
使用(或将要使用)的实践。+为什么?)
// The enum option
enum enum_endianness {default_endianness, little_endian, big_endian};
// The enum class option
enum class enum_class_endianness {default_endianness, little_endian, big_endian};
// The class option
class class_default_endianness{};
class class_little_endian{};
class class_big_endian{};
(注意:当然,
bitcode
的声明将取决于首选选项。)