rinatoptimus, 0 меньше 5? Да, выводим. 1 меньше 5? Да, выводим. 2 меньше 5? Да, выводим. 3 меньше 5? Да, выводим. 4 меньше 5? Да, выводим. 5 меньше 5? Нет, не выводим...
asurkis, обычно консоль для ввода команд появляется в виде окошка внутри самой игры. Что такое консоль - это список строк. Пусть этот список изначально пуст, текущая строка i = 0;
нажимаем клавишу: s[i] = s[i] + key;
если нажали BackSpace, удаляем символ из строки
если нажали Enter, тогда i++; и выполним команду
Вот и весь алгоритм. Незабываем перерисовывать этот список каждый цикл, как и весь экран игры...
Зависит от задачи... Например, я фрилансер. Я захожу в приложение, как фрилансер и получаю работу, но не могу её выполнить полностью самостоятельно. Тогда я захожу как работодатель и выставляю часть работы, пусть сделают её другие фрилансеры. Очень удобно, если такой функционал будет в одном приложении...
Написал проверочный код для vs2013. Если поле класса описать, например, как целое, то начальное значение будет случайным, значит время на инициализацию не тратиться. Если добавляем указатель, то все поля обнуляются (и указатели и не указатели), видимо участок, выделяемый под класс тупо обнуляется. Предположу, что если есть хотя бы одно не инициализированное поле и есть указатель, то на практике (а не в теории), компилятор в любом из двух случаев особо не парится и вначале выделяет память под класс, а потом эту всю память обнуляет. Получается, что в любом случае мы тратим одно и тоже время. В крайнем случае, если будем писать в Java-стиле мы проиграем несколько процессорных тактов :)
Вот так вот писать на разных языках, упускаешь такие тонкости... Хотя, с другой стороны, наверняка, начальная инициализация - это просто выделение участка памяти под объект где-нибудь в "куче" (которе и так нужно нам) и по времени мы не теряем НИЧЕГО