这种行为是预期的还是符合标准(使用VC编译器)?
示例1(有符号字符):
在第二个使用
如果不使用
char s = 'R'
std::cout << s << std::endl; // Prints R.
std::cout << std::format("{}\n", s); // Prints R.
示例2(无符号字符):
unsigned char u = 'R';
std::cout << u << std::endl; // Prints R.
std::cout << std::format("{}\n", u); // Prints 82.
在第二个使用
std::format
的例子中,u
被打印为 82
而不是 R
,这是一个错误还是预期行为?如果不使用
std::format
,只使用 std::cout
,我在两个例子中都可以得到 R
。
std::format
在旧版C++中不可用。 - 273K