Не думаю, что для машины это имеет значение.
Вид для печати
В чём проще? Для кого?
Проще для сервера? Нет. Ему сначала нужно всё нулями заполнить, а потом ещё раз заполнить уже нужными значениями.
Проще для скриптера? Тоже не вижу никаких преимуществ, ибо придётся ещё больше символов печатать, прописывая нужные имена членов перечисления. А в случае с хранением строк, ещё и придётся обращаться к дополнительным функциям, типа strcat или format.
Да и у тебя что, кнопки "CTRL", "C" и "V" вырвали из клавиатуры, что ты не можешь раз прописать "0,", а после вставить его нужное количество раз?
Окей. Представим ситуацию. У тебя енам с 1 лямом элементов. Тебе нужно все их заполнить 0. Ты будешь сидеть и 1 лям строк копировать ? Или ты напишешь 2 строки и машина сделает все за тебя? Да и машине проще, ибо переменная типа const и ей не нужно будет каждый раз создаваться, тем самым мы поулчаем профит с двух сторон.
(допустим еще 2 из 1 ляма нужно заполнить единицами и все это должно быть для каждого игрока, при коннекте)
с моим способом - тебе придется добавить все те же 2 строки на нужные элементы (либо 1 с .. = .. = 1), а не писать лям строк 0, а из них 2 с 1)
Собственно, дальше можно не читать. Если у тебя перечисление содержит 1 миллион членов, то твоя реализация - дерьмо, ибо в этом enum будет намешано куча разных систем, что не есть хорошо, как минимум, из-за той ситуации, что перечислил ты. И в том, что ты столкнёшься с подобной ситуацией, виноват не мой подход к решению вопроса, а твоя реализация enum. Достаточно уметь в оформление кода и никаких проблем не будет.
Сейчас твой аргумент выглядит как: "Вот если я начну говнокодить по страшному, твой вариант будет уже неудобен".
Хотя вот это утверждение меня удивило:
А мой глобальный массив будет несколько раз создаваться?
Так а смысл приводить примеры с неправильной реализацией? Можно сказать, что и нож ничего не сможет разрезать, если резать ручкой, а не лезвием -_- Перечисления не должны хранить овермного членов, дабы не усложнять работу с ним. Это и читаемость убивает (ну если в одном enum будут константы и для игрока, и для домов, и для автомобилей, и для кучи других систем, поиск нужной константы, особенно если ты не помнишь её имени, может занять приличное время), и к подобным ситуациям приводит.
В общем, естественно, если криво пользоваться инструментарием, который заложен в язык, то и трудностей всплывёт при этом куча. Это вполне закономерно.
С таким же успехом можно, например, сказать, что использование баз данных - это неудобно, ибо когда в одной таблице миллион столбцов, работать с ней становится убого и не быстро.
Твой способ имеет место быть, но лично я бы не стал из-за собственной лени перекладывать на сервер лишние действия, тратя процессорное время впустую. Из-за такой вот добровольной пессимизации люди потом и кричат повсюду, что у них лагают сервра, ибо эти самые доли миллисекунд, которые теряются в твоей реализации, имеют особенность накапливаться, появляясь и в других участках кода. Но, как говориться: стрелять в свою собственную ногу - дело добровольное