LINUX.ORG.RU

[c++] Конструкторы

 


0

0

С конструкторами разоьрался, но не пойму, что такое пустые конструкторы, конструкторы инициализации и конструкторы копирования. Мне это нужно в курсовую, а гугление по пустым понимания не принесло. Если кто может, приведите внятный пример, а то в моей книжке (уровень - для ламо) тоже ничего нет

Ответ на: комментарий от golodranez

class A{ A(){}; } это немного черезчур. Я понимаю существование защищёного конструктора, но закрытого у класса без друзей...

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

Стандарт 12.1/5

A default constructor for a class X is a constructor of class X that can be called without an argument. If there is no user-declared constructor for class X, a default constructor is implicitly declared. An implicitly-declared default constructor is an inline public member of its class. A default constructor is trivial if it is implicitly-declared and if:

— its class has no virtual functions (10.3) and no virtual base classes (10.1), and

— all the direct base classes of its class have trivial default constructors, and

— for all the non-static data members of its class that are of class type (or array thereof), each such class has a trivial default constructor.

anonymous
()

Стоит видимо взять за привычку хоть иногда заглядывать в GOTW.

bibi
()

конструктор копирования это который копирует объект. Пустые конструкторы без параметров, типа по дефлоту... конструкторы инициализации с параметрами. Вот так.

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

Ответ есть в любой книжке по плюсам, которую можно нарыть в инете буквально за минуту.

2 раза уже. упорно восстанавливаюсь.

Лучше бы упорно учился.

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

>>Лучше бы у порно учился.

fixed

Какой интересный жизненный опыт ;)

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

Да, студенты активизировались не на шутку:))

Может устроить на ЛОРе курс платных лекций?

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

да ладно, плюсы это еще не ересь, это хотя бы интересно. а вот матан/функанал/чисмет/теорвер/дифуры/гуманитарка - это таки ересь. лучше бы никсы учили

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

>да ладно, плюсы это еще не ересь, это хотя бы интересно. а вот матан/функанал/чисмет/теорвер/дифуры/гуманитарка - это таки ересь. лучше бы никсы учили

Полную клизму хаскеля тебе надо бы... *facepalm.jpeg*

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

Матан, а тем более, его расширения, на программистских, и вообще, около-CS специальностях это мусор. Его максимум можно какой-то базовый минимум на семестр, так, для ознакомления. Гуманитарные предметы, вроде истории и прочего говна - мусор вообще дичайший, особенно в технических вузах(в университетах еще понятно, это фофудья на тему «широкого университетского образования», но тоже нахер нужно).

Вот, человек хорошо расписал:
http://nponeccop.livejournal.com/147746.html

У нас в РФ еще очень любят на программистских и около-CS специальностях(напр. «Прикладная математика и информатика» и т.п.) низкое количество часов по разделам информатики и вместе с тем огромную кучу матана и подобного хлама оправдывать тем, что якобы, готовят на самом деле математиков, а работа контуперами это так, побочно. Это вот вообще дикий бред, потому что математики, как и науки вобщем, в России давно нет, а если и есть, то тот хлам, который читается, математическим образованием назвать трудно или же вообще невозможно.


накипело что-то как-то

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

Матан, а тем более, его расширения, на программистских, и вообще, около-CS специальностях это мусор

и кого по результату брать на, скажем, DSP? исходя их твоей логики - не программистов, ибо программисты без матана что в Фурье, что в вейвлетах будут ни в зуб ногой

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

Очевидно, надо разделять обязанности, как nponeccop предлагает.
Либо же, брать программистов, которые знают матан. Но это специфические знания для определенной узкой области, которые должны либо дополнительно факультативно изучаться, либо самостоятельно. Их нахер не надо в общую программу пихать.
Либо же, делать очень специализированные специальности, например, собственно DSP. Но это к ВУЗам не должно относится, это предмет ПТУ.

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

Но это специфические знания для определенной узкой области

в любой предметной области, в которой могут потребоваться программисты, есть подобные специфические знания; следствием предлагаемого раздельного подхода будут люди, неспособные их выучить

сколько-нибудь серьёзные области из абстрактной математики на примате сейчас и так урезаны до предела. убрать оттуда ещё и базовые понятия анализа означает угробить направление в принципе. будут специалисты, разбирающиеся в инструменте, но неспособные его адекватно применить ни в одной области

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

ни в одной области

впрочем, я так понимаю, что матан и иже с ним для программистов предлагается не просто выбросить, но чем-то заменить. чем?

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

>Либо же, делать очень специализированные специальности, например, собственно DSP. Но это к ВУЗам не должно относится, это предмет ПТУ.

Поверь. Хорошее понимание DSP требует хорошего матана, дифуров, численных методов и конечных автоматов. Это уже немного не ПТУ.

И таких областей дофига. В распознавании образов или там компьютерной лингвистике. Для других областей необходимы теория управления, а это опять же матан и дифуры.

А вот то, что на примат идут с мыслями потом работать java программистом (в общем смысле этого слова) или еще хуже HTML клепать, то это уже другая история и действительно большая трагедия(к слову говоря, это как раз уже профиль ПТУ).

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

«Прикладная математика» это не матан, и не абстрактная алгебра.
Из той прикладной математики, которая настоящая прикладная математика, т.е. дискретка, вычмат и т.п., на этой специальности по минимуму, да а то и совсем нет.

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

То, что учится сейчас - все равно никоим образом не достаточно для работы в области DSP. А вот часы занимает.
Абстрактная математика на примате не нужна совсем.

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

Больше CS(реляционная алгебра какая-нибудь, как nponeccop предлагает, и т.п.), дискретки, прикладных разделов математики

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

Как ты себе представляешь вычмат без матана и линейной алгебры? Другое дело что матан и линейка (а иногда и функан), который требуется расчетчикам, имеют несколько другие акценты чем обычные мат. курсы.

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

Аналогия хромает. Программирование без электроники можно представить себе, когда «железо» можно рассмотреть чёрный ящик. В случае вычмата (т.е. по сути разработки и внедрения численных методов) такого черного ящика нет. Математика нужна даже для того, чтобы понять критерии применимости тех или иных численных методов, не говоря уже о том, чтобы разобраться, как они работают.

Или ты про какой-то другой вычмат говоришь?

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

То, что учится сейчас - все равно никоим образом не достаточно для работы в области DSP. А вот часы занимает.

недостаточно, зато даёт базис, с которого уже можно доучиваться самостоятельно. можно легко проверить, насколько реально твоё предложение вынести тот же матан в факультатив и самообучение - если весь текущий курс матана с ПМ (сильно урезанный, с практической направленностью) вложить в один семестр - как ты думаешь, сколько студентов его смогут сдать?

Абстрактная математика на примате не нужна совсем.

это какая, например? теория групп, теория Галуа, теория матриц, теория графов? какую математику ты считаешь достаточно асбтрактной, чтобы она была вне необходимого для программиста набора?

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

> около-CS специальностях(напр. «Прикладная математика и информатика» и т.п.)

Скорее наоборот, CS - это около математическая область.

Важно, что математика можно переобучить быть программистом. Из программиста, как правило, математик уже не получится. Подходящее время будет упущено. Хотя с другой стороны, компьютеров стало так много, что нужны программисты самых разных квалификаций. Так что, просто программисты тоже нужны стране. Нужны и те, и те.

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

Угу переобучи) Ты видно не видел Ъматематиков, некоторые из них компа боятся как огня, роднее книги и листочка им нет ничего. И вообще кого-то в кого-то переобучать бессмысленно, если человек пошел в ту область и стал там специалистом, то значит у него мозг в ту сторону варит лучше(если конечно он там учится не похотению\возможности родителей и пр).
В ВУЗах для прогеров надо давать основы и матана и пр, чтобы при более-менее средних по сложности задачах он сам смог решить, а если ты пишешь софт с большим кол-вом математики и сложными вычислениями, то хорошо бы иметь под рукой\в штате того самого математика, который боится компа, но который тебе на листике все залечит и разложит по полочкам.

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

Мой русский это честно заработанная 3:) Я долго и нудно учился правила и пытался применять, но вот фигово у меня с грамматикой и пунктуацией, поэтому строго не судите.

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

>В ВУЗах для прогеров надо давать основы и матана и пр, чтобы при более-менее средних по сложности задачах он сам смог решить

Да, но таких программистов должны готовить другие ВУЗы/факультеты чем людей для распознавания образов и компьютерной лингвистики.

То, что ВУЗов для программистов у нас по сути нет - плохо. Но это не означает, что надо матан на примате убрать. Бред же =)

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

Я не считаю, что матан надо убирать. Но и читать его семестра 4-5 как для матфака тоже не нужно. Имхо у нас был 1 год матана, вполне достаточно, хотя я не возьмусь считать что-то сильно сложное (для меня:) не для матфака), все равно надо будет гуглить и смотреть тогда)))))
А если почестному то наше образование не соответствует ожиданием работодателя, то что дают в ВУЗе и что ты будешь делать на работе очень разные вещи и это печально...

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

Для программирования сайтов и баз данных вообще достаточно 3 класса образования. Для такой работы не нужны даже знания 3 законов Ньютона и теоремы Пифагора, которые проходят в средней школе. И таблица Менделеева тоже не нужна.

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

программист это инженер
математик - ученый
это совершенно разные области
и из математиков хороших программистов не получается точно так же, как и из программистов - математиков

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

>А если почестному то наше образование не соответствует ожиданием работодателя, то что дают в ВУЗе и что ты будешь делать на работе очень разные вещи и это печально...

В принципе. То, что дают в ВУЗе и то, что будешь делать всегда достаточно разные вещи. Если работодатель думает, что получит выпускника, который в точности подходит для работы и прям с первого дня начнет приносить профит, то он дурак.

И уж тем более, когда работодатель берет на работу биолона, надеясь что из него получится хороший летчик, то он идиот в двойне.

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

>программист это инженер

математик - ученый

это совершенно разные области

Да, но. 1) примат программистов не готовит и не должен готовить.

2) Ты же предлагаешь почти тоже самое, что и конструктору не преподавать начерталку или сопромат. Мол он инженер, а не ученый.

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

Бред это читать два года матан и линейную алгебру, и потом еще год дифуры в количестве часов, покрывающем чуть ли не все остальные предметы вместе взятые, основываясь на том, что среди теоретических областей CS и ее приложений находятся обработка аналоговых сигналов, требующая понимания того, что такое предел, и того, как брать интегралы, и компьютерная графика, требущая соответственно, умения складывать векторы, вычислять их длину и применять аффинные преобразования; особенно если учесть, что области довольно узкие.

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

Я не знаю, что такое CS. Это иностранный термин.

особенно если учесть, что области довольно узкие.

Скажи, какие области не узкие. Какие по твоему относятся к CS? Так как я уже говорил, не знаю, что это такое.

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

я бы даже еще больше конкретизировал:

и, более того, это совершенно разные области


И кого «Прикладная математика и информатика» должна готовить тогда? Это одна из самых приближенных к CS специальностей в РФ, не считая всяких там АСУ. А кого на ней сейчас выпускают - это другой вопрос. Уж не математиков точно. Но вот и не программистов. По моим наблюдениям - в основном торговых агентов.

Начерталка это прикладная область как раз, и, тем более, сопромат. В отличии от абстрактной геометрии, к примеру, и теоретической механики.

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

>CS - это около математическая область.
CS такая же математика, как хаскель - лисп

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

матан и дифуры - основа основ. В принципе человек не изучивший их на достойном уровне - паршивый сециалист по этим самым omputer science.

Если уж на то пошло, так та же мат.логика более узкая часть, чем матан для примата.

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

Программирование сайтов и БД тоже «компьютерные науки». Это основная потребность рынка труда в программировании. Для подготовки таких «специалистов» даже таблицу сложения не надо знать из 2 класса. А цифровой обработкой сигналов, написанием движков для игр и т.п. занимаются считанные единицы.

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

>Программирование сайтов и БД тоже «компьютерные науки». Это основная потребность рынка труда в программировании. Для подготовки таких «специалистов» даже таблицу сложения не надо знать из 2 класса. А цифровой обработкой сигналов, написанием движков для игр и т.п. занимаются считанные единицы.

Слишком утрировано, но в общем да. Но вот институты и готовят как раз людей по специальностям тех считаных единиц. А людей для создания сайтов должны были бы готовить в ПТУ и вот то, что таких ПТУ у нас нет - это очень плохо.

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