ИМХО это просто добавляет накладных расходов, но мнения могут отличаться ...
ужно устранить предупреждения gcc -Wconversion. Например
typedef unsigned short uint16_t;
uint16_t a = 1;
uint16_t b = 2;
b += a;
дает
warning: conversion to 'uint16_t {aka short unsigned int}' from 'int' may alter its value [-Wconversion]
b += a;
~~^~~~
Я могу устранить это путем
uint16_t a = 1;
uint16_t b = 2;
b = static_cast<uint16_t>(b + a);
Есть ли способ сохранитьoperator+=
и устранить предупреждение? Спасибо.
РЕДАКТИРОВАТЬ
я использую
gcc test.cpp -Wconversion
моя версия gcc
gcc.exe (Rev3, построен проектом MSYS2) 7.2.0