我在玩 C++17 std::byte
,遇到了一些奇怪的行为。我不知道这是不是有意的,或者我做错了什么。
std::byte test_byte{80};
std::cout << "Test: " << std::to_integer<uint8_t>(test_byte) << " vs " << std::to_integer<uint16_t>(test_byte) << "\n";
这将打印出:
Test: P vs 80
然后我查了一下ASCII表,发现大写P的数值是80。
我的问题是这是预期的还是错误的,或者甚至是特定于操作系统/编译器的?
运行 Windows 10 并使用 VS Build Tools 进行编译。