我看到很多代码在做类似的事情,
<thead>
我了解到<td>
将static constexpr std::size_t value = 1024u;
指定为无符号整数,但是为什么还要麻烦地将其标记为u
?
答案 0 :(得分:5)
在您的情况下,编写u
毫无意义,因为编译器将进行概念上的转换。陷入低俗习惯可能会带来可移植性问题,这是一个坏习惯。
尽管有时是必要的:std::accumulate
是一个重要的例子-初始值的类型是结果的类型。
如果您使用auto
,那么您会发现规则变得非常复杂。例如,如果您使用十六进制文字,那么unsigned
类型将成为候选。
参考:https://en.cppreference.com/w/cpp/language/integer_literal