ИМХО это просто добавляет накладных расходов, но мнения могут отличаться ...

ужно устранить предупреждения 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

Ответы на вопрос(2)

Ваш ответ на вопрос