Стиль — это хорошо и правильно. Но надо быть аккуратным, при требовании соблюдать свой стиль. Плохому программисту требование хорошего стиля не слишком поможет, а вот хорошему требование соблюдать плохой стиль будет очень сильно мешать в работе.
Здесь 50/50. Половина требований разумные и правильные, половина — какая-то бредятина.
Особенно позабавил запрет на префиксы для переменных класса. Причём автор прекрасно понимает, что в этом случае возникнут проблемы, но тут же описывает как их можно обойти. Если б он тупо разрешил использовать эти префиксы, то этот текст стал бы на 2 абзаца меньше.
Там была ещё одна проблема - компьютеры были не у всех. Лично у меня не было. Я где-то достал (с трудом) блок питания от компа, запитал от него этот сдром, не creative, а просто с кнопками, и слушал компакт диски.
Так, инженеры превращают оптические приводы персональных компьютеров в полноценные музыкальные проигрыватели и подключают к ним небольшие акустические системы.
Чтобы подключить блок питания к cd-рому с соответствующими кнопками не надо быть инженером. Лично я такое проделывал в 90-х годах прошлого века, когда не было денег на нормальный проигрыватель.
А какой смысл возвращать компакт-диски? У пластинок-кассет-плёнки есть особенность, что они аналоговые, соответственно другой звук. А у CD, какие преимущества?
Да уж, цирк с конями да и только. Но вывод очевидный - регулярно обновляйте компилятор, это, как минимум, позволит вам обнаружить и избавиться от ошибок в вашем коде.
Все эти "генераторы кода", которые я видел (включая midl), как правило очень плохие, т.е. генерят какой-то отвратительный код. Они совершенно не предназначены для современных компиляторов С++. Они просто генерят тупую реализацию, безо всякой возможности расширения и обобщённого использования. Это бы проканало для какого-нибуть сраного си-шарпа, но не в с++.
В общем случае, надо просто соблюдать простые правила, например - передавать шаблонные параметры по ссылке. Тогда сложные случаи может и не понадобятся.
Здесь 50/50. Половина требований разумные и правильные, половина — какая-то бредятина.
Особенно позабавил запрет на префиксы для переменных класса. Причём автор прекрасно понимает, что в этом случае возникнут проблемы, но тут же описывает как их можно обойти. Если б он тупо разрешил использовать эти префиксы, то этот текст стал бы на 2 абзаца меньше.
Вообще-то важно. И цитата вообще ни об чём. Зачем запускать код другой программы из вашего приложения? И причём тут fork?
А зачем вообще нужно делать fork? Вроде большинство задач неплохо решаются в потоках
Алиса, я твой случай. Особенно привлекает, что получаешь высшее.
А если колесо от трактора туда привинтить? Так и программируем
У меня на телефоне сейчас ~14 часов музыки, в формате flac. Переведи это в компакт-диски.
Какой смысл сейчас это всё записывать на компакт-диски, что они дадут? Просто сохрани на телефон и слушай.
Там была ещё одна проблема - компьютеры были не у всех. Лично у меня не было. Я где-то достал (с трудом) блок питания от компа, запитал от него этот сдром, не creative, а просто с кнопками, и слушал компакт диски.
Чтобы подключить блок питания к cd-рому с соответствующими кнопками не надо быть инженером. Лично я такое проделывал в 90-х годах прошлого века, когда не было денег на нормальный проигрыватель.
А какой смысл возвращать компакт-диски? У пластинок-кассет-плёнки есть особенность, что они аналоговые, соответственно другой звук. А у CD, какие преимущества?
Да уж, цирк с конями да и только. Но вывод очевидный - регулярно обновляйте компилятор, это, как минимум, позволит вам обнаружить и избавиться от ошибок в вашем коде.
С проблемой, что нельзя удалить/переименовать файл, и сразу создать новый файл с таким же именем. А вот ввод-вывод с консоли - вообще по-барабану.
Все эти "генераторы кода", которые я видел (включая midl), как правило очень плохие, т.е. генерят какой-то отвратительный код. Они совершенно не предназначены для современных компиляторов С++.
Они просто генерят тупую реализацию, безо всякой возможности расширения и обобщённого использования. Это бы проканало для какого-нибуть сраного си-шарпа, но не в с++.
В общем случае, надо просто соблюдать простые правила, например - передавать шаблонные параметры по ссылке. Тогда сложные случаи может и не понадобятся.
Не увлекайся. Я просто показал, как сделать makeString конкретно для типа char
Сегодня девять, завтра - десять. Лучше научиться следить за своим кодом. Ниже я показал примерную реализацию
Где ты это гарантируешь?
Code review: Для шаблонных параметров всегда используй ссылки, если специально не нужно другое