LINUX.ORG.RU

C чего начать изучение С++?


0

2

Решил попробовать поучить С++, хороший учебник есть. Возникла идея попрактиковать.

Думаю написать графический интерфейс для одной консольной проги. Стоит ли начинать с этого?

Я сейчас учу плюсы по «Introduction to Design Patterns in C++ with Qt 4» (раздел качающийся сишки уже почти закончил) и паралельно дочитываю К&Р, но уже есть не малый опыт программирования и с использованием ООП в том числе. Пока что всё очень даже хорошо идет.

ПС: комментарии не читал.

sphericalhorse ★★★★★
()
Ответ на: комментарий от sphericalhorse

А ведь неплохой вариант обучения. Вроде бы все необходимые компоненты присутствуют.

DeVliegendeHollander ★★
()
Ответ на: комментарий от sphericalhorse

не малый

паралельно дочитываю

Добавь еще Розенталя.

anonymous
()
Ответ на: комментарий от son_of_a_gun

Нечитаемо абсолютно. void*, тут даже говорить не о чем.

Читаемо гораздо лучше, чем ЦеППшные непонятно-как-перегуеженные непонятно-откуда-унаследованные функции и операторы. Однажды я долго трахался с небольшои програмкой, в которой были хитро перегружены скобки [], а уж сколько крови мне ссылки попортили! Особенно умиляют rvalue ссылки из C++11...

thread myThread([&]())...

Вообще улёт...

Лямбда в конструкторе получает параметры из стека по ссылке. Я это дело распределяю в куче, потом стек у меня накрывается, а ещё через пары тысяч строчек кода я эту лямбду дёргаю...

Ну очень читабельно и безопасно! Покруче, чем delete this ;)

anonymous
()
Ответ на: комментарий от anonymous

Однажды я долго трахался с небольшои програмкой, в которой были хитро перегружены скобки []

С содроганием вспоминаю аналогичный случай. Только программа была достаточно большая, а автор уволился и сдриснул куда-то за пределы досягаемости. Вот было «весёлое» времечко...

DeVliegendeHollander ★★
()
Ответ на: комментарий от anonymous

Читаемо гораздо лучше

Нечитаемо вообще. После void* ты вообще лишаешься в моих глазах права рассуждать о понятности и безопасности.

Лямбда в конструкторе получает параметры из стека по ссылке. Я это дело распределяю в куче, потом стек у меня накрывается, а ещё через пары тысяч строчек кода я эту лямбду дёргаю...

Там нет пары тысяч строк кода, протри очёчки. Комплексы чтоль, искать проблемы показательного кода? За один дефайн PAR тебя уже можно бы на костре сжечь. Только я к этому не придираюсь - код показательный же.

son_of_a_gun
()
Ответ на: комментарий от son_of_a_gun

Нечитаемо вообще. После void* ты вообще лишаешься в моих глазах права рассуждать о понятности и безопасности.

Пупсинька! Покажи-ка мне ходя бы одну системную реализацию многопоточности, в которой потоковая функция не брала бы void*.

anonymous
()
Ответ на: комментарий от anonymous

Пупсинька!

Как мило.

Покажи-ка мне ходя бы одну системную реализацию многопоточности, в которой потоковая функция не брала бы void*.

Так о том и речь.

son_of_a_gun
()
Ответ на: комментарий от son_of_a_gun

Так о том и речь.

О чем? Ты поносишь нетипизированность аргумента, при этом на самом нижнем уровне от этого просто не деться. Поэтому твои нападки на void* - не более, чем кукареканье

anonymous
()
Ответ на: комментарий от anonymous

О чем? Ты поносишь нетипизированность аргумента, при этом на самом нижнем уровне от этого просто не деться

На «самом нижнем уровне» сишка же, по другому там вообще не сделать. Для сишки нормальна работа с не типизированными указателями, даже с не типизированными данными на стеке. Но называть это понятным, безопасным или лучшим чем любой другой возможный вариант - бред.

son_of_a_gun
()
Ответ на: комментарий от son_of_a_gun

Но называть это понятным, безопасным или лучшим чем любой другой возможный вариант - бред.

Покажи любой другой возможный вариант, ага.

anonymous
()

Думаю написать графический интерфейс для одной консольной проги. Стоит ли начинать с этого?

Нет. Графические интерфейсы вообще на С++ писать не надо, для этого есть питон/руби/ява и т.д.

Например напишите свои массивы, потом параметризуйте их по типу; свои декартовы вектора + матрицы поворота, вычислите на исх основе координаты вершин икосаэдра/додекаэдра вписанного в единичную сферу, напишите семейство классов с перегруженными операторами для создания абстрактного синтаксического дерева из арифметического выражения (парсить выражение должен компилятор) + добавьте туда возможность символьного дифференцирования выражения...

А вообще, найдите уже хороший учебник с примерами. И не слушайте местных богоносцев хающих С++ - ЛОР такой ЛОР...

AIv ★★★★★
()
Ответ на: комментарий от thesis

вот этого лорчую. Тем более, что тысячи подобных тем.

fero ★★★★
()
Ответ на: комментарий от son_of_a_gun

В том то и дело что на сишке по другому нельзя - а на плюсах можно.

Гагага. Как ни пытался я донести до твоей головушки, что на плюсах под капотом там тот же void*, всё тщетно.

anonymous
()

ты ооп знаешь? если да - берёшь прикладную задачу, справочник и вперёд. если нет - ищи учебник ООП с примерами на крестах.

aiqu6Ait ★★★★
()
Ответ на: комментарий от anonymous

Гуси, гуси.

Гагага
Как ни пытался я донести до твоей головушки, что на плюсах под капотом там тот же void*, всё тщетно.

Всегда вглядываюсь в чужой код, ищу сырцы бинарников и смотрю. Вот он void* черт возьми! Ну и как этим теперь можно пользоваться? Ладно бы в АПИ, но в ДЕТАЛЯХ РЕАЛИЗАЦИИ? Я этого не вынесу. Сишник.

son_of_a_gun
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.