c++ - 是否需要使整数文字无符号?
问题描述
我看到很多代码在做类似的事情,
static constexpr std::size_t value = 1024u;
我知道这u
是指定1024
为无符号整数,但为什么要麻烦标记为unsigned
?
解决方案
在您的情况下编写根本没有意义,u
因为编译器将进行概念转换。这是一个坏习惯,因为它可能会引入可移植性问题。
不过偶尔有必要:std::accumulate
是一个重要的例子——初始值的类型就是结果的类型。
如果您要使用,auto
那么您会发现规则变得非常复杂。例如,如果您使用十六进制文字,则unsigned
类型将成为候选。
参考:https ://en.cppreference.com/w/cpp/language/integer_literal
推荐阅读
- firebase - Flutter 和 Firebase 动态链接
- python - 基于环境变量的继承
- onedrive - 如何提取银行数据并将其导入 OneDrive 中的 Excel?
- chart.js - Chartjs - 向右移动线图?
- javascript - 定义 Ckeditor config.autoParagraph = false 不起作用
- android - HMS ASR 无法开始录制
- python - 为什么我的 MoviePy 剪辑的音频持续时间与视频持续时间 cutout() 不同
- javascript - 节点未按预期将错误消息记录到 MongoDB
- rust - SelectView 中的自定义类型(草书)
- rust - 接收额外查询参数时如何从 actix-web http 服务器返回错误?