1
私はこのようなコードを記述する場合:だからC++の整数オーバフローから "auto"は安全ですか?
auto n = 2048 * 2048 * 5;
char* buf = new char[n];
を、C++ 17の整数オーバーフローから安全auto
控除タイプですか?
私はこのようなコードを記述する場合:だからC++の整数オーバフローから "auto"は安全ですか?
auto n = 2048 * 2048 * 5;
char* buf = new char[n];
を、C++ 17の整数オーバーフローから安全auto
控除タイプですか?
2048
およびは、タイプがあり、そのタイプはint
です。 2つを乗算するとint
の型があり、その型はint
です。結果がint
に収まらない値があり、auto
でそれを防ぐことはできません。偶然例えば、結果を狭めている何auto
防ぐことができます。:* 5`
short x = 4 * 8192;
'2048 * 2048
はオーバーフローどんなにint''に推定されます。控除は、値ではなく型についてのみ行います。 – Zereges
私は興味があります、あなたはC++について具体的に何を尋ねるのでしょうか? – Borgleader
@Borgleader C++ 17はC++の最新バージョンです。 –