gammaker
> Найди два отличия. Одно из них лишнее, угадай какое. Чтобы не допускать таких
> ошибок в будущем, постарайся самостоятельно найти объяснение, почему так, а не
> тупо перебирать варианты, пока не заработает. Ты все упражнения из книги
> выполняешь? Я в своё время (мне тоже было 15 лет) начинал с книги "Освой C++ за
> 24 часа" (более новое издание, но покороче), а потом закрепил знания прочтением
> книги "...за 21 день". Естественно, выполнял все упражнения и отвечал на все
> вопросы. Была небольшая проблемка с освоением указателей, но я вернулся к этому
> вопросу позже и разобрался.
а я в свое время начал с с++, да еще и с билдера (маленький еще был, без присмотра). Интернетов тогда еще небыло у меня. По примерам научился подражать большим дядькам, а книжки только потом начал читать, потом уже в школе информатика началась. Для меня это была уже халява, как, в прочем и в инсте. Потом асм, потом уже всякие движки. Никогда не опускался до такой фигни как познай дзен за 21 день:) Спешить то куда?
Может сразу читать "Заработай $100 000 за 21 день". Зачем тратить время на всякую чепуху?;)
_sz
+1
От себя могу по рекомендовать "САТТЕР Г. и АЛЕКСАНДРЕСКУ А. Стандарты программирования на С++. 101 правило и рекомендации."
Smothik
> Я чител во эту книгу. wchar_t* указатель на юникодную строку. LPWSTR то же самое.
Ошибка номер раз - вместо wchar_t* надо писать WCHAR*. Не нужно смешивать сишные типы с типами WinAPI, иначе концы будешь долго искать, особенно когда через строчку приведение типа. Если в книге тоже так делается, то её писал идиот.
Во вторых нафига приведение типа у (LPWSTR)buffer, если это одно и то же? Вопрос с подвохом, потому что это не одно и то же. Короче, ужас. Бери уже нормальный язык и не мучайся. В студии есть C# (или Visual Basiс на худой конец), например.
> Прошу особо не пинать мне всего 15 лет.
Про то, что "С++ самый крутой изыг" пацаны во дворе сказали? :)
AngelOfDeath
Видел я уже эту картинку. Там будет парадокс при убивании себя. Если он умер, то не сможет вернуться в прошлое, чтобы убить себя.
>Никогда не опускался до такой фигни как познай дзен за 21 день:) Спешить то куда?
В ней всё достаточно подробно описано. Я из неё практически весь язык и узнал, кроме STL. Это просто такое громкое название, а так это книга как книга. Прочитать её можно хоть за 21 день, хоть за неделю, хоть за год. Просто главы называются днями.
Zefick
> Бери уже нормальный язык и не мучайся. В студии есть C# (или Visual Basiс на
> худой конец), например.
В этих языках тоже есть приведение типа.
Anika
> В этих языках тоже есть приведение типа.
Для той задачи, которая стоит, оно наверное и не понадобится. Но проблема даже не в этом. А в том, что автор запутался в бессмысленном и беспощадном множестве типов данных и том, как у него выделяется и освободжается память. Но очевидно, что для задачи типа "спросить у пользователя что-то и вывести что-то другое в диалоговом окошке" нативный язык нафиг не сдался. Ну и надо ли говорить, что в нормальном языке бессмысленные приведения типов (вроде char** -> char*) запрещены.
Zefick
> Ну и надо ли говорить, что в нормальном языке бессмысленные приведения типов
> (вроде char** -> char*) запрещены.
Нет, в нормальных языках не запрещены и не бессмысленны, любой тип - это всего лишь ячейка памяти, куда можно записать абсолютно любые данные того же размера.
А вот в языках для дураков запрещены, да. Ибо там программисты соответствующей квалификации, которые самостоятельно не в состоянии разобраться в элементарных вещах.
Anika
> Нет, в нормальных языках не запрещены и не бессмысленны
Ну так char** в char* нафига кастить?
> любой тип - это всего лишь ячейка памяти, куда можно записать абсолютно любые
> данные того же размера.
Ты их и так можешь записать, кастить зачем?
Zefick
> Ну так char** в char* нафига кастить?
ну если уж пошло в это направление . то лучше записать через union..
и понимать каст это преобразование, а union означает что переменная(участок памяти) может трактоваться по разному.
Anika
> Нет, в нормальных языках не запрещены и не бессмысленны, любой тип - это всего
> лишь ячейка памяти, куда можно записать абсолютно любые данные того же размера
Я так и вижу как вы у себя в коде пользуетесь только типами s8, u8, s16, u16, s32, u32, указателями и ничем больше.
Программист должен стремиться использовать самые подходящие типы для конкретной ситуации. Вплоть до простых алиасов, но с говорящими именами.
eXmire
> Программист должен стремиться использовать самые подходящие типы для конкретной
> ситуации. Вплоть до простых алиасов, но с говорящими именами.
Наивно полагать, что можно отделаться лишь использовав "самые подходящие типы".
Функция с переменным числом параметров - это как один из примеров, где типы могут быть абсолютно любые, да и их количество тоже !
Zefick
> Ну и надо ли говорить, что в нормальном языке бессмысленные приведения типов
> (вроде char** -> char*) запрещены.
Это в каком, например?
Anika
> Наивно полагать, что можно отделаться лишь использовав "самые подходящие типы".
> Функция с переменным числом параметров - это как один из примеров, где типы
> могут быть абсолютно любые, да и их количество тоже !
В моем посте было черным по белому написано "стремиться", а не "абсолютно всегда". Коли так хочется выжать повод для придирки из ничего - сие не ко мне.
Anika
> Функция с переменным числом параметров - это как один из примеров, где типы
> могут быть абсолютно любые, да и их количество тоже !
Чисто в образовательный целях посмотри как это сделано в том же C#. Не уверен, что в VB они присутствуют, но там тоже никаких проблем без кривых приведений нет.
gammaker
> за 21 день
Хорошая книга, потому что использует педагогические приёмы. Профессиональный подход к обучению новобранцев
Тема в архиве.