【发布时间】:2017-09-02 17:08:19
【问题描述】:
如果我这样写代码:
auto n = 2048 * 2048 * 5;
char* buf = new char[n];
那么,auto 推导类型对 C++17 中的整数溢出安全吗?
【问题讨论】:
-
2048 * 2048 * 5被推导出为int无论溢出。推论只关心类型,而不关心值。 -
我很好奇,是什么让你专门询问 C++17?
-
@Borgleader C++17 是最新版本的 C++。
-
auto不会神奇地修复溢出或更改变量类型。它只是告诉编译器“请找出这里的类型”,而不是你自己写。 -
@Barry 16 位整数?
标签: c++ c++17 integer-overflow auto