gpt4 book ai didi

c++ - 如何编写像 "size_t s = 16 MByte"这样的文字常量?

转载 作者:IT老高 更新时间:2023-10-28 12:29:35 25 4
gpt4 key购买 nike

今天在我们的代码库中找到了以下行,并喜欢它编写内存大小的优雅。想知道这是如何编译的。

size_t poolSize = 16 MByte;

给出了一个解决方案作为我自己的答案。还有其他解决方案吗?

最佳答案

在现代 C++ 中,您应该 define a literal notation ,例如

auto operator""_MB( unsigned long long const x )
-> long
{ return 1024L*1024L*x; }

然后写

long const poolSize = 16_MB;

不要使用宏,它们是 Evil™。在很多方面。


免责声明:编译器未触及代码。

关于c++ - 如何编写像 "size_t s = 16 MByte"这样的文字常量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39622508/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com