Вы можете вырезать один, дважды используя оператор извлечения.
int x, s = 0;
cin >> x;
s += x;
cin >> x;
s += x;
Вы можете сократить это еще больше, используя одну переменную, которая в два раза больше int
. Я не могу поверить, что я печатаю это:
long long s;
assert(sizeof(int)*2 == sizeof(long long));
cin >> *(int*)(&s);
cin >> *((int*)(&s)+1);
s = (s & 0xffffffff) + ((s >> 32) & 0xffffffff);
Вам разрешено делать подобные вещи только тогда, когда вам абсолютно необходимо что-то вроде сохранения двух 32-битных значений в 64-битном регистре по непонятным причинам производительности, иначе боги вас поразят. В таком случае вы, скорее всего, не используете библиотеку iostream, но все готово. Я пойду приму душ, чтобы смыть запах кода. Мне может понадобиться щелочь.