А был ли мальчик? (помянем плюсы)

tau
Уже с Приветом
Posts: 514
Joined: 07 Dec 2001 10:01
Location: toronto

Re: А был ли мальчик? (помянем плюсы)

Post by tau »

Сабина wrote: 20 Jan 2018 19:50 Мне предстоит еще один семестр изучения С++ :roll: . Это третий курс из серии ( первые два сданы на A-), вот textbook https://www.barnesandnoble.com/w/data-a ... 1124175283

Если вдруг у меня будут проблемы и затруднения с пониманием материала и вопросы про coding project , есть тут желающие помочь :) ?
Решила спросить заранее чтобы если нет, то не беспокоить и не открывать тему
Помогут, конечно. А вы нам будете докладывать про новые идеи из дорогой книжки.
Как говорится, win-win.
Сабина
Уже с Приветом
Posts: 19041
Joined: 11 Jan 2012 09:25
Location: CA

Re: А был ли мальчик? (помянем плюсы)

Post by Сабина »

tau wrote: 22 Jan 2018 16:03 Помогут, конечно. А вы нам будете докладывать про новые идеи из дорогой книжки.
Как говорится, win-win.
Кстати да, интересно было бы понять как именно развивается язык С++. Ведь в той же Джаве постоянно что-то новое появлятеся, в С++ поди также, особенно в связи с последней востребованностью в distributed frameworks. А вот что именно пока не совсем понятно.
https://www.youtube.com/watch?v=wOwblaKmyVw
User avatar
M. Ridcully
Уже с Приветом
Posts: 12017
Joined: 08 Sep 2006 20:07
Location: Силиконка

Re: А был ли мальчик? (помянем плюсы)

Post by M. Ridcully »

Сабина wrote: 22 Jan 2018 22:04 Кстати да, интересно было бы понять как именно развивается язык С++.
Вроде новые стандарты принимаются - 11, 14, 17й...

У меня вот коллега всё ратует на новый стандарт перейти. Я вроде бы не против - практический Boost можно бы было выкинуть, от shared_ptr избавиться, но не настолько мне это нужно, чтобы калории на это тратить... :-)
Мир Украине. Свободу России.
User avatar
Мальчик-Одуванчик
Уже с Приветом
Posts: 15526
Joined: 27 Sep 2007 22:53

Re: А был ли мальчик? (помянем плюсы)

Post by Мальчик-Одуванчик »

M. Ridcully wrote: 22 Jan 2018 23:10 У меня вот коллега всё ратует на новый стандарт перейти. Я вроде бы не против - практический Boost можно бы было выкинуть, от shared_ptr избавиться, но не настолько мне это нужно, чтобы калории на это тратить... :-)
А тупо в алгоритмы лямбды вставлять или использовать их как обьекты?
Сабина
Уже с Приветом
Posts: 19041
Joined: 11 Jan 2012 09:25
Location: CA

Re: А был ли мальчик? (помянем плюсы)

Post by Сабина »

Мальчик-Одуванчик wrote: 22 Jan 2018 23:24
M. Ridcully wrote: 22 Jan 2018 23:10 У меня вот коллега всё ратует на новый стандарт перейти. Я вроде бы не против - практический Boost можно бы было выкинуть, от shared_ptr избавиться, но не настолько мне это нужно, чтобы калории на это тратить... :-)
А тупо в алгоритмы лямбды вставлять или использовать их как обьекты?
Ой, а дайте хороший линк где почитать про лямбды в С++ ?
А то лямбды отдельно знаю, в контексте Скалы = знаю, потом и Джавы тоже, а в контексте С++ - нет. Чувствую много пропустила :D
https://www.youtube.com/watch?v=wOwblaKmyVw
User avatar
M. Ridcully
Уже с Приветом
Posts: 12017
Joined: 08 Sep 2006 20:07
Location: Силиконка

Re: А был ли мальчик? (помянем плюсы)

Post by M. Ridcully »

Мальчик-Одуванчик wrote: 22 Jan 2018 23:24
M. Ridcully wrote: 22 Jan 2018 23:10 У меня вот коллега всё ратует на новый стандарт перейти. Я вроде бы не против - практический Boost можно бы было выкинуть, от shared_ptr избавиться, но не настолько мне это нужно, чтобы калории на это тратить... :-)
А тупо в алгоритмы лямбды вставлять или использовать их как обьекты?
Возможно, от конкретного проекта зависит, но вот нам бы не думаю, что лямбды сильно помогли. Для меня главные преимущества:

1. auto variables - классно, можно теперь для каждой коллекции не делать typedefs;
2. foreach loop - тоже хорошо, а то у нас везде BOOST_FOREACH;
3. заменить shared_ptr -> unique_ptr.

Это основное. Остальное по-мелочи - кое-где variadic templates помогли бы, но довольно узкий и специфичный use case, ещё наверное кое-где какую мелочь забыл...
Мир Украине. Свободу России.
User avatar
M. Ridcully
Уже с Приветом
Posts: 12017
Joined: 08 Sep 2006 20:07
Location: Силиконка

Re: А был ли мальчик? (помянем плюсы)

Post by M. Ridcully »

Сабина wrote: 22 Jan 2018 23:33 Ой, а дайте хороший линк где почитать про лямбды в С++ ?
А то лямбды отдельно знаю, в контексте Скалы = знаю, потом и Джавы тоже, а в контексте С++ - нет. Чувствую много пропустила :D
А чего там знать? Лямбда и в Африке - лямбда. Прочитать один раз синтаксис достаточно: http://en.cppreference.com/w/cpp/language/lambda
Мир Украине. Свободу России.
User avatar
Мальчик-Одуванчик
Уже с Приветом
Posts: 15526
Joined: 27 Sep 2007 22:53

Re: А был ли мальчик? (помянем плюсы)

Post by Мальчик-Одуванчик »

Сабина wrote: 22 Jan 2018 23:33 Ой, а дайте хороший линк где почитать про лямбды в С++ ?
https://www.amazon.com/Learning-Functio ... 787281973/
User avatar
Medium-rare
Уже с Приветом
Posts: 9195
Joined: 04 Mar 2011 03:04
Location: SFBA

Re: А был ли мальчик? (помянем плюсы)

Post by Medium-rare »

M. Ridcully wrote: 22 Jan 2018 23:51 3. заменить shared_ptr -> unique_ptr.
???
... and even then it's rare that you'll be going there...
User avatar
M. Ridcully
Уже с Приветом
Posts: 12017
Joined: 08 Sep 2006 20:07
Location: Силиконка

Re: А был ли мальчик? (помянем плюсы)

Post by M. Ridcully »

Medium-rare wrote: 23 Jan 2018 00:17
M. Ridcully wrote: 22 Jan 2018 23:51 3. заменить shared_ptr -> unique_ptr.
???
In collections.
Мир Украине. Свободу России.
User avatar
AndreyT
Уже с Приветом
Posts: 3003
Joined: 14 Apr 2004 01:11
Location: SFBA (было: Минск, Беларусь)

Re: А был ли мальчик? (помянем плюсы)

Post by AndreyT »

Medium-rare wrote: 23 Jan 2018 00:17
M. Ridcully wrote: 22 Jan 2018 23:51 3. заменить shared_ptr -> unique_ptr.
???
Речь, по-видимому, идет о том, что в Boost нет unique_ptr, по каковой причине раньше они везде использовали shared_ptr, даже там где по идее достаточно было unique_ptr.

Теперь, с появлением unique_ptr, имеет смысл выборочно поменять shared_ptr на unique_ptr: именно и только там, где по сути изначально нужен именно unique_ptr.
Best regards,
Андрей
User avatar
M. Ridcully
Уже с Приветом
Posts: 12017
Joined: 08 Sep 2006 20:07
Location: Силиконка

Re: А был ли мальчик? (помянем плюсы)

Post by M. Ridcully »

AndreyT wrote: 23 Jan 2018 00:54 Речь, по-видимому, идет о том, что в Boost нет unique_ptr, по каковой причине раньше они везде использовали shared_ptr, даже там где по идее достаточно было unique_ptr.

Теперь, с появлением unique_ptr, имеет смысл выборочно поменять shared_ptr на unique_ptr: именно и только там, где по сути изначально нужен именно unique_ptr.
Именно так.
Такие дизайны, где нужны именно shared_ptr, мне не нравятся. Я предпочитаю, чтобы владение было однозначным - кто-то владеет, а кто-то - использует.
Мир Украине. Свободу России.
User avatar
Medium-rare
Уже с Приветом
Posts: 9195
Joined: 04 Mar 2011 03:04
Location: SFBA

Re: А был ли мальчик? (помянем плюсы)

Post by Medium-rare »

M. Ridcully wrote: 23 Jan 2018 00:22
Medium-rare wrote: 23 Jan 2018 00:17
M. Ridcully wrote: 22 Jan 2018 23:51 3. заменить shared_ptr -> unique_ptr.
???
In collections.
Ну, shared_ptr в collections точно работает, а вот предлагаемая замена...
... and even then it's rare that you'll be going there...
User avatar
M. Ridcully
Уже с Приветом
Posts: 12017
Joined: 08 Sep 2006 20:07
Location: Силиконка

Re: А был ли мальчик? (помянем плюсы)

Post by M. Ridcully »

Medium-rare wrote: 23 Jan 2018 01:59
M. Ridcully wrote: 23 Jan 2018 00:22
Medium-rare wrote: 23 Jan 2018 00:17
M. Ridcully wrote: 22 Jan 2018 23:51 3. заменить shared_ptr -> unique_ptr.
???
In collections.
Ну, shared_ptr в collections точно работает, а вот предлагаемая замена...
А что не так?

Но я слишком коротко / не совсем точно написал. AndreyT выше написал правильней. Контейнеры - это просто частный случай.
Мир Украине. Свободу России.
User avatar
Medium-rare
Уже с Приветом
Posts: 9195
Joined: 04 Mar 2011 03:04
Location: SFBA

Re: А был ли мальчик? (помянем плюсы)

Post by Medium-rare »

Наткнулся на два или три параллельных обсуждений когда-то. Вроде такого. Ну очень частный случай.
... and even then it's rare that you'll be going there...

Return to “Вопросы и новости IT”