поясните "Вот если вы можете эту структуруот одного экземпляра test_t передовать другому", не совсем понимаю
test_t test1, test2;
test1.set(test2.data);
test1.set(test2.get())
, если data_t - это что-то внешнее по отношению к test_t (например, у вас класс окна и у него есть обработчик события. Вам может захотеться передать обработчик события от одного класса другому.) Я тоже пилю распределённые системы, но велосипед не изобретаю, использую готовые решения. Может масштаб не тот, конечно.
Только это относительно редкое явление, независимо от размера проекта. Целая куча народа пилит энтерпрайз, в том числе высоконагруженный, без возможности (и необходимости) писать хоть что-то упомянутое Корменом.
Это максимум примитивный nested sets в базе, для которого скорее всего есть готовая библиотека. Для более сложных случаев же лучше взять графовую СУБД.
В таком массиве можно точно также устраивать бинарный поиск. Просто забудьте что ваш массив циклический. Когда вам нужно обратиться к i-тому по порядку элементу вы обращаетесь к (be+i)% n индексу в массиве.
Потом, вам не нужен бинарный поиск, если игрок не может телепортироватся. Можно поддерживать индекс платформы, на которой игрок находится. И менять его при движении персонажа.