Многие из этих ответов предполагают, что вы знаете, как будет выглядеть ваша структура. Я считаю, что этот вопрос на собеседовании предназначен для того, чтобы попросить вас мыслить нестандартно. Я искал ответ, но не нашел решений, которые мне здесь понравились. Я сделаю лучшее предположение, сказав
struct foo {
int a;
banana b;
char c;
...
};
Создав foo [2], я теперь буду иметь 2 последовательных объекта foo в памяти. Итак ...
foo[2] buffer = new foo[2];
foo a = buffer[0];
foo b = buffer[1];
return (&b-&a);
Предполагая, что моя арифметика указателя была правильной, это должен быть билет - и он переносимый! К сожалению, такие вещи, как отступы, настройки компилятора и т. Д. Тоже сыграют свою роль
Мысли