27cm: serif по-прежнему используют только люди, не жалеющие чужих глаз (засечки на экране эргономичны примерно так же, как буквицы в пунктах меню), monospace - те, чьих посетителей дизайном не напугаешь. Два других вообще не из нашего мира.
OnYourLips: Мой? Вы мне льстите....
Однако этот велосипед - просто однофайловая обертка над работой с базой, а не новый уровень абстракции, как указанные вами. Так же можно спросить, почему человек пишет на голом пыхе, а не на фреймворке.
РежимБога: Вы забываете, что у вас не будет РАЗНЫХ запросов к этой таблице каждую секунду. Посетители в основном шарятся по последним темам, запросы будут одни и те же, и результаты база будет выдавать из своего кэша. Если у вас движок форума не сделает кэш самостоятельно и вообще будет дергать базу.
Иван Соломенников: тогда, если потянет на другие языки, "кресты" смело задвигайте в конец списка. Лучше уж Жабу какую-нибудь, у нее свои интересные нюансы по ООП.
Иван Соломенников: Вы практически открытым текстом написали, что всерьез и надолго писать на "крестах" не собираетесь. Это значит, что вы ничему полезному не научитесь, увы. "Не след и начинать".
Вопрос-то не "нужен ли", а "чем может быть полезен". Я, хорошо зная С++, уверен, что мне это знание помогает.
Но ТС, конечно, занимается ерундой. С++ нельзя выучить по учебнику. Только руками, за годы практики. Простое же знание синтаксиса не даст вообще ничего.
Столбцы "Тип" и "Уровень", позволяющие отличить пос. Солнечная от ул. Солнечная и от турбазы "Солнечная". Нет, хранить его с именем не надо, пользователи знают пятнадцать способов сократить слово "бульвар"
Павел Тананыхин: функция должна делать одно дело, и делать его хорошо.
То есть совершенно не зная, какой код ее вызывает, и не вынуждая этот код знать, что происходит внутри нее. Например, функция, которая получает массив и элемент и возвращает массив с этим элементом (добавленным или уже существующим).
Абстракция "массив с 0 элементов" - это верная дорога к сегфолту. Или у вас есть массив, или его нет совсем.
Павел Тананыхин: да. Функции не должны возвращать "либо", только тогда можно спокойно забыть, что внутри них находится.
Собственно, вы сами тут же налажали с использованием такой функции.
pixik: Для чего-то чуть сложнее ini требуется что-то чуть сложнее банального ввода-вывода. На "крестах" это будет класс размером в один экран.
Ну, в два, если для ini-файла нужно найти кроссплатформенно подходящее место. Правда, в этом случае вы, скорее всего, уже используете кроссплатформенную библиотеку, которая имеет средства для таких пустяков.
pixik: JSON имеет тенденцию к превращению в нечитаемую и нередактируемую человеком простыню. Его достоинства по сравнению с XML, например, совершенно ничтожны на таких тривиальных данных, как конфиг программы.
Ну, а если эти данные не структурированы каким-то сложным образом, то старый добрый .ini по-прежнему остается оптимальным решением.