【发布时间】:2023-04-02 22:32:01
【问题描述】:
是否有一种标准方法可以获取变量在作为可变参数传递时将提升到的类型的大小?
auto x = ...;
auto y = sizeof(promoted(x));
结果应该是:
char -> sizeof(int)
int -> sizeof(int)
float -> sizeof(double)
...
【问题讨论】:
-
您的具体用例是什么?这是一个有趣的问题,我只是不知道你的解决方案是什么。
-
@Borgleader 我正在开发一个嵌入式项目(Cortex A5,我们不希望超过大约 256k 的代码大小)。操作系统有两个功能(广义上)在不同的模块中实现:(1)printf(2)enqueue_stuff/dequeue_stuff。后者采用可变数量的 uint32_t。我想 enqueue_stuff -> dequeue_stuff -> printf。
标签: c++ sizeof type-promotion