[Ответить в тред] Ответить в тред

03/04/16 - Набор в модераторы 03.04 по 8.04
26/03/16 - Конкурс: Помоги гомункулу обрести семью!
15/10/15 - Набор в модераторы 15.10 по 17.10



[Назад][Обновить тред][Вниз][Каталог] [ Автообновление ] 561 | 30 | 130
Назад Вниз Каталог Обновить

Оффициальный™ традиционный® C++ тред #30 Аноним 12/04/16 Втр 21:19:32  714898  
14604851727020.png (175Кб, 503x600)
Концепты? Вам, потомки обезьян,
За пять лет не осилившие треды?
Да будь весь комитет мертвецки пьян,
Он протрезвел бы от такого бреда!

Нетворкинг! Модули! Разгулье корутин!
Пихаем все, фич не бывает много!
Вы намараете хэллоуворлд один,
А нам - линковщик редизайнить снова?

Как стая шелудивых псов, давно
Не знаете сомнений, сна, покоя,
Слепить мечтая из плюсов Goвно,
Чтоб впредь уж не пришлось скрипеть башкою.

Неужто мы под шелест перфокарт
И трескотню ЕС-ок вас зачали,
Чтоб вы, едва открывшие стандарт,
Влезали в пекло и права качали?

Зря тявкаете! Бьерн и мудр и строг,
Он дрянь в язык не пропустил ни разу.
Коль выждать не хотите нужный срок -
Ступайте мять удавов одноглазых.


Старший брат: >>683573 (OP)
Предыдущий: >>707568 (OP)

TL;DR

Q: Я хочу тотчас вкатиться, а разбираться буду в процессе. Что я должен делать?
Q: Не уверен, что хочу изучать C++. Как мне пощупать его без лишней ебли?
A: Читаешь эту книжку, смотришь упражнения из нее и суешь в онлайн-компилятор. Сообщения компилятора об ошибках копипастишь в гугл, ответы на возникающие у тебя вопросы ищешь в предыдущих тредах, спрашиваешь в этом треде, если не нашел. Если тебя послали на хуй или не ответили, то ты спросил платину, читай предыдущие треды внимательнее.

Памятка ньюфагу

  • Вопросы по синтаксису идут на хуй
  • Лабы идут на хуй
  • "Как мне сделать Х на чистых крестах без библиотек" идут на хуй
  • Все идут на хуй
  • Хейтер сосет члены на пару со своей мамашей

Небольшие фрагменты кода размещай в треде при помощи тега [code] и жабаскрипт-костыля. Для больших фрагментов используй внешние сервисы.


FAQ

Мотивация

Q: Почему стоит использовать именно C++?
A: Ни один язык не идеален, но по совокупности киллер-фич C++ оставляет все остальные языки позади. Вот основные три:

  • Скорость
    C++ действительно быстрый язык — вместе с C, его прародителем, они с большим отрывом уделывают по скорости все остальные языки высокого уровня. Код на C++, как правило, медленнее аналогичного кода на C приблизительно на 0-20% а в ряде случаев C++ оказывается даже быстрее, причем замедление появляется только при использовании высокоуровневых конструкций (в C++ ты никогда не платишь за то, чего не используешь). Таким образом, если тебе требуется высокопроизводительный код, C++ станет отличным выбором.
  • Мощь
    C++, являясь одним из наиболее выразительных и мощных языков, позволяет использовать большинство существующих парадигм. Его философия построена на минимальном ограничении программиста в выборе методов и инструментов простреливания ноги решения задачи. Как следствие, используя C++, ты можешь не думать о том, как обойти искуственные ограничения языка, а беспрепятственно выбрать наиболее подходящие к ситуации средства.
  • Популярность
    C++ по-настоящему популярен. На нем написаны десятки тысяч приложений и миллиарды строк кода, о нем написаны сотни книг, он до мельчайших подробностей документирован и стандартизован. Используя C++, ты никогда не останешься без работы или поддержки комьюнити.

Q: Но он же давно устарел!
A: Современный C++ весьма далек от языка, которым он был в 1998 году. В настоящее время кресты живее всех живых, их развитие движется семимильными шагами, а новые стандарты принимаются каждые три года, сохраняя при этом полную обратную совместимость с предыдущими. К сожалению, из-за обилия некачественной литературы по С++, в которой игнорируются новые средства языка, бытует мнение о его "несовременности".

Q: Сейчас все пишут на %languagename, а кресты сосут у него!
A: Нужно понимать, что используемый язык должен соответствовать поставленной задаче. Никому не придет в голову писать на C++ скрипты или веб-фронтенд хотя это вполне возможно, но лишь немногие языки могут соперничать с ним по разнообразию решаемых задач.

Q: Хуле тут так сложно? Я открыл учебник, там какой-то ад!
A: Попробуй учебники, изданные после 2011 года, в которых рассматриваются возможности новых стандартов (C++11 и C++14). Эти фичи не только добавили выразительности, но и серьезно упростили жизнь разработчиков. Теперь программировать на C++ стало проще, чем когда-либо! Это не отменяет необходимости прочитать несколько серьезных книжек, чтобы написать на нем что-то годное. Тем не менее, да, C++ это по-настоящему сложный язык. Его никак не получится выучить за 21 день, ну вот совсем никак. Именно высокий порог вхождения повышает твою ценность как специалиста, не позволяя нанять вместо тебя индуса за еду. Более того, крайне нежелательно пытаться изучить его первым, если ты раньше вообще не программировал. С большой вероятностью это приведет к разочарованию и потере времени. Гораздо лучше будет начать с другого языка и базовых вещей алгоритмы, архитектура пека, операционные системы, а уже потом вернуться к крестам.


Литература

Q: Окей, я решил вкатиться. Какие же книги мне читать?
A: Специально для тебя аноны /pr собрали уникальную коллекцию отборной литературы по крестам. Только лучшие книги, последние издания, без хуев! Выбирай категорию и обмазывайся:

  • Для нюфань

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


    Автор(ы) Название Год Ссылка
    Бьерн Страуструп Программирование. Принципы и практика использования C++ 2016 https://yadi.sk/i/Yd6KKpLBqJSUr
    Стэнли Липпман, Жози Лажойе и Барбара Му Язык программирования C++ 2014 https://goo.gl/kVaela
    Стивен Прата Язык программирования C++ 2012 https://goo.gl/z7kA8u

  • Кроме того, есть еще пара старых добрых учебников для ньюфагов. Часть информации в них устарела, но многие считают, что это компенсируется их большей, по сравнению с современными учебниками, понятностью:


    Автор(ы) Название Год Ссылка
    Герберт Шилдт C++. Базовый курс 2010 https://goo.gl/qMLAFl
    Роберт Лафоре Объектно-ориентированное программирование в C++ 2004 https://goo.gl/QvjR6x

  • Best practices

    Книги про основные подводные камни для тех, кто осилил предыдущий пункт. Следует пролистать все:


    Автор(ы) Название Год Ссылка
    Скотт Мейерс Эффективное использование C++ 2005 https://goo.gl/wsDXGz
    Скотт Мейерс Наиболее эффективное использование C++ 1996 https://goo.gl/tHa0tO
    Скотт Мейерс Эффективный и современный C++ 2015 https://goo.gl/Im8VYQ
    Скотт Мейерс Эффективное использование STL 2002 https://goo.gl/QtS8Dc
    Герб Саттер и Андрей Александреску Стандарты программирования на языке C++ 2005 https://goo.gl/Cpk4YR

  • Проектирование

    Следует пролистать все перед переходом от лаб к написанию настоящего софта.
    Последний пункт есть квинтэссенция ГИБКОСТИ, поэтому стоит прочитать его в любом случае, чтобы охуеть от того, как можно делать:


    Автор(ы) Название Год Ссылка
    Ален Голуб Веревка достаточной длины, чтобы выстрелить себе в ногу 2001 https://goo.gl/fBmuxp
    Джеймс Коплиен Программирование на C++ 2005 https://goo.gl/Y1WGdU
    Андрей Александреску Современное проектирование на C++ 2002 https://goo.gl/e1V5BC

    Ахтунг!
    Предыдущие два раздела дополняют, а не заменяют классические книги о лучших практиках разработки без привязки к конкретному языку (Макконнелл, Uncle Bob, GoF).

  • Справочники

    Наиболее детальные описания языка. Удобно использовать как референс, читать от корки до корки не обязательно:


    Автор(ы) Название Год Ссылка
    Бьерн Страуструп Язык программирования C++ 2013 https://goo.gl/XkAiOX (на ангельском)
    Бьерн Страуструп Язык программирования C++ 2010 https://goo.gl/iZBDiV <устарело>

    Кроме того, на ангельском доступны стандарты C++11, C++14, а также последняя версия черновика стандарта C++17.

  • Тонкости языка

    Книги для тех, кто возлюбил кресты всей душой и желает углубиться в детали:


    Автор(ы) Название Год Ссылка
    Герб Саттер Решение сложных задач на C++ 2002 https://goo.gl/iWaa6S
    Герб Саттер Новые сложные задачи на C++ 2004 https://goo.gl/4nn512
    Бьерн Страуструп Дизайн и эволюция C++ 1994 https://goo.gl/FqbPwo (для легкого чтения)

  • Отдельные аспекты

    Читать по необходимости:


    Автор(ы) Название Год Описание Ссылка
    Энтони Уильямс Параллельное программирование на C++ в действии 2012 Про использование std::thread
    и других фич последних стандартов
    для разработки многопоточных приложений
    https://goo.gl/qJfBkD
    Николаи Джоссатис C++. Стандартная библиотека 2012 Детальный справочник по STL и
    остальным частям стандартной библиотеки
    https://goo.gl/PEyiMH
    Дэвид Абрахамс и Алексей Гуртовой Шаблонное метапрограммирование на C++ 2009 "Мы встроили в шаблоны C++ функциональный
    язык программирования, чтобы ты мог
    программировать, пока программируешь"
    https://goo.gl/isSt7j
    Дэвид Вандевурд и Николаи Джоссатис Шаблоны C++. Справочник разработчика 2003 После прочтения этой книги тебя не приведут
    в ужас даже исходники boost::MPL
    https://goo.gl/0M4NpG
    Роберт Седжвик Фундаментальные алгоритмы на C++ 2001 Стандартный курс алгоритмов с примерами
    на C++. Для его чтения не нужно знать
    мертвые языки, в отличие от этого вашего Кнута
    https://goo.gl/4jwxSl (части 1-4),
    https://goo.gl/yDuQgG (часть 5)


Другие обучающие материалы

Q: Я не умею читать.
A: Можешь посмотреть какой-нибудь онлайн-курс: раз, два, три

Q: Не люблю, когда льют воду. Хочу коротких материалов по существу.
A: Вот тебе блоги, факи, референсы и всякое такое:

  • Годный блог, в котором все просто и понятно тян не нужны кококок борщ
  • Блог с хорошо расписанными фичами новых стандартов
  • Краткие описания библиотечных функций и контейнеров - на русском или более подробно на ангельском
  • Блог Герба Саттера (на ангельском)
  • Блог Скотта Мейерса (на ангельском)
  • Блог еще одной тянки, много о Qt и оптимизации (на ангельском)
  • Куча других блогов (на ангельском)
  • Большой FAQ по C++ (на ангельском)
  • Видео с CppCon (на ангельском)


Софт и библиотеки

Q: Я готов начать погроммировать! Куда мне писать код?
A: На этапе написания хэллоуворлдов можно не ебаться с установкой софта, а использовать онлайн-компиляторы: раз, два, три, четыре. Для работы над более серьезными вещами удобнее всего установить какую-нибудь IDE. Ниже приведены несколько хороших вариантов:


Платформа Название Описание Ссылка
Windows Microsoft™ Visual Studio® Общепризнанно самая продвинутая и удобная IDE, не имеющая равных по части автодополнения и возможностей отладчика. По ссылкам справа можно скачать бесплатную редакцию последнего выпуска (2015 Community Edition). Кроме того, существуют редакции с расширенными возможностями (Professional и Enterprise). Они стоят сотни денег, но если ты студент вуза, подписанного на Dreamspark Premium, то ты можешь получить их безвоздмездно (то есть даром). Многим новичкам интерфейс студии кажется чересчур сложным, так что обязательно прочти этот гайд, если у тебя возникают проблемы с компиляцией хэллоуворда https://goo.gl/qgAAc6 (русская версия) или
https://goo.gl/WIPW9L (ангельская версия)
Все CodeLite Простая, легковесная, кроссплатформенная, швабодная IDE. Менее навороченная, чем студия, но среди бесплатных вне конкуренции. Вероятно, это наилучший вариант для новичка с *nix. Под Windows же требует чуть больше ебли с установкой компилятора MinGW/LLVM http://codelite.org/,
"sudo aptitude install codelite codelite-plugins"
для установки под *nix
Все CLion IDE, призванная похоронить Visual Studio пока не особо получается. Она стоит денег, но можно украсть почти не протухшую версию на торрентах или получить бесплатную лицензию на год по скану студбилета, если ты студент. Удобные свистелки и перделки присутствуют. Тормоза и баги присутствуют. Кросплатформенность присутствует https://www.jetbrains.com/clion

Здесь ты можешь найти все остальные существующие IDE, если ни одна из вышеперечисленных тебе не приглянулась.

Разумеется, установка IDE вовсе не обязательна. Ты можешь использовать текстовый редактор в связке с каким-нибудь компилятором, выбросить мышку, отрастить бороду и примкнуть к Церкви Святого Столлмана. Но лучше тогда сразу отправляйся в тред сишников, если не хочешь быть обоссанным другими сектантами за использование б-гомерзкого C++.

Q: Не буду я все делать сам! Подавайте сюда софт, который все сделает за меня и подотрет мне жопу!
A: Без проблем:

  • Статический анализатор, который умеет находить в коде ошибки и неоптимальные места. Швабодный. Есть плагин для Visual Studio
  • Более навороченный, но коммерческий аналог
  • Встроенный в clang статический анализатор
  • Детектор утечек для Visual Studio. Предельно прост в прикручивании
  • На порядок более мощная и сложная утилита для *nix, служащая тем же целям
  • Гугловские утилиты для контроля корректности кода
  • Гугловский фреймворк для автоматизации тестирования

Также не стоит забывать о том, что правильные посоны экономят свое время и нервы, используя мегагодные git и cmake во всех проектах.

Q: Мне надоело писать велосипеды, какие у вас тут популярные либы?
Q: Нужно зделать %монструозная_хуйня_нейм, но я обосрался от одной мысли о написании ее с нуля, что же делать?
A: Гляди сюда:

  • boost

    Бесспорно, это самый популярный набор C++-библиотек. Не будет лукавством сказать, что C++ во многом обязан популярностью именно ему. Воистину всеобъемлющий, boost способен удовлетворить твои самые скотские фантазии. В нем есть практически все - от математических функций до сетевых компонент, от инструментов тестирования до динамических типов. Функции для работы с твоей мамашей там тоже есть. Разумеется, все это швабодное и работает на любых платформах. И да, boost является своеобразным инкубатором хороших библиотек, поэтому наиболее удачные из них с большой вероятностью можно будет увидеть после принятия очередного стандарта уже как часть стандартной библиотеки.

    Недостатком boost можно считать его размер - более 300 мегабайт. Большинство компонент boost не являются независимыми, и попытка использовать один единственный контейнер обернется фактическим подключением 2/3 всего присутствующего в комплекте. Таким образом, если boost не будет использоваться на полную, лучше юзать другие, более специализированные библиотеки.

    Литература:


    Автор(ы) Название Год Ссылка
    Ариндам Мукерджи Learning Boost C++ Libraries 2015 https://goo.gl/b0gPN1 (на ангельском)

  • Qt

    Существует швабодный кроссплатформенный фреймворк-надмножество C++ под названием Qt. Он содержит довольно большое количество компонент (для работы с сетью, базами данных, для юнит-тестирования и др.), но киллер-фичей и основным полем его применения являются возможности по разработке графических интерфейсов. Qt сам по себе, как расширение языка, предоставляет для этого более удобные средства, чем обычные библиотеки, а использование специализированных IDE наподобие Qt Creator позволяет в буквальном смысле собирать интерфейсы мышкой, а код писать только по существу.

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

    В настоящее время основные версии Qt - 4.8 и 5.х, полной обратной совместимости между ними нет как в пистоне, ага.

    Литература:


    Автор(ы) Название Год Ссылка
    Макс Шлее Qt 5.3. Профессиональное программирование на C++ 2015 https://goo.gl/aZ66gK
    Макс Шлее Qt 4.8. Профессиональное программирование на C++ 2012 https://goo.gl/Slb1In (книга) +
    https://goo.gl/toUDWc (исходники примеров)
    Марк Саммерфилд Qt. Профессиональное программирование 2011 Только Qt 4.х:
    https://goo.gl/qpkZFm (книга) +
    https://goo.gl/LIIECh (исходники примеров)

  • Другие хорошие библиотеки

    Несколько специализированных библиотек для часто встречающихся задач. Все — маленькие, быстрые и простые в освоении:

    • libcurl - сишная библиотека для работы с сетью (существует также curlpp - крестовая обертка для нее, но использовать ее не стоит, ибо разработка заброшена еще в 2009 году)
    • SFML - работа с графикой и аудио
    • FLTK - графические интерфейсы

    И еще куча библиотек на любой вкус.


Q: Я прочитал все вышеперечисленное, теперь я гуру! Что дальше?
A: Дальше переходишь по ссылке, пробуешь отвечать на вопросы и понимаешь, что ты пока в самом начале пути. Кроличья нора крестов практически бездонна, поэтому продолжать постигать тонкости и детали можно очень и очень долго. В то же время, на этом этапе у тебя должно быть достаточно знаний, чтобы уверенно писать неплохой код. Поэтому читай исходники открытого софта и библиотек, отправляй пулл-реквесты в них, читай книжки по предметным областям и общим методикам разработки, а дальше уже сможешь запилить свой проект или вкатиться в существующий.


Аноним 12/04/16 Втр 21:23:46  714902
>>714898 (OP)
>Концепты? Вам, потомки обезьян,
>За пять лет не осилившие треды?
Но они и правда нужны. Нужнее, чем нетворкинг, фейлсистем и даже чем треды! Типы и работа с ними — это фундамент языков.
Аноним 12/04/16 Втр 21:26:45  714903
14604856051240.jpg (44Кб, 600x402)
Аноним 12/04/16 Втр 21:27:14  714904
В Visual Studio нужно покупать лицензиюдля коммерческого использования?
Аноним 12/04/16 Втр 21:27:57  714906
Concept? The descendants of monkeys,
Five years later, he has not mastered multi-threading?
Yes, if all drunk as Cuba Committee,
It would have sobered the hype!
Red! Modules! Korutin drink!
PIHA all the features does not happen much!
You namaraete hellouvorld one,
And we are - again linker redesign?
Like a pack of mangy dogs for a long time
You know, the question of the dream vacation,
Blindly dreaming about the benefits of shit,
Continue There grinding head.
Of course, the whisper of a deck of cards
And EU-Ok you do hurt,
For you, only that the right to open
In order to go to hell, and deflected to the right?
In vain did the barking! Bjorn and wise and important,
This is to fuck in a language that once was lost.
Kohl does not want to wait for the right moment -
Go to amass one snake eyes.
Аноним 12/04/16 Втр 21:28:28  714909
>>714903
Нужна пикча со Страуструпом в стиле "окружён, но не сломлен".
Аноним 12/04/16 Втр 21:29:36  714910
14604857760530.png (21Кб, 686x356)
Аноним 12/04/16 Втр 21:35:22  714917
>>714904
Нет, конечно. Ты и так платишь дохуища, куда уж больше.
Аноним 12/04/16 Втр 21:37:10  714919
>>714917
Эмм, за что плачу?
Аноним 12/04/16 Втр 21:52:33  714934
>>714904
Если ты пишешь один, то можешь пользоваться бесплатной версией. Покупать надо если в твоей компании будет работать больше пяти человек.
Аноним 12/04/16 Втр 21:53:48  714936
>>714934
Спасибо
Аноним 12/04/16 Втр 22:02:18  714946
>>714898 (OP)
К следующему юбилею подготовишь стишок на английском?
Аноним 12/04/16 Втр 22:02:53  714947
>>714946
>>714906
Аноним 12/04/16 Втр 22:04:20  714949
поясните про модули вместо инклудов и стандарт с++17. Вроде была инфа, что модули пока отложат, но будут пилить потом. Было такое или я придумал?
миможабокодер
Аноним 12/04/16 Втр 22:04:32  714950
>>714947
Это гугл
Аноним 12/04/16 Втр 22:04:57  714952
>>714949
в 20ом
Аноним 12/04/16 Втр 22:07:56  714957
>>714949
НЕ ПРИШЛИ К ОБЩЕМУ ПОНИМАНИЮ
Аноним 12/04/16 Втр 22:09:31  714961
>>714950
Пожалуй, я возьму себе псевдоним Kohl Korutin.
Аноним 12/04/16 Втр 22:12:45  714970
14604883657810.png (435Кб, 1341x385)
>>714961
>Kohl Korutin
Пиздец. Гугл за минуту синдексировал этот тред. Кто это?
Аноним 12/04/16 Втр 22:14:35  714974
>>714970
Всё. Понял.
Аноним 12/04/16 Втр 22:15:02  714976
14604885028910.png (51Кб, 414x346)
>>714970
>Кто это?
Теперь это я.
Аноним 12/04/16 Втр 22:15:36  714977
>>714976
А ты кто такой?
Аноним 12/04/16 Втр 22:16:02  714980
>>714977
Я — Kohl Korutin.
Аноним 12/04/16 Втр 22:17:55  714982
>>714980
Коля Разгулин?
Аноним 12/04/16 Втр 22:18:46  714983
>>714982
Коль Мертвецки.
Аноним 12/04/16 Втр 22:30:54  714998
Двачек, какую IDE лучше поставить на линукс? Есть варианты.
0) Gcc+текстовый редактор. Нахуй IDE.
1) Netbeans.
2) Eclipse.
3) Code::blocks.
Аноним 12/04/16 Втр 22:31:25  715000
>>714998
>3) Code::blocks.
Аноним 12/04/16 Втр 22:32:06  715001
>>714998
ЦЛев
Аноним 12/04/16 Втр 22:32:40  715002
>>715001
удваиваю
Аноним 12/04/16 Втр 22:36:18  715006
>>715001
Бля, расшифруйте
Аноним 12/04/16 Втр 22:36:42  715008
>>715006
а, догнал
Аноним 12/04/16 Втр 22:39:29  715011
>>714998
В шапке все разжевано, ну.
Аноним 12/04/16 Втр 22:40:22  715013
>>715011
Ещё нет.
Аноним 12/04/16 Втр 22:45:46  715018
>>715008
А я не въехал. Девчик?
Аноним 12/04/16 Втр 23:25:39  715079
>>715018
Ааа, лев. Понял.
Аноним 13/04/16 Срд 12:14:09  715378
Как создать матрицу в классе (не объявляя ничего кроме класса в майне) и работать с ней в дальнейшем вне класса?
Если это невозможно, то как лучше реализовать это?
Нужно создать матрицу в отдельном файле в виде класса, что собственно я и сделал, но в дальнейшем необходимо использовать ее в другой функции, описанной в майн. Помимо этого в эту функцию нужно передать размерность матрицы
Аноним 13/04/16 Срд 12:31:35  715387
>>715378
#include "Matrix.h"
Аноним 13/04/16 Срд 12:38:28  715389
>>715387
ты немного не понял меня.

Мне нужно создать матрицу в классе, находящимся в Matrix.h, где пользователь вводит размер матрицы и там же она создается. для этого у меня реализована функция Create();
и в main я пишу
Matrix Data;
Data.Create();
Data.OutPut();

на выходе получаю рабочую матрицу, все заебись, но теперь мне нужно работать с этой матрицей в main не менять ее значения, а просто иметь к ней доступ . Даже элементарно вывести ее через майн, а не через Data.OutPut();

Но я этого сделать не могу, потому что память под нее я выделяю в классе, объявляю там же и в этом же классе пользователь вводит ее размер.
По идее, мне надо ее как-то вернуть из класса. Возможно я не понимаю чего-то
Аноним 13/04/16 Срд 12:40:54  715395
>>715389
Скинь код
Аноним 13/04/16 Срд 12:43:07  715399
>>715395
http://ideone.com/iwf0At
Аноним 13/04/16 Срд 12:46:52  715401
>>715399
Типа cout << data или что?
Аноним 13/04/16 Срд 12:49:06  715405
>>715401
В дальнейшем мне нужно иметь доступ к data. Я опишу функцию в main, которой нужна матрица data и ее размер (employee х position).
Т.е. у меня будет функция, которая принимает значения data, employee, position
Аноним 13/04/16 Срд 12:49:41  715406
>>715399
Или сделай private члены в классе public, или сделай методы, которые эти данные будут изменять/читать, ака геттеры/сеттеры.
Аноним 13/04/16 Срд 12:51:07  715407
>>715405
>>715406
Алсо, нечего пиздить код чужой, жуебок.
Аноним 13/04/16 Срд 12:52:23  715409
>>715405
friend. Либо data сделай public. Либо метод
int getData()
{
return data;
}
Деструктор добавь. А то у тебя утечка.
Аноним 13/04/16 Срд 12:52:42  715410
>>715407
Алсо, непонятно, зачем тебе указатель на указатель. Сделай одномерный массив и обращайся [i*width + j] к её элементам.
Аноним 13/04/16 Срд 12:53:00  715411
>>715409
>int(звезда)(звезда) getData()
Аноним 13/04/16 Срд 13:05:25  715424
>>715409
сделал data public. Теперь в майн все работает, но как ее правильно передать в функцию?
Аноним 13/04/16 Срд 13:07:49  715427
>>715424
Все, разобрался. Спасибо
Аноним 13/04/16 Срд 13:07:54  715428
>>715424
Ой иди в пизду. Пиздец тупой.
Аноним 13/04/16 Срд 13:59:01  715486
>Вопросы по синтаксису идут на хуй
>все треды на 80% состоят из вопросов типа "как передать переменную из класса в функцию"
Аноним 13/04/16 Срд 14:03:33  715494
Ньюфажие итт. Прочитал пару книг, сейчас второй день сижу залипаю на кодингейм, решаю задачки навроде олимпиадных. От таких задач вообще есть толк в изучении языка?
Аноним 13/04/16 Срд 14:12:16  715506
>>715494
Нет.
Аноним 13/04/16 Срд 14:15:13  715511
>>715494
библиотеки изучай
Аноним 13/04/16 Срд 15:57:03  715592
В чем разница между VS Comunity и VS Enterprise?
Аноним 13/04/16 Срд 16:07:08  715599
>>715592
https://www.visualstudio.com/products/compare-visual-studio-2015-products-vs
Аноним 13/04/16 Срд 16:11:40  715604
>>715592
В чем разница между мочой и говном?
Аноним 13/04/16 Срд 16:16:18  715607
>>715604
Ну моча как лимончик на вкус, а говно как земелька.
Аноним 13/04/16 Срд 19:44:57  715888
>>714898 (OP)
Какого хуя вы жабин пулл реквест не принимаете?
https://github.com/pr-hats/2ch.hk-pr-Hats/pull/5
Аноним 13/04/16 Срд 22:08:45  716032
14605745253850.png (31Кб, 523x765)
Поясните, что не так с sort?
Аноним 13/04/16 Срд 22:13:25  716039
>>716032
Лабодаун, зачем ты сюда пришел?
Аноним 13/04/16 Срд 22:19:06  716044
>>716039
Это не лаба, я учусь по учебнику Страуструпа с шапки. У вас тут помогают же, нет?
Аноним 13/04/16 Срд 22:25:48  716052
>>716044
Тебе компилятор явно указал на проблему.
Аноним 13/04/16 Срд 22:35:03  716062
>>716044
>716039
>Это не лаба, я учусь по учебнику Страуструпа с шапки. У вас тут помогают же, нет?
Обращайся почаще к документации на cppreference. Ее же для тебя и пишут
Аноним 13/04/16 Срд 22:49:35  716077
>>716052
>>716062
Ну я оттуда и взял инклуд алгоритм:
http://www.cplusplus.com/reference/algorithm/sort/

Я тут почитал что он пишет, сорт не работает с double?
Аноним 13/04/16 Срд 22:57:55  716094
>>715888
Кто мы-то, этим моча должна заниматься, лол.
Аноним 13/04/16 Срд 23:01:03  716100
>>716077
Ты не правильно вызываешь std::sort по твоей же ссылке есть примеры использования, пусть ты текста не понимаешь.
Аноним 13/04/16 Срд 23:24:23  716127
14605790638920.png (22Кб, 445x147)
>>716100
Просто, в учебнике так.
Вроде разобрался, надо было так:
std::sort(temps.begin(), temps.end());
Аноним 13/04/16 Срд 23:31:08  716139
14605794690290.jpg (26Кб, 305x61)
>>716127
Что-то не так в твоей книге.
Аноним 13/04/16 Срд 23:35:21  716143
>>716139
Странно, почему так? Я качал с рутрекера.
Аноним 13/04/16 Срд 23:37:43  716145
>>716143
>почему так?
Добро пожаловать в волшебный мир переводов специализированной литературы.
Аноним 13/04/16 Срд 23:38:28  716146
>>716145
А где твоя версия книги? В шапке?
Аноним 14/04/16 Чтв 01:26:00  716199
Можно тут немного поныть?

Неужели нет долбанного фриланса для софтовиков, я уже не знаю за что мне взяться, везде сраные индусы, везде анальные ограничения. Не хочу сидеть в офисе и сосать у босса, я могу писать мелкий софт любого характера хоть по 10 баксов за проект. Где найти биржу или людей? Неужели 10 баксов раз в 2-3 дня - слишком много для обычного человека?
Аноним 14/04/16 Чтв 06:19:56  716246
>>714998
2
>>716199
ты мое зеркало анон, но только не ебешься с /dev/videoX
ищу лабы/курсачи за 5$ и делаю. но в начале семестра/практики я сусу хуйца ем ничего
Аноним 14/04/16 Чтв 14:04:21  716489
Поцоны не бейте, лучше обоссыте.
Я только начал изучать c++, написал в консоле калькулятор.
В функции main весь код калькулятора. Как сделать её многоразовой? Калькулятор просчитывает одно действие, выдаёт ответ, а затем работа функции завершается.
По ссылке текст кода, если кому интересно.
http://pastebin.com/pR9X0YFS
Аноним 14/04/16 Чтв 14:14:28  716495
>>716489
labs go to dick
Аноним 14/04/16 Чтв 14:35:41  716512
>>716489
Прочитай первые десять страниц любой книжки по с++.
Это уже даже не смешно.
Тот скриншот про компиляцию в Visual Studio уже даже не кажется фейковым.
Аноним 14/04/16 Чтв 14:52:09  716518
>>714902
Модули реально нужны, а типобезопасность у темплейтов можно и сейчас более-менее навелосипедить.
Аноним 14/04/16 Чтв 14:54:07  716519
>>716495
>goto
Ну зачем ты ньюфагу готовый ответ даешь, пусть сам гуглит, разбирается.
Аноним 14/04/16 Чтв 14:56:18  716520
>>716246
>но только не ебешься с /dev/videoX
О, ты тут. Почему не каешься?
Аноним 14/04/16 Чтв 15:10:12  716525
>>716489
Перед ретурном добавь main();
Аноним 14/04/16 Чтв 15:23:00  716533
>>716518
Да можно и модули навелосипедить, покушать там pimpl и заныкать макросы в анонимные неймспейсы, а ещё написать constexpr функцию которая будет заменять все точки на слеши и сувать всё в кавычки, назвав её "import".
Аноним 14/04/16 Чтв 15:33:06  716541
Ребзя, посоветуйте хороший обучающий курс/статью/книгу по STL.
Аноним 14/04/16 Чтв 15:33:55  716544
>>716541
Животное, в шапку посмотри.
Аноним 14/04/16 Чтв 15:35:58  716545
>>716094
ваши коммиты заезжают даж без пулл реквестов. вы не моча чтоли?
Аноним 14/04/16 Чтв 15:36:18  716546
>>716544
В шапке указаны только книги и два ютьюб-курса одинаковой степени полезности. В книгах много воды, в курсе слишком мало, хотелось бы на самом деле, что-то среднее.
Аноним 14/04/16 Чтв 15:45:06  716550
Возникла идея - классификация программиста по уровню знаний и умений. Например:
"Начинающий - знает основы синтаксиса и STL библиотеку. Умеет писать лабы, что давали в универе" и т.д.

Знающие аноны-программисты можете заполнить такой список? Я только в самом начале пути и было бы интересно послушать опытных анонов.
Аноним 14/04/16 Чтв 15:54:12  716557
>>716550
Нельзя заполнить такой список так, чтобы он был корректным - всё зависит от конкретной предметной области.
Аноним 14/04/16 Чтв 15:57:31  716559
>>716557
Хм.. Но ведь есть какие-то базовые вещи, азы которые знают все программисты? Можете их расписать? Пока у меня складывается впечатление, что вся книга Стэнли Липпмана - это тот минимум, что нужно знать. А книга у него довольно объемная, страниц на тысячу.
Аноним 14/04/16 Чтв 16:00:39  716561
>>716559
Вот например. Знания уровня бичевого стажера.
https://www.google.com/about/careers/students/guide-to-technical-development.html
Аноним 14/04/16 Чтв 16:01:57  716563
>>716533
>Да можно и модули навелосипедить
Компиляция-то от этого не ускорится. Суть модулей, чтобы хидеры не парсить стотыщ раз подряд.
Аноним 14/04/16 Чтв 16:06:01  716568
>>716561
Спасибо за ценную ссылку. Первое впечателние, что это шутка - столько знать. Но кажется я долго смотрел на жизнь в розовых тонах. Буду заделывать бреши в своем образовании.
Аноним 14/04/16 Чтв 16:14:09  716575
>>716563
>Компиляция-то от этого не ускорится. Суть модулей, чтобы хидеры не парсить стотыщ раз подряд.
Ты похоже не знаком с pimpl и предкомпилированными заголовками. Модули велосипедят уже 20 лет, и всем похуй.
Аноним 14/04/16 Чтв 16:34:00  716586
>>716575
Автоматически ты в пимпл все не сконвертишь, плюс не все в принципе можно сделать пимплом. А типизацию у темплейтов можно худо-бедно и сейчас накостылить, причем не слишком сложно.
Аноним 14/04/16 Чтв 16:35:46  716587
>>716561
Знания уровня стажера гугла. Там же так и написано.
Аноним 14/04/16 Чтв 16:38:15  716588
>>716587
И что ты хотел этим сказать?
Аноним 14/04/16 Чтв 17:02:38  716609
>>716588
>Знания уровня бичевого стажера
Аноним 14/04/16 Чтв 17:06:46  716614
>>716609
Это была ирония. Шутка.
Аноним 14/04/16 Чтв 17:33:03  716636
14606443836470.png (21Кб, 436x741)
Небольшой вопрос по памяти:
мы создаем истанс класса а, и вызываем метод, который в свою очередь создает инстанс класса к
несмотря на то, что метод закончил работу, деструктор класса к не вызывается
потом, мы запоминаем адрес пременной типа дабл и удаляем класс а
Потом выводим то, что находится по ссылке, выводится то же число, что и было введено констурктором к - 9.11

Далее, второй случай, допиливаем дестурктор а, где пишем delete k; - все равно, 9.11 остается в памяи процесса

Так вот, вопрос, как рассматривается участок памяти, в котором находится число 9.11 в первом и во втором случае, это все еще алоцированное пространство, или уже нет?
Аноним 14/04/16 Чтв 18:02:27  716675
>>714898 (OP)
Анасики, ждете сопрограммы?
Они ведь в итоге будет в виде async/await или вообще не будут что там в стандарте, брат?
Аноним 14/04/16 Чтв 18:05:00  716679
>>716675
Уже не будут. От слова совсем.
Аноним 14/04/16 Чтв 18:06:35  716684
>>716675
Не решили нихуя, комитетчики посчитали, что мейнстрим — async/await некошер, а они единственные могут сделать правильно, лол. Юзайм буст, в общем, как всегда.
Аноним 14/04/16 Чтв 18:09:51  716687
14606465913740.png (72Кб, 851x829)
Боги c++. Я школьник бывший тут недавно. В задание нужно использовать контейнер map. Сам я погуглил и нихуя не понял.
Идея решения такая.
1) делаем map<string, double> base;
2) как-то забиваем в поле string имя-фамилию, в double, среднее значение
3) выводим 3 худших значения
Не знаю как сделать 2 и 3. Т.к. не знаком с мапом. Помогите мне! Прошу!
Аноним 14/04/16 Чтв 18:12:06  716690
>>716541
Джо Саттис.
Аноним 14/04/16 Чтв 18:19:01  716701
>>716636
> int z[100];
> delete[] z;
r u Sirius?

На вопросы не отвечу, так как не смог понять, кто там на ком сидел.
Аноним 14/04/16 Чтв 18:25:13  716711
>>716687
>1) делаем map<string, double>
map сортирует по первой компоненте. На случай, если ты хочешь эффективно доставать оттуда по минимальному баллу.

С другой стороны, map<double,string> не катит из-за возможных одинаковых средних баллов.
Аноним 14/04/16 Чтв 18:26:02  716712
>>716701
Черт, а как тогда освобождать память таких массивов? Просто, без квадратных скобок?

Суть в том, что я пытаюсь понять, как воспринимается память системой под которую был или не был вызван деструктор.
Есть класс а, в этом классе - подкласс к. Как будет расцениваться выделенная под класс к память если вызывать деструктор класса а с деструктором класса к и без
Аноним 14/04/16 Чтв 18:29:24  716717
>>716712
Никак не освобождать, память под 100 элементов выделится при создании класса и освободится при уничтожении.
Ты же не выделял с помощью new, зачем вызывать delete тогда.
Аноним 14/04/16 Чтв 18:29:37  716718
>>716711
Я не понимаю как заносить туда. Вроде так.
base.insert (pair<string, double>(str, num));
Но как мне взять число если я полностью считал строку?
Аноним 14/04/16 Чтв 18:31:12  716721
>>716718
>Я не понимаю как заносить туда.
string student_naem;
base[student_naem] = mark;

Оператор [] у std::map создаёт новый ключ при обращении. если его ещё не было.
Аноним 14/04/16 Чтв 18:31:18  716722
>>716717
Всмысле не выделял, я динамически не выделял
Создание переменной - аллоцирование памяти под нее, разве нет?
Аноним 14/04/16 Чтв 18:32:03  716724
>>716722
Да. Но delete удаляют явно выделенное с помощью new.
Аноним 14/04/16 Чтв 18:32:55  716727
>>716721
Ясно, а откуда mark тогда взять? Как из строки мне выделить 3 оценки без велосипеда?
Аноним 14/04/16 Чтв 18:36:07  716735
>>716727
А, там всё в одну строку.
Короче, считываешь всю строку с помощью getline.
Оборачиваешь строку в istringstream и вытаскиваешь из stringstream строки с фамилией именем и оценки
см. http://stackoverflow.com/questions/1883056/stdstringstream-to-read-int-and-strings-from-a-string
Аноним 14/04/16 Чтв 18:36:39  716738
>>716724
>удаляют
Я тут и пытаюсь понять, как это все устроено, что и как нужно удалять.
Значения остаются в памяти, их можно спокойно просмотреть по поинтеру. Откуда мне знать что память уже релоцирована, явного деструктроа класса к я же не вызывал?
Аноним 14/04/16 Чтв 18:41:53  716747
>>716636
>Далее, второй случай, допиливаем дестурктор а, где пишем delete k; - все равно, 9.11 остается в памяи процесса
>>716712
Ты вызываешь этот деструктор (удаляешь a) и после используешь r?
Аноним 14/04/16 Чтв 18:43:05  716749
>>716738
При удалении память просто помечается как свободная, все значения в памяти остаются (и могут быть прочитаны) пока память не будет переиспользована для чего-то другого. Поэтому важную инфу в памяти нужно вручную затирать нулями или чем-то случайным. Ситуация как с файлами на жестком диске, если ты понимаешь о чем я.
Аноним 14/04/16 Чтв 18:44:40  716750
>>716749
В том то и дело, что я, блядь, не удаляю память прямо, не вызываю деструкторов, вот и пытаюсь понять что с ней произойдет
Аноним 14/04/16 Чтв 18:51:22  716756
>>716750
В первом случае ты можешь удалить память выделеную под дабл через оставшийся указатель, все остальное утекло (хотя непереносимым пердолингом тоже можно вытащить скорее всего). В втором случае все освобождается (если правильно деструктор написал), добавь в деструктор К обнуление флоата если ты через него проверяешь. По самому факту освобождения флоат не обнулиться.
Аноним 14/04/16 Чтв 18:51:40  716757
>>716735
Я не понял. Я пытался, но не понял. Можешь объяснить?
Аноним 14/04/16 Чтв 18:53:27  716759
>>716757
string buffer;
getline(cin, buffer);
istringstream iss(buffer);

string last, first;
int marks[3];

iss >> last >> first;
iss >> marks[0] >> marks[1] >> marks[2];

Как-то так.
Аноним 14/04/16 Чтв 18:55:46  716761
>>716757
>>716759
Впрочем, достаточно будет из cin считывать, безо всяких stringstream.
Аноним 14/04/16 Чтв 18:56:42  716762
>>716756
Да я понимаю, что освобождение != обнуление, поэтому и спросил тут как оно устроенио
Спасибо, вроде понял
Аноним 14/04/16 Чтв 18:56:54  716763
>>716757
https://ideone.com/cJHqCV
Аноним 14/04/16 Чтв 19:03:02  716767
>>716763
БЛЯ, КАК ВСЕ ПРОСТО, СПАСИБО!
Ток 1 вопрос, разве можно простым cout?
Я так выводил
for (auto it = m.begin(); it != m.end(); ++it)
std::cout << it->first << " : " << it->second << '\n';
Аноним 14/04/16 Чтв 19:20:49  716787
Вот что вышло у меня в итоге, как можно сделать лучше?
http://pastebin.com/MVDxjrLK
Аноним 14/04/16 Чтв 19:26:17  716789
>>716787
а че ты, собсна, хош?
Аноним 14/04/16 Чтв 19:29:47  716791
>>716787
for (auto it:base)
Аноним 14/04/16 Чтв 19:31:50  716794
Посоны, подкиньте, пожалуйста книгу годную по паттернам, именно тем, которые получится применять в C++ и, в целом, про их назначение (конечно, некоторые знаю и использую, но хотелось бы по-полнее).
Аноним 14/04/16 Чтв 19:33:31  716795
>>716791
Тогда надо стрелку на точку менять, правильно?
>>716789
Я привык, что всегда есть более компактное и эффективное, и элегантное, и гибкое решение, но я его не вижу. Вот и спрашиваю, какое оно.
Аноним 14/04/16 Чтв 19:39:44  716804
>>716795
>> for (int i = 0; i != N; ++i)
for ( ; N > 0; --N)

4 байта тебе отжал
Аноним 14/04/16 Чтв 19:41:45  716806
>>716687
Иди нахуй, сука. Заебали со своими лабами, тупые пидарасы. Сначала полгода нихуя не делаете, а потом приходите на двачик со своими имбецильными "плак плак, крестаны, помогите решить лабу) посыпаю голову пеплом)))".

А ГДЕ ТЫ 3 МЕСЯЦА НАЗАД БЫЛ, СУКА? А ЧТО ПОТОМ БУДЕШЬ ДЕЛАТЬ, А, МРАЗЬ? СВОБОДНАЯ КАССА КРИЧАТЬ? ВСЕ ПРАВИЛЬНО ПОНЯЛ?
Аноним 14/04/16 Чтв 19:42:31  716807
>>716794
GoF?
Аноним 14/04/16 Чтв 19:46:12  716813
>>716807
Благодарствую, а еще есть?
Аноним 14/04/16 Чтв 19:46:19  716815
14606523799280.png (189Кб, 2002x832)
>>716546
Какой же ты пиздоглазый. Тебе не надо идти в программисты.
Аноним 14/04/16 Чтв 19:46:51  716817
>>716813
Макконелл, Фаулер.
Аноним 14/04/16 Чтв 19:47:13  716820
>>716806
Что ты блядь несешь еблан? Я пробники нарешиваю, тут задание где ассоциативные контейнеры нужны, я про них не знал, из гугли мало что понял. Логично что я спрошу у кого-нибудь и разберусь, а не буду как конч сидеть и ждать.
Аноним 14/04/16 Чтв 19:47:52  716823
>>716815
Да я ее прочитал уже нахуй
Аноним 14/04/16 Чтв 19:48:18  716825
>>716815
Б л я т ь Спасибо и правда я был невнимателен когда читал шапку.
Аноним 14/04/16 Чтв 19:52:11  716828
>>716820
МНЕ ПОХУЙ БЛЯ КТО ТЫ: СТУДЕНТОМРАЗЬ С ЕБУЧИМИ ЛАБАМИ ИЛИ ШКОЛОГНИЛЬ С ЕБУЧИМ ЕГЭ. КНИГИ И ДОКУМЕНТАЦИЮ ПИШУТ ИМЕННО ДЛЯ ТАКИХ КАК ТЫ, ЧТОБ ТЫ, СУКА, ВЗЯЛ, НАПРИМЕР, ДЖОССАТИСА, ОТКРЫЛ ГЛАВУ ПРО MAP И ПРОЧИТАЛ ВСЕ НАХУЙ: И ТЕОРЕТИЧЕСКОЕ ОПИСАНИЕ, И ИНТЕРФЕЙС, И ПРИМЕРЫ ИСПОЛЬЗОВАНИЯ, ДАЖЕ ПРО НЕБО И АЛЛАХА ТАМ МОЖНО ПРОЧИТАТЬ.

НО НЕТ БЛЯ НАДО НА ДВАЧ ИДТИ И СПРАШИВАТЬ. А ЕСЛИ ИНТЕРНЕТА НЕ БУДЕТ, ЧТО ТЫ БУДЕШЬ ДЕЛАТЬ??? А ЕСЛИ НА РАБОТУ УСТРОИШЬСЯ, ТОЖЕ КУРАТОРА БУДЕШЬ ДОЕБЫВАТЬ ПО КАЖДОЙ МЕЛОЧИ?
Аноним 14/04/16 Чтв 19:57:25  716836
>>716828
> А ЕСЛИ НА РАБОТУ УСТРОИШЬСЯ, ТОЖЕ КУРАТОРА БУДЕШЬ ДОЕБЫВАТЬ ПО КАЖДОЙ МЕЛОЧИ?
Ну уж как конченный даун сидеть и нихуя не понимать я тоже не буду. Для того люди и общаются на определенные темы, чтобы инфу получать. В этом нет ничего зазорного.
> КНИГИ И ДОКУМЕНТАЦИЮ ПИШУТ ИМЕННО ДЛЯ ТАКИХ КАК ТЫ, ЧТОБ ТЫ, СУКА, ВЗЯЛ, НАПРИМЕР, ДЖОССАТИСА, ОТКРЫЛ ГЛАВУ ПРО MAP И ПРОЧИТАЛ ВСЕ НАХУЙ: И ТЕОРЕТИЧЕСКОЕ ОПИСАНИЕ, И ИНТЕРФЕЙС, И ПРИМЕРЫ ИСПОЛЬЗОВАНИЯ, ДАЖЕ ПРО НЕБО И АЛЛАХА ТАМ МОЖНО ПРОЧИТАТЬ
Бля, я прочитал примеры, прочитал про всякое и не было или я не увидел нужного мне и представь Я ПОШЕЛ НА ТЕМАТИЧЕСКУЮ ДОСКУ, В ТЕМУ ГДЕ ОБЩАЮТСЯ НА КОНКРЕТНУЮ ОБЛАСТЬ В ЭТОЙ ТЕМАТИКЕ И СПРОСИЛ ВОПРОС СВЯЗАННЫЙ С ЭТОЙ ОБЛАСТЬЮ, вот же я мудак, пиздец, как посмел, ШЕЛЬМЕЦ!

Даже если взять твои обвинения. Задание я сделал сам, мне нужно было знать только как забить данные в контейнер и все!
Аноним 14/04/16 Чтв 20:04:22  716848
>>716836
>Я ПОШЕЛ НА ТЕМАТИЧЕСКУЮ ДОСКУ, В ТЕМУ ГДЕ ОБЩАЮТСЯ НА КОНКРЕТНУЮ ОБЛАСТЬ В ЭТОЙ ТЕМАТИКЕ И СПРОСИЛ ВОПРОС СВЯЗАННЫЙ С ЭТОЙ ОБЛАСТЬЮ
Ты пошел на тематическую доску, зашел в тематический тред и как настоящий школотрон не прочитал шапку, в которой есть и нужные книги, и народная мудрость:
>Вопросы по синтаксису идут на хуй
>Лабы идут на хуй

В данном случае твой вопрос является чем-то средним. Пойми, бугурт здешних плюсанов не на пустом месте берется. Уже тредов так 5 приходят всякие школотроны вместе с студентотой и спрашивают то, ответы на что уже 300 раз написаны в шапке.
Аноним 14/04/16 Чтв 20:16:28  716866
>>716848
> Ты пошел на тематическую доску, зашел в тематический тред и как настоящий школотрон не прочитал шапку, в которой есть и нужные книги, и народная мудрость:
Читал и книжки у меня скачаны, заходил на стак, ну не нашел я, что блядь мне делать?
Аноним 14/04/16 Чтв 20:33:09  716881
>>716848
Да ладно тебе, братюнь, не горячись. Не всегда мы были опытными и умели искать инфу быстро. В школе этому не учат же. Я вот был в его возрасте гораздо большим долбоебом.
>>716866
Ты просто следуй паре простых рекомендаций:
1. Если твой вопрос формулируется в виде "как сделать X?", то лучше гуглить это, гуглить на английском, смотреть факи, доки, книги, стековерфлоу - что угодно, хранящее инфу, но не спрашивай, блядь, в треде. Тред должен нести пользу читающим его, а не быть забитым вопросами разного уровня глупости. Вопрос, на который есть ответ в книгах из шапки, и тем более гуглящийся, вызовет перебрасывание какашками между тобой и алтфаками, никто в результате не выиграет.
2. Если твой вопрос формулируется в виде "как лучше всего сделать X?", "посоветуйте хороший источник информации про X" etc - вот тогда смело пиши в тренд, будет польза как тебе, так и другим анонам потом.
Аноним 14/04/16 Чтв 22:28:45  717020
Какой библиотекой нынче пользуются для рисования модного гуя?
Аноним 14/04/16 Чтв 22:28:49  717021
>>716520
каюсь ещё
Аноним 14/04/16 Чтв 22:30:02  717023
>>717020
qt fltk
Аноним 14/04/16 Чтв 22:55:23  717064
Товарищи, помогите дебилу, пожалуйста.

http://pastebin.com/RJ6AZRJ4 - cpp
http://pastebin.com/MiF2KEaQ - h

В общем. При любом обращении к xml_writer внутри inc_block софтина вылетает.

Если где-то виднеются косяки - это "боевые раны" - уже чуть ли не брутфорсом - и по ссылке пробовал передавать и по указателю, напрямую обращаться (т.к. один хуй глобальные). Теперь вот таким макаром сделал - одна беда, не хочет и все.

Заранее спасибо
Аноним 14/04/16 Чтв 22:56:35  717066
>>717064
Конкретно тут не доходит до 30 строки, отдает сегфолт.
И во всех вышеперечисленных случаях тоже отдает сегфолт.
Аноним 14/04/16 Чтв 23:05:14  717077
14606643150100.png (16Кб, 462x333)
Студия кормит меня пикрелейтед, когда я удаляю массив из указателей на свою структуру. Что делать?
[CODE]
delete[] data;//здесь происходит пикрелейтед
data = new dial[length];[/CODE]

Аноним 14/04/16 Чтв 23:09:07  717078
Анонусы, а когда создается vtable? При запуске программы или при создании объекта?
Аноним 14/04/16 Чтв 23:12:13  717080
>>717078
implementation dependent. А вообще в compile time
Аноним 14/04/16 Чтв 23:14:18  717083
>>717078
При компиляции. Потому что вызов конкретного метода должен замениться прыжком в эту vtable.

Учи английский, сука
http://stackoverflow.com/questions/3849498/when-is-vtable-in-c-created
>Typically, vtables are structures created at compile time (because they can be determined at compile time). When objects of a particular type are created at runtime they will have a vptr which will be initialized to point at a static vtable at construction time.
Аноним 14/04/16 Чтв 23:14:20  717085
>>717080
>compile time
Ну это понятно. Я не правильно выразился.
В памяти vtable появится при запуске или при создании объекта?
Аноним 14/04/16 Чтв 23:16:00  717086
>>717083
Понял. Сразу в памяти висит.
Аноним 14/04/16 Чтв 23:32:00  717112
>>717066
У тебя не инициализирован xml_writer. Для инициализации членов класса пользуйся предназначеным для этого синтаксисом.
Аноним 15/04/16 Птн 00:13:03  717185
>>716550
https://dev.by/pages/programming_matrix
https://dev.by/pages/programming_matrix_2
Аноним 15/04/16 Птн 01:35:07  717253
Что с веб-программированием на плюсах? Наткнулся на главу в одной книжке, пишется какой-то интерфейс и прочее.
Это актуальо вообще? Требуется где-нибудь?
Аноним 15/04/16 Птн 08:31:25  717348
>>717253
>Требуется где-нибудь?
Гугел, яндекс
Аноним 15/04/16 Птн 08:32:15  717349
>>717085
При запуске.
Аноним 15/04/16 Птн 09:23:03  717365
>>717112

(дубль ссылки: http://pastebin.com/RJ6AZRJ4)

Подожди, но в пятой же строке - разве не инициализация?

Он после нее и отдает адрес устройства в 21ой.

А внутри inc_block он на таком же запросе адреса падает (30 стр.), хотя xml_writer объявлен как глобальный.

Я также пытался его напрямую передать по ссылке и по указателю - ситуация аналогична.
Аноним 15/04/16 Птн 10:04:45  717373
>>717365
Ты объявил локальную переменную xml_writer которую и используешь в конструкторе. А в tms::inc_block() ты пытаешься использовать член класса xml_writer который не инициализирован, судя по тому коду что ты предоставил.
Аноним 15/04/16 Птн 10:06:53  717374
>>717373
Начинаю немного пони мать, сейчас попробую.
Аноним 15/04/16 Птн 10:11:37  717376
>>717374
И вообще, если я не ошибаюсь QXmlStreamWriter занимает 4 байта, нахуя ты пердолишся с указателем на него. Объяви его (в h файле) как QXmlStreamWriter xml_writer; а не QXmlStreamWriter *xml_writer; - он создастся и удалится автоматически.
Аноним 15/04/16 Птн 10:25:33  717385
>>717376
Да я уже и так пробовал, одна куйня.
Аноним 15/04/16 Птн 10:27:11  717386
>>717385
Еще нужно не забыть удалить QXmlStreamWriter *xml_writer = new QXmlStreamWriter;
Аноним 15/04/16 Птн 10:28:04  717387
Надо увеличить размер вектора в два раза и заполнить его дополнительные компоненты слева нулями. Как это сделать проще всего?
Аноним 15/04/16 Птн 10:28:46  717388
>>717386
Там это все пропущено, т.к., как ты уже наверное понял, я тот еще дилетантище.

Сейчас возвращаю fille и xml_writer без указателей, попробую так.
Аноним 15/04/16 Птн 10:29:07  717389
>>717388
(пропущено всм., т.к. я слишком часто все меняю)
Аноним 15/04/16 Птн 10:32:10  717390
>>717387
v.insert(v.end(), v.size(), 0);
Аноним 15/04/16 Птн 10:32:25  717391
>>717386
Все, понял в чем еще косяк был. У меня еще из раза в раз пересоздавался fille (в конструкторе было new QFile).

Просто надо было setFilename вместо этого всего онанизма поставить и все.

Благодарю за помощь, удачи тебе, добрый человек.
Аноним 15/04/16 Птн 13:00:25  717458
Посоны, поясните в чем именно сложность плюсов?
Аноним 15/04/16 Птн 13:52:19  717515
Как найти работу джуном C++?? где искать в ДС? Или забить хуй и учить Джваву??
Аноним 15/04/16 Птн 15:52:39  717632
>>717515
пробни например стажировку в яде, и воообще я сам офигеваю что в hh из вакансий нет по крестам ничего, но стоит взять /dev/vi.., встать с дивана и пробовать!
оформить гитлаб/хаб
просится на работу за ничего но со стажем
решать задачи на тонкости и алгоритмы за пол наносекунды
и через годик-хуёдик вкатится в норм контору с норм зп и уже со стажем за спиной
Аноним 15/04/16 Птн 20:14:13  717870
Посоветуйте годную книжку по DirectX для ньюфага.
Аноним 15/04/16 Птн 22:30:00  717954
Суп, программач. Копаю по тихонечку плюсы такая-то хуита, шо пиздец. и не могу понять, почему этот код не работает. То есть он работает, но операции не выполняются.

int a, b, c;
char x;
cout << "enter a: ";
cin >> a;
cout << "enter b: ";
cin >> b;
cout << "enter operand: ";
cin >> x;

if (x == '+')
{
c = a + b;
}
else if (x == '-')
{
c = a - b;
}
else if (x == '')
{
c = a
b;
}
else if (x == '/')
{
c = a / b;
}

keep_window_open();
Аноним 15/04/16 Птн 22:32:49  717960
>>717954
Не знаю, что случилось с разметкой. Вот код в компиляторе:
http://ideone.com/aZgvXG
Аноним 15/04/16 Птн 22:34:21  717966
>>717954
Все работает и выполняется.
Аноним 15/04/16 Птн 22:35:41  717968
>>717954
А что должно быть?
Аноним 15/04/16 Птн 22:43:30  717976
>>717966
>>717968
Я знаю, что всё работает, но почему результата нет?
Аноним 15/04/16 Птн 22:44:06  717978
>>717976
>>717968
>>717966
Вот я мудак. Вопрос исчерпан.
Аноним 15/04/16 Птн 23:21:55  718020
>>715389
Перегрузи оператор [] и обращайся через Data[j]. Раз у тебя ИНКАПСУЛЯЦИЯ. Чем не вариант? Или сделай поля публичными, раз у тебя там такое "здравствуй-90-е" процедурное программирование.

Ну и пара очевидных советов: запрашивать ввод пользователя внутри функции создающей матрицу -- это плохо. Это раз. Во-вторых данные лучше инициализировать внутри конструктора. Выдумывать для этого отдельную функцию Create не нужно. Вынеси в main запрос ввода размеров и передавай их как параметры внутрь конструктора.
Аноним 15/04/16 Птн 23:25:50  718029
>>716246
Где ищешь лабы/курсачи? Может, поделешься местами? Понимаю, что лишняя конкуренция тебе не нужна, но я бедный студент, и кушать хочется.
Тоже тыкался по биржам, но ничего толкового не нашел. Пытался поискать какие-то тематические группы вконтактике, но они там все анально-огорожены.
Аноним 15/04/16 Птн 23:56:41  718068
>>718029
есть 3 места
0 твой универ
1 типичный программист обсуждения студенты туда бегут сразу пачимута
2 итт/нюфаньтред итт я 6 тредов и видел только одну большую работу за ничего500 р вроде при коде в 800 строк минимум но думаю под сессию раки набегут ппц

найдёшь лабу в 1 и 2 -- попроси студента рассказать паре друзей бездельникам.
кеш забираю мертвыми деньгами. Хватает на пару шавух в неделю и рис с соевым соусом.
зы в планах уйти в html + py + css + js для фрилансов или стажировки пробнуть как тут >>717632
Аноним 16/04/16 Суб 12:29:02  718297
Здравствуйте, лабодрочеры. Понимаю, что ИТТ обсуждаются только лабы и проблемы компиляции одной кнопкой в визуалстудии а не насущные проблемы, но я смею немного обратить на себя ваше внимание.

Собственно - пишу один лексопарсер для автокомплита (дада, yacc и ragel, все дела, но я велосипедист), и для построения AST приходится заниматься множественной копипастой в стиле:

Function(const std::string &name, int argc, const std::string &args) : name_(name), argc_(argc), args_(args)
...
Hui(const std::string &name, int argc, const std::string &args) : name_(name), argc_(argc), args_(args)
...
Pipiska(const std::string &name, int argc, const std::string &args) : name_(name), argc_(argc), args_(args)

Собственно, как это можно красиво завернуть списки инициализации в препроцессор/constexpr? Писать всё руками с последующим рефакторингом - слишком печально, писать отдельный скрипт для кодогенерации в 2076 - тоже некошер.
Аноним 16/04/16 Суб 13:43:29  718341
>>718297
Ну, можно сделать что-то вроде такого:
template <class... Args>
Function(std::initializer_list<Args> args) {
std::tie(name, arg1, arg2, etc) = std::make_tuple(args...);
}

Не проверял, но должно работать
Аноним 16/04/16 Суб 14:06:15  718355
Алоха, антуаны.
Писал спрашивал уже в соседнем треде, теперь и тут спрошу.
Подходят ли кресты под разработку приложений с упором на работу с tcp/ip и чтение/запись в память, работа с указателями и адресами и т.д.?
Аноним 16/04/16 Суб 14:09:31  718357
>>718355
Более чем
Аноним 16/04/16 Суб 14:46:44  718392
>>718020
>"здравствуй-90-е" процедурное программирование
Школьник думает, что ООП изобрели после 90-х. И что с изобретением ООП "процедурное программирование" якобы "устарело" и стало ненужным.
Аноним 16/04/16 Суб 14:49:57  718394
>>718392
Да, забавно, учитывая, что весь хайп ООП - это 80-е. Но вообще он прав, а у вопрощающего пиздец.
Аноним 16/04/16 Суб 14:53:50  718396
>>718394
> весь хайп ООП - это 80-е
Мне казалось (сильно в этом не копался), что всё же начало 90-х.
Открывал когда-то книгу какого-то Бутча от 94-го, что ли, года. Там было типа такого: «вот есть у нас программа-фильтр, которая считывает файл, что-то там с ним делает и выводит. Но это НИСАВРИМЕННО! Надо создать объект "файл" и объект "фильтр" и послать между ними сообщения!»
Плюнул и закрыл. Я думал это техническая литература. А оказалось — на уровне религиозных брошюрок.
Аноним 16/04/16 Суб 14:55:01  718398
ООП старое и такое же говно как и процедурки. Что лучше ООП?
Аноним 16/04/16 Суб 14:55:43  718399
>>718398
Ничто не лучше и не хуже. Для чего-то больше подходит, для чего-то не подходит и всё.
Аноним 16/04/16 Суб 14:55:54  718400
>>718398
ф-ф-ф-ф-функциональщина
Аноним 16/04/16 Суб 14:58:05  718402
>>718297
Не дрочи на "инкапсуляцию" там, где не надо.
Выкини конструкторы и зделой поля паблик.
Аноним 16/04/16 Суб 15:01:27  718404
>>718297
struct Yoba { std::string name; int argc; std::string args };

A(Yoba yoba) : { yoba } {}
B(Yoba yoba) : { yoba } {}
=====================

A({"yoba", 34, "da ty yoba"});
Аноним 16/04/16 Суб 15:01:50  718406
>>718404
fix
A(Yoba yoba) : yoba_{ yoba } {}
Аноним 16/04/16 Суб 15:15:02  718417
>>718398
Пишешь код, выделяешь полиморфные алгоритмы, далее оформляешь их либо в виде шаблонов, что проще, но только в статике, либо в виде интерфейсов, либо в виде, внезапно, tagged union'ов. Об объектах не думай, должны быть [полиморфные] алгоритмы, [полиморфные] структуры данных, конкретный тип полиморфизма нужно определять по месту. Лучше всего в структуре данных иметь только конструкторы и один operator(), тогда твои объекты превратятся по сути в функции на стероидах и их будет очень легко совмещать. Так как 90% кода это трансляторы одних данных в другие, такой подход тебе во многом поможет.
Аноним 16/04/16 Суб 20:41:03  718688
>>718396
Кто страшится всех трудных путей - тот глупец;
Кто, познав их, не видит простого - слепец.
Раз за разом дорогу с умом выбирая;
Быстро к цели идет, обогнав их, мудрец.
Аноним 16/04/16 Суб 22:22:19  718786
>>718355
Ну скорее нет, лучше посмотри в сторону ruby и php.
Аноним 17/04/16 Вск 02:23:29  718901
Что писать в резюме в графе "предыдущий опыт работы", если ты нигде официально не работал, и все что у тебя есть - полсотни багфиксов вговнорепозиториях на гитхабе?
Аноним 17/04/16 Вск 10:15:19  718962
>>718901
"Успешно контрибутил в говнорепы (список говнореп) с целью получения опыта, запилил там то-то, пофиксил несколько сложных багов, и т.д."
Аноним 17/04/16 Вск 11:08:06  718991
14608804862150.png (5Кб, 522x224)
Почему он говорит, что папка отсутствует любая папка, даже корень, даже Аллах?

Мне вообще сюда?
Аноним 17/04/16 Вск 11:54:36  719020
>>718991
Потому что у тебя проблемы с логикой.
Аноним 17/04/16 Вск 12:00:02  719024
>>718991
>говорит, что папка отсутствует
Где?
Аноним 17/04/16 Вск 12:18:50  719033
>>719020
>>719024
С ангельским у меня проблема. Я просто запутался из-за того, что QDir::currentPath() возвращает не путь к директории, где находится исполняемый файл, а на уровень выше, почему-то.
Аноним 17/04/16 Вск 12:36:58  719045
>>719033
> QDir::currentPath() возвращает не путь к директории, где находится исполняемый файл, а на уровень выше, почему-то.

currentPath() возвращает текущую директорию, как очевидно из названия.
А не путь к исполняемому файлу и не "на уровень выше" его.
Аноним 17/04/16 Вск 12:51:23  719064
>>719045
>Returns the absolute path of the application's current directory. The current directory is the last directory set with QDir::setCurrent() or, if that was never called, the directory at which this application was started at by the parent process.

Что понимается под parent process? Компилятор, cmd.exe, .exe моей программы все равно ничего не подходит

Добавил.
QDir::setCurrent(QCoreApplication::applicationDirPath());

Но чтобы это сделать пришлось ради этой одной строки подключать #include <QDir> в main.cpp, что меня немного напрягает, или это нормальная практика и код от этого сильно не увеличится.

И что лучше, сделать как написано выше, или в файле моего класса, где используется <QDir> подключить <QCoreApplication> и в нём установить setCurrent?

Или вообще в main получить applicationDirPath() и передать его в статический метод моего класса?
Аноним 17/04/16 Вск 12:53:48  719069
>>719064
>Что понимается под parent process?
Как обычно, процесс, который породил данный процесс.
Аноним 17/04/16 Вск 12:59:08  719072
>>719069
Ну, если я дважды кликнул на ехе-файле - какой это процесс? explorer.exe?
Почему тогда currentPath() возвращал путь к папке, в которой вообще нет исполняемых файлов?

И там еще второй вопрос.
Аноним 17/04/16 Вск 13:00:54  719075
>>719072
>Ну, если я дважды кликнул на ехе-файле - какой это процесс? explorer.exe?
Где-то около.
> Почему тогда currentPath() возвращал путь к папке, в которой вообще нет исполняемых файлов?
Прям при запуске двойным кликом? Или всё-таки из какого-нибудь QtKreakl?
Аноним 17/04/16 Вск 13:06:22  719082
>>719075
>из какого-нибудь
this. Ясно, магия.

И всё же, второй вопрос в силе.
>Но чтобы это сделать пришлось ради этой одной строки подключать #include <QDir> в main.cpp, что меня немного напрягает, или это нормальная практика и код от этого сильно не увеличится.
>И что лучше, сделать как написано выше, или в файле моего класса, где используется <QDir> подключить <QCoreApplication> и в нём установить setCurrent?
>Или вообще в main получить applicationDirPath() и передать его в статический метод моего класса?
Аноним 17/04/16 Вск 13:09:43  719087
>>719082
>this
Ясно, что IDE пускает как-нибудь так:
cd ProjectDir; exec Debug/app.exe

Поэтому текущая директория оказывается "на уровень выше приложения".

> И всё же, второй вопрос в силе.
ХЗ ваще.
Аноним 17/04/16 Вск 15:33:02  719216
>>719064
> код от этого сильно не увеличится
Зависит от хедера, вообще не должно сильно много увеличится. Если сильно волнуешься и нужна только одна функция можешь попробовать просто ее задекларировать, что-то типа bool QDir::setCurrent(const QString & path); главное чтобы библиотека была прилинкована. Но это так себе способ, так как в хедере может какая-то магия происходить.
Аноним 17/04/16 Вск 15:54:50  719236
>>719064
а тебе не класть на размер кода? главное же размер объектников и конечного экзешника, что благополучно решает линковщик, который выкинет всё лишнее.
Аноним 17/04/16 Вск 16:02:12  719244
Ребят, помогите с лабой одной проблемой. Мне нужны аналоги getch и
kbhit на линукс. Считывание нажатой клавиши и проверку нажата ли клавиша в данный момент.
Аноним 17/04/16 Вск 16:05:13  719248
>>719244
Пошел нахуй, мразь.
используй std::cin.getc()
Аноним 17/04/16 Вск 16:08:32  719252
>>719248
Нажатие кнопки, Карл, не ввод чара. Я типа не для удержания окна, а для дела.
Аноним 17/04/16 Вск 16:23:49  719261
>>719244
man ncurses или man termios(3)
Аноним 17/04/16 Вск 16:53:22  719282
>>719261
> man termios(3)
bash: syntax error near unexpected token `('
новичек, код пашет не так, как хотелось бы Аноним 17/04/16 Вск 16:56:48  719286
14609014084500.jpg (4Кб, 198x118)
14609014084501.jpg (9Кб, 625x320)
#include <iostream>
using namespace std;
int main ()
{
float X,Y;
cout<<"X="; cin>>X;
if (X<-2) Y=-X;
else if (X>0) Y=5-2/3X; <-----не работает конкретно это
else Y=5+1.5
X;
cout <<"Y=" <<Y<< endl;
return 0;
}


Аноним 17/04/16 Вск 16:57:46  719288
>>719286
>2/3
Аноним 17/04/16 Вск 17:12:54  719307
>>719288
спс
Аноним 17/04/16 Вск 17:38:31  719320
Насколько плох/хорош перевод "Программирование. Принципы и практика использования C++" Страуструпа? Обычно читаю на аглицком, но надо как можно быстрее вкатиться на минималку, а на русском я всё-таки раза в 1,5 быстрее читаю и воспринимаю информацию.
Аноним 17/04/16 Вск 18:32:58  719372
Как в Qt сделать так, чтобы при нажатии кнопки вызывалась какая-нибудь функция, которая использует текст из lineEdit'ов ui-формы? Например, она записывает их в файл. Не понимаю, где нужно делать слот и как получать доступ к этим строкам.
Аноним 17/04/16 Вск 18:36:03  719376
>>719372
Давай лучше в грузчики с такой хуйнёй.
Аноним 17/04/16 Вск 19:20:02  719434
14609100028310.jpg (113Кб, 596x604)
Няши, подскажите, где можно почитать про сокеты? Основы я наешел, а вот даже отправку комманд найти не получается. Да и вообще, если я правильно понял, сокеты это единственный вариант соединения шиндоуса и линукса? Такой важны раздел, а ни где нет инфы. Я даже не могу найти, можно ли по сокету передавать объекты типа массивов и т. д.
Аноним 17/04/16 Вск 19:20:47  719438
>>719434
Пздц у тебя каша в голове.
Аноним 17/04/16 Вск 19:24:05  719444
>>719438
4 дня уже не сплю, наверное еще денек и всё, можно отдыхать.
Аноним 17/04/16 Вск 19:56:37  719505
Ребят, тут никто не желает покачать свои педагогические скиллы на практике?
Аноним 17/04/16 Вск 19:57:14  719506
>>719505
Желаю. Предпочитаю физические методы воздействия.
Аноним 17/04/16 Вск 22:08:40  719673
Как правильно создать массив размером graph[m][2]?
Знаю, что можно
[code]
int graph = new int [m];
for(int i = 0; i < m; ++i) {
graph = new int [2];
[/code]
однако в таком случае происходит m выделений памяти, а это долго и может привести к фрагментации. Хотелось бы справиться за одно, а потом раскидать указатели, как тут
[code]
int
graph = new int [m];
graph[0] = new int[2m];
for(int i = 0; i < m; ++i) {
graph =
graph + i(sizeof(int)*2);
}
[/code]
однако этот код не работает
Аноним 17/04/16 Вск 22:25:10  719688
>>719673
Выделение памяти под пару интов – операция на 0,5 мс даже на слабой пеке, получить фрагментацию памяти при такой хуйне можно разве что если одновременно идут какие-то массовые аллокации и то на древней ос (все современные с дефрагментирующими аллокатарами из коробки).

Если так хочется сделать максимально быстро – выделяй постранично системным апи (увеличивая m до размера, который можно выделить таким образом) и раскидывай указатели руками для удобной работы "как с двойным массивом".
Аноним 17/04/16 Вск 22:29:49  719691
[code lang="cpp"]
int test = 7;
int fuck = (int ) malloc(sizeof(int)*test);
[/code]
Аноним 17/04/16 Вск 22:33:41  719695
>>719688
Можешь объяснить почему http://pastebin.com/mgHj7tyb работает?
Аноним 17/04/16 Вск 22:36:39  719697
>>719695
не работает
фикс
Аноним 17/04/16 Вск 22:37:36  719698
>>719695
graph = graph + i(sizeof(int)2);
Одна строка и годы анальных мучений...
Ты лучше сам себе попробуй повторить что ты этим кодом делаешь.
Аноним 18/04/16 Пнд 00:11:52  719758
>>719673
Попробуй https://ideone.com/jyS8c2
Аноним 18/04/16 Пнд 13:16:58  720050
>>715888
Мод уже 9 дней её игнорит хотя 6 дней назад в вашу шапку комитил. чё за хуйня? поясни что попровить
Аноним 18/04/16 Пнд 14:55:10  720104
Анончики, я наверное всех заебал со своими классами только начал их изучать и опять один петушок начнет кукарекать ВОПРОСЫ С СИНТАКСАМИ ИДУТ НАХУЙ такие пидары отбивают все желание учить язык однако прошу совета адекватных анонов:

У меня есть класс, где в паблике я инициализирую матрицу (int data, size) и в этом классе всякие функции для работы с матрицей (заполнение, транспонирование и тд)

В main у меня есть функция, куда нужно передать этот КЛАСС. Не по отдельности ( класс Matrix Data, передаю Data.data, Data.size) а просто передать в нее класс, а в функции работать уже с data, size. Как это сделать? Гуглил и нихуя подобного не нашел, везде инфа про то как передавать функции из классов, а как передать полностью класс?
Аноним 18/04/16 Пнд 15:22:09  720121
Если я покажу вам свой код и задание. Вы скажете эффективно я его выполнил и укажете на ошибки если таковые имеются?
Аноним 18/04/16 Пнд 15:37:38  720140
>>719434
Boost.ASIO
Аноним 18/04/16 Пнд 15:48:33  720147
>>720104
>и опять один петушок начнет кукарекать ВОПРОСЫ С СИНТАКСАМИ ИДУТ НАХУЙ такие пидары отбивают все желание учить язык
Это ты петушок и пидар, раз не можешь открыть нормальную литературу и прочитать ее. Вот для кого страуструп писал книгу? Для таких, как ты. Так что пошел нахуй, чернь.
Аноним 18/04/16 Пнд 15:49:35  720148
>>720121
Если это задание - лаба, пиздуй к лаборантам, им за это деньги платят. Если что-то нетривиальное, то пожалуйста.
Аноним 18/04/16 Пнд 15:52:25  720153
14609839453120.png (56Кб, 879x444)
>>720148
Я уже был тут, моя пидорская егэ параша. Я вроде сделал, вроде все работает. Но я думаю были пути сделать проще и быстрее, и гибче, и красивее ну и так далее
http://pastebin.com/ftu7irpx
Аноним 18/04/16 Пнд 15:57:57  720157
>>720147
вот про него я и говорил. Чувак, я месяц в плюсах, до этого не работал с языками, какой нахуй страуструп? Этот мудень излагает таким образом, что пошел он в пизду со своей книгой.
Покажи мне хоть одного человека, который учился по страуструпу не зная языков?
Моя задача понять азы программирования и вот один из них который я не понял, но ты же сука знаешь, однако подсказать тебе влом, вроде хуй убавится тебе от этого, зато поможешь начинающему анону. Пошел нахуй мудак
Аноним 18/04/16 Пнд 16:00:14  720158
>>720157
> страуструп
Я учился по нему, все понятно, это у тебя проблемы
мимо
Аноним 18/04/16 Пнд 16:01:47  720160
>>720158
я начал с шилтда, ибо он излагает понятным и доступным языком. Это не значит, что до страуструпа не дойдет, я обязательно и его изучу, но не все сразу. Тут бля вопрос элементарный, для знающего анона, но хуй кто поможет
Аноним 18/04/16 Пнд 16:09:55  720165
>>720160
Знающий анон в треде: съеби нахуй с плюсов, это язык не для нюфагов. Ты только замедлишь своё развитие как программиста. Можешь поучить Си если хочется прям основ, но не надо начинать с плюсов.
Тред и без тебя забит такими муделями.
Аноним 18/04/16 Пнд 16:17:09  720172
>>720165
Кстати, из шапки куда-то пропало замечание, что нехуй начинать свой путь программиста с плюсов. Надо бы pull риквест отправить.
Аноним 18/04/16 Пнд 16:21:26  720178
>>720165
>Можешь поучить Си если хочется прям основ
Лучше взять что-то скриптовое типа питона или руби, а потом навернуть Таненбаума с его "Архитектурой компьютера".
Аноним 18/04/16 Пнд 16:29:36  720184
>>720165
ну коли уж начал, нет пути назад. Пиздец, никто не поможет что ли?
Аноним 18/04/16 Пнд 16:31:38  720187
>>720184
>ну коли уж начал, нет пути назад.
Ты дурак? Тебе предстоит путь, длиной больше 500 рабочих часов из которых ты прошел максимум 40. Не страдай хуйней и иди наворачивай python.
Аноним 18/04/16 Пнд 16:32:09  720189
>>720153
Я, конечно, не специалист, но мне кажется ты хуйни понаписал.
Аноним 18/04/16 Пнд 16:37:24  720192
>>720153
Лучше на паскаль перепиши.
Аноним 18/04/16 Пнд 16:37:52  720193
>>720192
Не знаю паскаля
>>720189
Че не так? Логично же. Так эффективно по памяти.
Аноним 18/04/16 Пнд 16:49:06  720203
>>720187
зашел в тред попросить помощи - послали учить другой язык и забить на си. Двач такой двач
Аноним 18/04/16 Пнд 16:54:01  720208
>>720203
>соске не хватает фундаментальных знаний, чтобы осилить документацию
>соска жалуется на то, что отправляют учить основы, вместо того, чтобы давать ситуативные макако-ответы
Мда...
Аноним 18/04/16 Пнд 17:19:43  720219
Хочу тут ваш язык начать изучать. Что скажете о липпмане?
Аноним 18/04/16 Пнд 17:20:09  720220
>>720153
Твоя программа http://ideone.com/uAQpLz обсирается на данном примере:
12
6
14
88
100
8
35
145
4
59
2
84
666
6
Аноним 18/04/16 Пнд 17:23:42  720221
>>720219
Ок, я обосрался это было в шапке, извиняюсь
Аноним 18/04/16 Пнд 17:27:15  720226
>>720160
> Тут бля вопрос элементарный
Ты хуйню какую-то спросил. Я не думаю что кто-то вообще понял твой вопрос. В плюсах нельзя манипулировать классами как самостоятельными сущностями. Поэтому ты не можешь передать в функцию класс. Есть языки где это действительно возможно, но не в плюсах.
Аноним 18/04/16 Пнд 17:38:06  720228
>>720104
Передавай класс по ссылке, в чём проблема?
Аноним 18/04/16 Пнд 17:39:44  720230
Есть смысл изучать плюсы, если до этого максимум что делал это сапер в делфи?
Аноним 18/04/16 Пнд 17:41:31  720232
>>720226
Думаю он пытался спросить про передачу экземпляра класса, но отсылка к питону, все же лучшее решение, чем здесь сидеть и превозмогать шилтда вместе с ним.
Аноним 18/04/16 Пнд 17:42:26  720233
>>720230
Начни с питона лучше.
Аноним 18/04/16 Пнд 17:46:10  720238
>>720220
Ты 13 чисел указываешь
Аноним 18/04/16 Пнд 17:47:41  720241
>>720238
А не, подожди, ща исправлю
Аноним 18/04/16 Пнд 18:05:26  720249
>>720226
у меня в классе есть матрица и переменные - ее размер. Мне надо передать в функцию не отдельно матрицу и переменные, а полностью класс. Это невозможно?
Аноним 18/04/16 Пнд 18:08:06  720252
>>720249
Тебе уже сказали как это сделать, но ты слепой даун. Выйди из треда.

Скрыл дауна.
Аноним 18/04/16 Пнд 18:08:09  720253
>>720241
Вот https://ideone.com/oXLSIw
Аноним 18/04/16 Пнд 18:09:56  720254
>>720249
Закинь код.
Аноним 18/04/16 Пнд 18:10:11  720255
14609922112150.jpg (239Кб, 1959x1959)
>>720252
Как ты его скрыл-то без айдишников, вася?
Аноним 18/04/16 Пнд 18:15:48  720256
>>720253
В условных операторах дохуя сложные условия, можно проще написать.
Аноним 18/04/16 Пнд 18:16:36  720257
>>720256
Как, покажи.
Аноним 18/04/16 Пнд 18:17:41  720258
>>720253
Я все жду когда ж ты уже заметишь, что сумма должна четной быть.
Аноним 18/04/16 Пнд 18:18:42  720259
>>720258
Сумма четна когда оба числа имеют одинаковую четность, у меня есть проверка этого
Аноним 18/04/16 Пнд 18:20:17  720263
>>720255
Скрыл нахуй пост и не парюсь, чо ты.
Аноним 18/04/16 Пнд 18:27:07  720269
>>720259
upd.
Надо скобки добавить в этой строчке
if (num < m01 || num < m02 && num%2==0)
на
if ((num < m01 || num < m02) && num%2==0)
Аноним 18/04/16 Пнд 18:35:14  720281
>>720257
Например, при сохранении твоей структуры программы, ты можешь договориться что одно из двух чисел где ты хранишь минимумы должно быть всегда больше. Тогда в первом сравнении проверяешь четность, во втором сравнении сравниваешь с большим числом, если меньше то перезаписываешь большее число, а потом третим сравнением восстанавливаешь инвариант - проверяешь два числа (которые хранишь), и если нужно меняешь местами, чтобы большее число всегда было большим.
Или можно как-то так сделать https://ideone.com/5KiTT8
Аноним 18/04/16 Пнд 18:39:02  720285
>>720281
Сук, я тупорылый, спасибо
Аноним 18/04/16 Пнд 20:31:04  720393
>>717390
Есть такой кодес: http://pastebin.com/GUaQqdsu

Правильно ли я дополняю вектор нулями, если, например, из вектора (2, 1) в результате дополнения надо получить (2, 1, 0, 0)? Результат свёртки верный, но при вычислениях в конечных полях могут получаться совпадения.
Аноним 18/04/16 Пнд 20:32:09  720397
>>720393
Алсо, правильно ли передавать в convolution векторы по значению, а не по ссылке? Мне нужно, чтобы входные векторы были иммутабельными.
Аноним 18/04/16 Пнд 20:46:11  720420
>>716545
Там ОП в жалобы ломится небось.
Аноним 18/04/16 Пнд 21:01:14  720433
>>720397
Всё, что по размеру больше указателя, желательно передавать по ссылке, желательно константной. Ну или использовать move семантику, опять же, при возможности и если это соответствует ситуации.
Аноним 18/04/16 Пнд 21:33:49  720460
>>720420
>в жалобы ломится
Это чтобы доложить о перекате и что моче пора шапку добавлять.
Аноним 19/04/16 Втр 10:48:58  720791
>>714898 (OP)
А пулл реквесты для шапки треда со стороны принимаются или нет?
Аноним 19/04/16 Втр 11:10:00  720802
планирую перекат из джавы в сабж
плюсы, минусы, подводные камни?
Аноним 19/04/16 Втр 11:11:28  720805
>>720802
денег не будет - 0
Аноним 19/04/16 Втр 11:12:12  720808
>>720802
затрах уровня /dev/videoX -- 2
Аноним 19/04/16 Втр 11:13:15  720810
>>720802
есть куча способов прострелить ногу себе -- 1
Аноним 19/04/16 Втр 11:13:19  720811
>>720805
не поверишь именно из-за этого и планирую
внезапно у большинства крутых фирм востребованы ток плюсы
Аноним 19/04/16 Втр 11:23:12  720819
>>720802
> плюсы
Материализованные генетики, отсутствие зависимости фич языка от версии рантайма на проде.
> минусы
Плюсы нужны только вместе со специфическими знаниями из области применения разрабатываемого софта.
Можно выстрелить себе в ногу в абсолютно пустой, круглой комнате.
Аноним 19/04/16 Втр 11:26:59  720822
>>720808
искупил ли он свой ламеризм или ещё каяться надо?
Аноним 19/04/16 Втр 12:38:32  720873
>>720822
да, искупил ли я ламеризм или каяться? каюсь
Аноним 19/04/16 Втр 12:43:06  720876
>>720811
я о /dev/vi.. отсутствии стажа
Аноним 19/04/16 Втр 15:03:18  720973
Можете пояснить для чего нужны ссылки?
Аноним 19/04/16 Втр 15:08:53  720978
>>720973
ru.wikipedia.org/wiki/Ссылка_(программирование)
Ссылка в программировании — это объект, указывающий на определенные данные, но не хранящий их.
передача в функцию массива например. зачем елозить весь?
или скинуть как параметр функции класс и как-то его менять там как захочешь, а не копировать и обратно скинуть
aноны.. я тоже умею гуглить за анона-школьника, прощайте уже за /dev/videoХ
Аноним 19/04/16 Втр 15:18:29  720991
Там микрософт раздает полугодовую подписку на pluralsight.com никто их курсы по крестам не проходил? Стоит на них время тратить?
Аноним 19/04/16 Втр 15:20:05  720993
>>720991
Зачем курс, если есть книги?
Аноним 19/04/16 Втр 15:33:33  721004
>>720993
Тоже верно.
Аноним 19/04/16 Втр 15:33:42  721005
14610692224640.jpg (105Кб, 603x324)
Аноним 19/04/16 Втр 15:51:46  721019
>>720811
>внезапно у большинства крутых фирм востребованы ток плюсы
>
линк на крутые фирмы
Аноним 19/04/16 Втр 15:56:20  721021
>>721005
здоровый сука
Аноним 19/04/16 Втр 16:10:50  721028
Не гоните ссаными тряпками, поясните чем обращение к значению отличается от обращения к адресу?
Аноним 19/04/16 Втр 16:20:55  721035
>>721028
Ты наверное имеешь в виду, передача аргументов функции по значению и по ссылке. Если значение передается по значению, то копируется его значение, откуда и такое название. Следовательно, внутри функции своя копия данной переменной и если ты изменяешь ее внутри функции, наружу изменения не попадают. Передача по ссылке передает в функцию не копию, а саму переменную, размещенную по определенному адресу в памяти. Следовательно ты сможешь менять значение этой переменной прямо в функции и изменения вылезут наружу.
Аноним 19/04/16 Втр 17:27:19  721105
А почему в шапке нет Core Guidelines? Аноны решили что они говно?
Аноним 19/04/16 Втр 17:36:15  721110
>>720973
Сначала размудим терминологию: есть указатели, и есть ссылки. (разницу сам гугли, шкальник)
Ссылки нужны там же, где и указатели, просто они безопаснее. /t
Аноним 19/04/16 Втр 17:40:02  721117
>>721110
> шкальник
Это плохо?
Аноним 19/04/16 Втр 18:10:55  721139
>>721105
Еще небыло РЕЛИЗА.
Аноним 19/04/16 Втр 21:42:24  721342
>>720791
По сути сейчас мод этим заведует. Но раньше мы всегда принимали нормальные предложения по модификации шапки кроме Дейтелов агагагагаг, так что вряд ли ты встретишь копротивление.
Аноним 19/04/16 Втр 21:44:30  721343
>>720991
Тю, она и так бесплатная по Dreamspark же. Алсо, если кто из анонов трогал pluralsight, поделитесь впечатлениями, будьте няшами. Я не уверен, стоит ли тратить время на них.
Аноним 19/04/16 Втр 22:06:11  721354
Кто-нибудь пишет на крестах на линуксе?
Как на нём создать исполняемый файл и апустить его?
Аноним 19/04/16 Втр 22:12:24  721359
>>721354
man gcc
Аноним 19/04/16 Втр 22:53:38  721382
>>721354
Опишу простой случай, когда у тебя один файл с исходным кодом и функцией main в ней:
g++ <имя файла с исходным кодом> -o <имя запускаемого файла>
Аноним 19/04/16 Втр 22:54:43  721383
>>721382
Я уже загуглил, но всё равно спасибо.
Аноним 19/04/16 Втр 22:55:44  721386
>>721342
Ага. Понял. Спасибо за ответ :).
Аноним 19/04/16 Втр 22:57:33  721387
>>721354
>>721383
Давайте таких тоже нахуй посылать. Только придумайте им название.
Аноним 20/04/16 Срд 00:39:06  721461
>>721387
> Только придумайте им название.
Пердолики))00
Аноним 20/04/16 Срд 00:42:14  721465
>>721382
> g++ <имя файла с исходным кодом> -o <имя запускаемого файла>
АААААА СЛОЖНААААА!!!!

Просто ведь:
make <имя файла с исходным кодом, без расширения>
Аноним 20/04/16 Срд 00:58:08  721474
>>721110
>Ссылки нужны там же, где и указатели
Ссылки нужны там же, где и значения
на самом деле не так и не так
Аноним 20/04/16 Срд 00:59:55  721476
>>720978
>передача в функцию массива например. зачем елозить весь?
Тут ссылки не при чём, массивы распадаются до указателей ещё со времён C.
Аноним 20/04/16 Срд 01:01:16  721477
Кто-нибудь костылировал на Qt3D? Есть ли рабочие семплы QLookAtTransform?
Аноним 20/04/16 Срд 01:01:37  721478
>>720973
https://isocpp.org/wiki/faq/references#overview-refs
Аноним 20/04/16 Срд 01:56:04  721491
>>721465
А Makefile ты написал, лолка?
Аноним 20/04/16 Срд 01:58:14  721492
>>721491
Нет, а зачем, лолка?
Аноним 20/04/16 Срд 02:01:46  721496
>>721492
Ах, прости, не знал про implicit rules.
Аноним 20/04/16 Срд 02:03:07  721497
>>721476
не вспоминаю про эти ебаные С-массивы уже года 4. Прям с того момента, когда с этой ебатой познакомился.
Аноним 20/04/16 Срд 02:05:30  721498
>>721491
Тебя-то я и ждал, кстати.
Аноним 20/04/16 Срд 10:42:43  721601
>>721465
>make <имя файла с исходным кодом, без расширения>
Вводить конечно проще, но не понятно, что за этим стоит, если не знаешь как работают implicit rules
Аноним 20/04/16 Срд 11:41:49  721629
>>721491
#Copyright (c) 2016, /dev/videoX простите меня уже
#All rights reserved.
#
#Redistribution and use in source and binary forms, with or without
#modification, are permitted provided that the following conditions are met:
#
# Redistributions of source code must retain the above copyright notice, this
# list of conditions and the following disclaimer.
#
#
Redistributions in binary form must reproduce the above copyright notice,
# this list of conditions and the following disclaimer in the documentation
# and/or other materials provided with the distribution.

#* Neither the name of oilwater nor the names of its
# contributors may be used to endorse or promote products derived from
# this software without specific prior written permission.

# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

CXX = clang gcc-48 или что там у тебя
OBJS = main.o etc..

CFLAGS =
LDFLAGS =

LIBS =

TARGET = my_cancer_programm_kokoko

$(TARGET): $(OBJS)
$(CXX) $(OBJS) $(CFLAGS) $(LDFLAGS) $(LIBS) -o $(TARGET)

all: $(TARGET)

clean:
rm $(OBJS)
Аноним 20/04/16 Срд 12:59:34  721680
спасибо, модер
CLion end of file Аноним 20/04/16 Срд 14:42:08  721749
14611525282840.png (70Кб, 1362x717)
14611525282861.png (27Кб, 1343x259)
Я понимаю, что вопрос охуительный конечно, но у меня проблема -- не могу послать EOF встроенной консольке в CLion. Есть вот такой код: http://ideone.com/bWCnHZ
При компиляции через g++ руками все работает нормально, на ideone тоже, а вот во встроенном окошке в иде нихуя, пикрелейтед. Ctrl-D просто останавливает программу и все.
Аноним 20/04/16 Срд 15:42:48  721788
>>721749
Кек.
Аноним 20/04/16 Срд 15:44:00  721789
>>721788

Ну да, я тупой.
Аноним 20/04/16 Срд 15:44:49  721790
>>721789
Да не, ты не один с такой проблемой.
Видимо, в clion не послать EOF neekaque
Аноним 20/04/16 Срд 15:47:00  721792
>>721790

Может им в багтрекер написать? Я искал подобное у них там, вроде нет.
Но я тащемта действительно тупой и не смогу нормально описать, в чем проблема, если кто-нибудь сделает это за меня-ленивого, буду благодарен. Пока буду из файла читать, раз уж так.
Аноним 20/04/16 Срд 15:51:52  721796
>>721792
>Пока буду из файла читать, раз уж так.
Поставь проверку и выходи из цикла, если введена например 'Q'.
Аноним 20/04/16 Срд 16:18:55  721817
Поясните, а чем нейросети кардинально отличаются от дженерик процессоров, что на них легче ии делать? Я не совсем понимаю...
Аноним 20/04/16 Срд 17:46:39  721884
>>721817
>дженерик процессор
Что ты имеешь ввиду?
Аноним 20/04/16 Срд 17:54:52  721888
Изучаю тут спп по книге липпмана, дошел до указателей, и что то сложно, может есть где то более понятное обхяснение темы?
Аноним 20/04/16 Срд 17:55:43  721889
>>721884
Может я что-то не понимаю, но нейросети заменяют процессоры в рассчитывании ИИ, так?
Аноним 20/04/16 Срд 17:57:12  721890
>>721888
Асм.
Аноним 20/04/16 Срд 18:17:21  721907
>>721889
Нет. Нейросеть (в современном воплощении) это алгоритм который просчитывается на процессоре. Нейросеть может быть реализована апаратно (как и любой другой алгоритм) - но тут профит в эффективности (процессор универсальное устройство менее эффективен чем специализированая схема), а не в кардинальных отличиях коих нет.
Аноним 20/04/16 Срд 18:43:51  721937
>>721890
Что прости?
Аноним 20/04/16 Срд 18:52:53  721945
>>721937
ass embler
Аноним 20/04/16 Срд 18:56:31  721953
>>721945
И какое это имеет отношение к моему вопросу?
Аноним 20/04/16 Срд 18:58:04  721956
>>721953
Ну может поймёшь укозатели.
Аноним 20/04/16 Срд 19:39:53  721987
Долго тред плавает. Что с ним?
Аноним 20/04/16 Срд 20:12:46  722029
>>721987
Пора лаб закончилась.
Аноним 20/04/16 Срд 21:07:19  722067
Есть какой-то софт для упрощения процесса поиска утечек памяти?
Аноним 20/04/16 Срд 21:08:08  722068
Вот прочитал статью: https://habrahabr.ru/post/282065/
Буду учить С++ и ОПЕНГЛ, стоит того?
Аноним 20/04/16 Срд 21:08:10  722069
>>722067
Есть.
Аноним 20/04/16 Срд 21:10:03  722070
>>722069
Назовёшь его?
Аноним 20/04/16 Срд 21:10:29  722071
>>722070
valgrind
сам не пользовался
Аноним 20/04/16 Срд 21:11:37  722072
>>722071
Бля, часто слышал, а вон оно что, оказывается.
Спасибо-спасибо...
Аноним 20/04/16 Срд 21:18:10  722077
>>722072
Статический анализатор шланга вроде тоже умеет потенциальные утечки проявлять.
Аноним 20/04/16 Срд 21:25:10  722086
>>722071
Двачую этого.
Точнее, valgrind - это куча утилит. В том числе memcheck для поиска утечек.
Ещё там же есть helgrind, для поиска race condition.
Крутая, в общем, штука, рекомендую.
Аноним 20/04/16 Срд 21:27:35  722093
>>722068
С того момента, как ты начнешь учить плюсы, до того момента, когда ты сможешь сделать что-то адекватное в опенгл, пройдет очень много времени, поверь.
Аноним 20/04/16 Срд 22:00:38  722117
>>722086
Там еще профайлер есть callgrind, обожаю его. Вообще я пользуюсь valgrind чаще, чем отладчиком - для мелких проблем логи помогают, для крупных отладчик уже дает слишком мало информации.
Аноним 20/04/16 Срд 22:14:16  722126
>>722086
Чем больше учишь программирование - тем больше понимаешь, насколько много еще неизвестной информации и сколько жопочасов нужно, для того чтобы изучить хотя бы то, что в пределах видимости до горизонта.
Аноним 20/04/16 Срд 22:15:42  722127
>>722126
Хотя, так в любой сфере объемной, наверное.
Аноним 20/04/16 Срд 22:43:17  722159
>>722068
Нахуя? Чтобы делать игрули лучше взять юнити или что-то подобное. Кресты выбирают те, кто точно знает что им от них нужно.
Аноним 20/04/16 Срд 22:45:30  722160
>>722159
Что-то подобное это UE, там как раз кресты нужны, кстати.
Аноним 21/04/16 Чтв 10:16:42  722449
страус жив? просто везде пишут что он труп
Аноним 21/04/16 Чтв 10:21:09  722453
>>722159
шмунити только на винду, вот почему
Аноним 21/04/16 Чтв 12:02:13  722487
>>722068
Не верь ему >>722093
За неделю 2d платформер изи сделаешь
Аноним 21/04/16 Чтв 14:05:22  722555
>>722453

Лолшто?
Аноним 21/04/16 Чтв 14:07:19  722558
>>722555
Он, видимо, про разработку. Там венда и ябблоось.
Аноним 21/04/16 Чтв 14:14:04  722568
Аноны, не могу понять чем constexpr отличается от const. Объясните
Аноним 21/04/16 Чтв 14:30:39  722588
>>722568
const указывает что переменная не может быть изменена после инициализации. Само значение переменной может вычисляться в любое время, в том числе в рантайме, в том числе исключительно в рантайме (тоесть ов время компиляции его вычислить невозможно). constexpr указывает что значение переменной можно вычислить во время компиляции, и оно будет вычислено если где-то побтребуется компилятору (а может и всегда, хуй знает). В рантайме разницы между ними нет, кроме того что значение constexpr будет с большой вероятностью заинлайнено, а если нет то будет храниться (скорее всего) в статической памяти, а const может быть где угодно.
Аноним 21/04/16 Чтв 14:30:58  722589
>>722568
const - постоянная в рантайме, constexpr - во время компиляции. То есть, constexpr выражения могут быть параметром шаблона, размером массива и т.д.
Аноним 21/04/16 Чтв 15:26:59  722644
Почему указатели такие сложные?
Аноним 21/04/16 Чтв 15:29:41  722648
>>722644
Потому, КАРИНОЧКА, что их зачем-то зделоли арифметическим типом данных.
Дальше сама.
Аноним 21/04/16 Чтв 16:23:42  722705
Чем плох учебник Дейтелов?
Аноним 21/04/16 Чтв 16:35:00  722723
>>722644
Указатели простые, это ты туповат.
Аноним 21/04/16 Чтв 16:53:06  722737
>>722723
Двачую этого.
Аноним 21/04/16 Чтв 17:14:52  722758
>>722723
Это постфактум так кажется. Так-то даже Джоэль писал, что в курсе CS101 большинству это сложно.
Аноним 21/04/16 Чтв 17:15:56  722760
>>722067
Блядь, в шапке про это подробнейшим образом написано, читай шапку, сука.
Аноним 21/04/16 Чтв 17:16:32  722762
>>722758
>Джоэль
Этот петух использует уродливый UTF16 и гордится этим. Стоит ли его слушать, или лучше усомниться в его адекватности?
Аноним 21/04/16 Чтв 17:17:22  722763
>>722589
Инициализированные const тоже могут, лол. Раньше так и писали, когда не было constexpr.
Аноним 21/04/16 Чтв 17:19:14  722766
>>722762
В опыте-то ему не откажешь. Все эти приебнутости типа проповедования венгерской нотации не возникнут у диванного никогда.
Аноним 21/04/16 Чтв 17:21:03  722768
14612484632200.jpg (76Кб, 604x530)
Сап, программач. Попытаюсь максимально ясно поставить вопрос.

У меня есть такая конструкция:
template<class TYPE, unsigned int COUNT> class Yoba{};

Как мне в классе Yoba сделать функцию, у которой будет ровно COUNT параметров типа TYPE? Без буста и прочих Qt.
Аноним 21/04/16 Чтв 17:23:49  722770
Грубо говоря, вот когда ты пытаешься вкатиться в функциональную парадигму с рекурсивными схемами вместо циклов, то тебе как минимум какое-то время некомфортно, потому что это совершенно чуждый традиционному подход. А в то же время понять эту ебалу, принципиально понимая суть рекурсии, гораздо проще, чем разобраться в указателях, стеке и прочих кажущихся очевидными идеях тому, кто вообще про это не слышал.
Аноним 21/04/16 Чтв 17:27:58  722773
>>722768
Обострение?
Аноним 21/04/16 Чтв 17:29:12  722774
>>722558
да и на /dev/vi.. FreeBSD не особо играбильна
Аноним 21/04/16 Чтв 17:29:37  722775
>>722768
Разноименных - никак. Точнее, можно сделать костыль на макросах, но тогда ты получишь уже не инстанс шаблона, а макрогенерируемый класс, в котором как будто вручную вбиты все эти имена членов. Еще можно сделать как в std::tuple, когда у тебя есть одна копия параметра и еще один Yoba с COUNT-1 внутри. Одноименных - элементарно через std::array <TYPE, COUNT> my_mommas; или аналогично через TYPE my_mommas [COUNT]; если любишь сишные массивы.
Аноним 21/04/16 Чтв 17:30:13  722777
>>722770
Хвостовая рекурсия - это старый подход который называется goto. И он не "чужд традиционному", а просто черезжопный.
Аноним 21/04/16 Чтв 17:31:23  722779
>>722777
Я не про хвостовую рекурсию же, а глобально. Анаморфизмы, параморфизмы, катаморфизмы, хиломорфизмы, наконец.
Аноним 21/04/16 Чтв 17:31:40  722780
>>722768
А обычную вариативную функцию не?
Аноним 21/04/16 Чтв 17:34:42  722782
>>722780
И через static_assert давать пизды за неправильное количество аргументов?

>>722775
А передавать их потом как? Через вот такие {} скобки?

>>722773
Упорол кислоты и наполнился охуительными идеями, которые сейчас реализовываю.
Аноним 21/04/16 Чтв 17:44:10  722795
>>722768
Вариадик темплейтом. И статик ассертом проверять количество аргументов.
Аноним 21/04/16 Чтв 17:46:38  722797
>>722795
А как это сделать для лямбда-выражений?
Ну, то есть я передаю лямбда-функцию в конструктор, и она должна удовлетворять шаблону класса. Например, у неё должно быть 3 элемента с типом double.
Аноним 21/04/16 Чтв 18:19:18  722825
>>722797
http://cpp.sh/9b7a
Аноним 21/04/16 Чтв 18:25:43  722831
>>722825
Да, так я хотел сделать, но потом вспомнил, что мне нужно передавать функцию именно в конструктор. А для конструктора шаблон сделать нельзя.Или можно?
Аноним 21/04/16 Чтв 18:28:04  722834
>>722831
http://cpp.sh/6wie
Можно. Конструктор - тоже функция.
Аноним 21/04/16 Чтв 18:29:17  722837
>>722779
Глобально в функциональном программировании использование явной рекурсии считается зашкваром. А не использование (например, in-place quicksort через runST) не считается до тех пор, пока твоя функция чистая с внешней стороны.
Аноним 21/04/16 Чтв 18:29:53  722838
>>722834
Вот это да, лол. Спасибо, анон. Нельзя читать стаковерфлоу по-диагонали и делать из этого такие прочные выводы.
Аноним 21/04/16 Чтв 18:43:52  722860
>>722831
> А для конструктора шаблон сделать нельзя.
http://en.cppreference.com/w/cpp/memory/unique_ptr/unique_ptr (6)-й и (7)-й конструкторы вполне себе шаблонные.
Аноним 21/04/16 Чтв 18:46:18  722864
Подскажите такую вещь:
Надо сделать перебор чисел до заданного значения, и в реализации использовать наследование и полиформизм.
Не могу понять, где тут надо использовать классы?
Аноним 21/04/16 Чтв 18:50:18  722867
>>722864
Задание говно, поэтому наследуй от вектора и перегружай какую-нибудь его функцию с нужным результатом.
Аноним 21/04/16 Чтв 19:51:55  722968
14612575155760.jpg (24Кб, 320x301)
>>722867
> наследуй от вектора
Аноним 21/04/16 Чтв 19:54:17  722971
Господа, мне предлагают хуячить новый проект на 2008 студии с помощью MFC. Мне соглашаться? И, так как я пишу на linux и не в теме о MS VS, скажите, на старые студии выпускают обновления компилятора? А то мне страшно.
Аноним 21/04/16 Чтв 19:56:55  722980
>>722867
>поэтому наследуй от вектора
Но вроде как не рекомендуют наследовать от stl классов?

Аноним 21/04/16 Чтв 20:18:09  722996
>>722971
Поясняю за положняк.
MSVS 2015 - OCHE HOROSHY IDE
MSVS 2013 - HOROSHY IDE
MSVS 2010 - NORMALNY IDE
MSVS 2008 - PLOHOY STARY IDE
MFC - SOVSE MERTVO GOVNO
>на старые студии выпускают обновления компилятора?
NIET
Аноним 21/04/16 Чтв 20:20:41  722998
>>722864
Может способ перебора должен быть разным? Типа от 0 до N, от N до 0, рандомный выбор, и т. п.? Тогда можно запихнуть наследование и полиморфизм.
Аноним 21/04/16 Чтв 20:26:16  723002
>>722864
Бля, ну поучись у джавистов, как они делают. Например, делаешь mixin-класс для синглтонов, через CRTP от него наследуешь шаблон объектного пула. Делаешь конкретную фабрику переборщиков, ее наследуешь от абстрактной фабрики переборщиков. В абстрактном интерфейсе фабрики делаешь метод, возвращающий умный указатель на абстрактный интерфейс переборщика. От этого интерфейса наследуешь конкретный класс переборщика и реализуешь в нем метод перебора. Создаешь инстанс шаблона объектного пула, который содержит умные указатели на абстрактные интерфейсы твоих фабрик, при старте программы создаешь и добавляешь в пул конкретную фабрику. Покрываешь все классы тестами, профилируешь, генеришь документацию к каждому методу и классу из комментариев.
Аноним 21/04/16 Чтв 20:46:01  723016
>>722998
>Может способ перебора должен быть разным? Типа от 0 до N, от N до 0, рандомный выбор, и т. п.? Тогда можно запихнуть наследование и полиморфизм
ХЗ.
Вообще задание звучит так: написать брут для мыла. Использовать наследование и полиформизм, stl, raii.
Я нацарапал реализацию циклами для 6, 7 и 8 знаков, а как сделать перебор классами с наследованием не имею понятия.
Можно еще кодировку в base64 запихнуть в отдельный класс, но опять же не понимаю зачем - тем более, что наследовать там нечего и некому.

Аноним 21/04/16 Чтв 20:46:53  723017
>>723002
Двачую этого. Всегда так делаю.
и не лень тебе это было выдумывать, наркоман?
Аноним 21/04/16 Чтв 21:10:42  723029
>>722996
Эй, есть тут страдальцы, которые до сих пор пидорят легаси на VS 2008? Поделитесь тем, как это больно, пожалуйста.
Аноним 21/04/16 Чтв 21:14:32  723031
>>723002
Кстати, вот:
https://github.com/EnterpriseQualityCoding/FizzBuzzEnterpriseEdition
Аноним 21/04/16 Чтв 21:49:26  723046
14612645665900.png (43Кб, 1099x635)
Знаю , что получу пиздюлей за доебавший вас вопрос возможно , но не знаю где спросить кроме родного двоща.
смотрите пикрл
При компилировании х86 , все норм.
При компилировании х64 , хуева туча ошибок.
SDK все стоят , гуглоебил ошибку не помогло
что посоветуете? Я НЬЮФАГ В СИШКЕ И НЕ ХОЧУ ЗАБРАСЫВАТЬ , ПРОШУ ПОМОЩИ , РОДНЫЕ.
Аноним 21/04/16 Чтв 21:51:20  723049
>>723046
>При компилировании х86 , все норм.
>При компилировании х64 , хуева туча ошибок
у х86 и х64 разные адреса, может быть из-за этого.
Аноним 21/04/16 Чтв 21:51:55  723050
>>723049
Подскажи , как это фиксить? Что читать?
Аноним 21/04/16 Чтв 21:56:15  723053
Двачик, скажи, что изучить по QT? Что лучше читать на Великом и Могучем (Популярный и Простой осилил слабо)
Аноним 21/04/16 Чтв 21:58:16  723057
>>723017
Это таки не выдумка, а реалии проекта, который я пилил год назад. Только там это было более оправданным.
Аноним 21/04/16 Чтв 21:59:30  723058
>>723046
Посмотри настройки компилятора, там скорее всего разные для разных систем. В х64 что-то не подключено, или не правильно подключено.
Аноним 21/04/16 Чтв 22:02:12  723059
>>723031
Бля, это охуенно. Схоронил.
Аноним 21/04/16 Чтв 22:02:40  723061
>>723053
Документацию. Лучше ничего нет, поверь.
Ну и плюс у Qt очень богатая база примеров
Аноним 21/04/16 Чтв 22:04:22  723062
>>723053
Шлее, наверное. Хз есть ли годные переводы. Лучше уж заморочиться и читать на инглише.
Аноним 21/04/16 Чтв 22:06:50  723064
>>723058
Я не знаю как это сделать
Аноним 21/04/16 Чтв 22:08:53  723065
>>723046
>>723046
>>723046
Может я попробую дать кому нибудь сурс и попробует скомпилировать в х64 на своем пука?

https://vk.com/id344029047
Аноним 21/04/16 Чтв 22:21:15  723068
>>723050
Без понятия.
Пиши под одну систему изначально.
Аноним 21/04/16 Чтв 23:18:14  723121
>>723050
Не слушай его, он херню несет.
Скорее всего, у тебя для компиляции под x86 прописаны пути, а под x64 - нет.
Полазь по настройкам, погугли, как подключать библиотеки, проверь, чтобы всё ок было.
Аноним 21/04/16 Чтв 23:46:04  723145
>>723065
Зачем тебе x64, если gta:sa x32? Съеби.
Аноним 21/04/16 Чтв 23:48:01  723147
>>723145
Чтобы можно было скушать больше памяти, очевидно же
Аноним 22/04/16 Птн 00:02:16  723159
>>723147
Ты как собрался в 32-битный процесс инжектить 64-битную либу?
Аноним 22/04/16 Птн 00:05:35  723161
>>723159
Это не я, это он
Аноним 22/04/16 Птн 12:31:16  723436
хело посаны, продолжаю читать страуса жопой.
У всех конструкторов возвращается неявно this?
Читаю сейчас про копирующий конструктор, немного не понял этой ситуации.
Аноним 22/04/16 Птн 12:35:08  723437
>>723436
И в догонку, почему нельзя было сделать так же с присваиванием?
Ну чтобы можно было не делать так:
Class& operator=(const Class& c)
{
// copy
return this;
}
Или меня это ебать не должно?
Аноним 22/04/16 Птн 12:47:10  723450
>>723436
Ссылка же возвращается, если вообще что-то возвращается. Нихуя не понятно что тебя смущает.
Аноним 22/04/16 Птн 12:48:50  723452
>>723029
Пишу на MFC на VS98. Терпимо, к тому же Visual Assist есть
Аноним 22/04/16 Птн 12:52:18  723456
>>723450
Ну в конструкторах она неявно возвращается, так?
Просто смутило то, что в присвоении это сделано явно, хотя операции похожи. (Создание объекта и присвоение)
Аноним 22/04/16 Птн 13:03:31  723468
>>723436
Конструктор ничего не возвращает. Он инициализирует объект. Когда ты пишешь Yoba y = Yoba(). Вызываются и конструктор и оператор присваивания (что потом оптимизируется конпелятором).
Аноним 22/04/16 Птн 13:15:33  723471
>>723468
Тихо, погоди, я запутался, смотри:
1.
Class obj1 = new Class(3);
Class obj2 = obj1;

Class(const Class& c)
:param(c.param)
{
// copy
}

2.
Class obj1 = new Class(1), obj2 = new Class(2);
obj1 = obj2;

Class& operator=(const Class& c)
{
// copy
return this;
}

Вот 2 ситуации, первая это копирование при инициализации, а вторая при присваивании одного объекта другому. Я все правильно написал? Может я изначально что-то не понимаю.
Аноним 22/04/16 Птн 13:20:35  723472
>>723437
В операторе присваивания крайне желательно возвращать ссылку на объект, так как это поведение оператора присваивания для встроеных типов. Так то ты что хочешь можешь возвращать https://ideone.com/33SCsj
Аноним 22/04/16 Птн 13:24:04  723474
>>723471
Да. Поэтому было бы хорошо перейти на синтакс инициализации отличный от синтаксиса присваивания. Тоесть твою вторую строчку было бы прикольно писать как Class obj2 {obj1}; А так получается что '=' может вызвать как конструктор, так и operator= что конечно немного путает.
Аноним 22/04/16 Птн 13:51:58  723501
>>723472
Ну то есть возвращай this, чтобы было все как у людей.
Я это и хотел узнать, просто думал, что это имеет какое-то четкое объяснение.
Аноним 22/04/16 Птн 15:04:10  723566
Где этот грамотей, который мне доказывал какая убунта LTS годная и небаженная. Вон, можно наглядно посмотреть, как страдают аналогичные хомячки: https://habrahabr.ru/post/282197/
Аноним 22/04/16 Птн 15:17:02  723573
>>723566
Проследуйте в /s/
Аноним 22/04/16 Птн 15:27:41  723581
Лучшее ide?
Аноним 22/04/16 Птн 15:29:25  723582
>>723566
А нахуя переходить на 16.04 (т.е. апрель 16 года) в апреле 16 года? Полгода подожди, а пока на 14.04 посиди.
Аноним 22/04/16 Птн 15:38:45  723586
Начал изучать c++11 по книге, но узнал, что есть 14 версия, там много изменено?
Аноним 22/04/16 Птн 15:43:05  723593
>>723471
>Вот 2 ситуации, первая это копирование при инициализации, а вторая при присваивании одного объекта другому
У тебя везде присваивание. Копирующий конструктор вызывается при Class c( other_c ) или new( other_c ). Перемещающий конструктор, соответственно при Class c( move( other_c ) ).
Аноним 22/04/16 Птн 15:44:22  723594
>>723586
>там много изменено?
Немного, косметика - например, constexpr улучшили. Все глобальные изменения в 11.
Аноним 22/04/16 Птн 15:51:24  723604
>>723593
> У тебя везде присваивание
Нет. Foo bar = baz; это вызов конструктора.
http://ideone.com/0GM0hS
Аноним 22/04/16 Птн 15:53:29  723606
>>723586
Много. Лямбды стали юзабельными, например.
Аноним 22/04/16 Птн 17:21:15  723674
>>723594
Что там с constexpr?
Аноним 22/04/16 Птн 17:31:18  723683
14613354788850.png (16Кб, 300x291)
14613354788851.png (15Кб, 291x300)
14613354788852.png (16Кб, 300x291)
14613354788863.png (15Кб, 291x300)
ЫАААААААААААААААААААААААААА БЛДЯЯЯЯЯЯЯЯЯЯДЬ!!!
Ебаные шаблоны! Сука, как горит моя жопа, пиздец!
Дело в том, что мне нужно запилить метод, который будет принимать только N переменных определённого типа. Без костылей в виде is_any как тут: http://cpp.sh/6wie
И как собрать лямбда-функцию по шаблону, если в шаблон я посылаю только тип параметра и его количество? Ну просто скоро крышей поеду, если не разберусь. Неужели для такого простого результата нужно городить тонны кода и прочих is_any? Или подключать boost? Хочу на чистом стандарте, без костылей и сторонних библиотек.

template <class T, unsigned int N> class Yoba
{
private:
std::function<T(T...??????)> function;
public:
template<class... Args> Yoba(const std::function<T(Args...)> &function) : function(function)
{
static_assert(sizeof...(K) == N, "blyad, ty ohooel?");
}
};

int main()
{
Yoba<double, 4> yoba([](int a, int b, int c, int d){ return a + b + c + d; });
return 0;
}
Аноним 22/04/16 Птн 17:32:28  723684
>>723683
Так горит, что не заметил несоответствия типов в конце. Но это ничего, пусть там будет Yoba<int, 4>
Аноним 22/04/16 Птн 17:51:23  723710
>>723684
Алсо, можно через initializer_list, но неужели он работает по принципу таких же костылей?
Аноним 22/04/16 Птн 18:01:26  723729
>>723683
>Дело в том, что мне нужно запилить метод, который будет принимать только N переменных определённого типа.
А ты можешь объяснить, зачем это нужно?
Ну ок, представим (т.к. это невозможно), что ты шаблонами смог генерировать методы с конкретным числом аргументов.

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

В чём ты хочешь получить преимущество?
Аноним 22/04/16 Птн 18:02:00  723730
>>723674
Можно их теперь в несколько строчек писать, использовать for, if.
Аноним 22/04/16 Птн 18:04:01  723734
>>723683
is_any нужен только для проверки типа, можешь его убрать. И это не костыль, а обычное метапрограммирование. Если связался с шаблонами, то такого рода приключений будет очень много.
Аноним 22/04/16 Птн 18:06:01  723735
>>723734
> можешь его убрать. И это не костыль
А что это тогда, если без него у меня компиляция будет проходить не так, как я хочу? Почему тут нет какого-нибудь std::generate_types(int, 10)?
Аноним 22/04/16 Птн 18:06:52  723736
>>723729
Так всё будет выглядеть правильнее, чем если бы у меня принимались любые аргументы.
Аноним 22/04/16 Птн 18:09:28  723739
>>723729
> В чём ты хочешь получить преимущество?
Не преимущество, а возможность иметь член класса в виде лямбда-функции, которая принимала бы шаблонные аргументы.
Аноним 22/04/16 Птн 18:10:51  723741
>>723735
<int, 10> кончено же, опечатка.
Аноним 22/04/16 Птн 18:23:48  723748
>>723683
Напиши конечный use case, продемонстрируй наглядно, че ты вообще хочешь.
Аноним 22/04/16 Птн 18:25:20  723749
>>723683
>Дело в том, что мне нужно запилить метод, который будет принимать только N переменных определённого типа.
Походу тебе массив нужен. А вообще от копипасты ты не треснешь.
Аноним 22/04/16 Птн 18:29:09  723754
>>723683
Решение твоей проблемы есть, но там нужно ебаться с метапрограммированием по типу строения tuple. Я, в принципе, могу набросать, как оно выглядит, но не лучше ли юзать вместо кучи параметров один массив нужной длины? Для однотипных величин сам б-г велел - оверхеда даже меньше из-за отсутствия выравнивания, компилится быстрее.
Аноним 22/04/16 Птн 18:38:22  723769
>>723749
Не тресну, но мой код должен быть легкочитаемым, и чтобы я мог при желании легко его воспроизвести без копипасты.

>>723748
Хочу запилить класс, который будет максимизировать значение моей лямбда-функции. У неё N аргументов типа T, этого должно быть достаточно для её описания.

>>723754
Да, я уже решил делать через массивы. Но как-то неожиданно, что я столкнулся с такой масштабной проблемой, которую изначально даже не видел. Алсо, массивы немного неудобные. Вместо доступа к аргументам функции мне придётся обращаться к элементам массива, у которых вместо исчерпывающего названия будет только номер. Можно с enum'ами и map'ами поебаться, но это всё не то.
Аноним 22/04/16 Птн 18:48:15  723789
>>723769
Ты занимаешься какой-то хуйней. Намного проще заранее расписать все варианты с N, потому что их будет мало. А ты тратишь столько времени, чтобы решить это средствами метапрограммирования.
Аноним 22/04/16 Птн 18:48:26  723791
>>723735
>Почему тут нет какого-нибудь std::generate_types(int, 10)
Возьми и сам напиши. Один раз помучаешься, зато потом в подобном коде будешь разбираться.
Аноним 22/04/16 Птн 18:53:24  723796
>>723791
Но ведь не получится.

>>723789
А если у меня функция от 100 аргументов? Все 100 расписывать? Понимаю, что лучше такие объёмы в массивах перемещать, но хотелось бы универсальность.
Аноним 22/04/16 Птн 18:55:21  723800
>>723796
>Понимаю, что лучше такие объёмы в массивах перемещать, но хотелось бы универсальность.

Вот в этом твоя ошибка. Если ты передаешь больше 5 параметров одного типа, то где-то у тебя закралась логическая ошибка. Эта универсальность нахуй не сдалась.
Аноним 22/04/16 Птн 18:58:27  723803
>>723800
В конце концов, это можно написать на макросах. И поверь, в этом случае читабельность кода и ошибок будет гораздо выше, чем у решения на шаблонах.
Аноним 22/04/16 Птн 19:09:28  723817
>>723803
Да, я пересмотрел свои взгляды. Спасибо, что помогли. Делаю массивами и не выёбываюсь.
Аноним 22/04/16 Птн 19:17:20  723824
14613418407980.jpg (41Кб, 600x600)
>>723817
Но не боись, анон спасет отца русской демократии: http://ideone.com/n0h0Cb
Аноним 22/04/16 Птн 19:25:11  723836
>>723824
Это, кажется, старая фишка. Можно её запилить, но зачем? Они не помогут сделать лямбда-функцию с числом аргументов, зависящем от шаблона. Да и не нужно это, массивы действительно выручают.
Аноним 22/04/16 Птн 20:16:19  723914
>>723796
http://www.boost.org/doc/libs/master/boost/bind/bind.hpp :
http://www.boost.org/doc/libs/master/boost/bind/bind.hpp Аноним 22/04/16 Птн 20:16:42  723916
result_type operator()()
{
list0 a;
return l_( type<result_type>(), f_, a, 0 );
}

result_type operator()() const
{
list0 a;
return l_( type<result_type>(), f_, a, 0 );
}

template<class A1> result_type operator()( A1 && a1 )
{
rrlist1< A1 > a( a1 );
return l_( type<result_type>(), f_, a, 0 );
}

template<class A1> result_type operator()( A1 && a1 ) const
{
rrlist1< A1 > a( a1 );
return l_(type<result_type>(), f_, a, 0);
}

template<class A1, class A2> result_type operator()( A1 && a1, A2 && a2 )
{
rrlist2< A1, A2 > a( a1, a2 );
return l_( type<result_type>(), f_, a, 0 );
}

template<class A1, class A2> result_type operator()( A1 && a1, A2 && a2 ) const
{
rrlist2< A1, A2 > a( a1, a2 );
return l_( type<result_type>(), f_, a, 0 );
}

template<class A1, class A2, class A3> result_type operator()( A1 && a1, A2 && a2, A3 && a3 )
{
rrlist3< A1, A2, A3 > a( a1, a2, a3 );
return l_( type<result_type>(), f_, a, 0 );
}

template<class A1, class A2, class A3> result_type operator()( A1 && a1, A2 && a2, A3 && a3 ) const
{
rrlist3< A1, A2, A3 > a( a1, a2, a3 );
return l_( type<result_type>(), f_, a, 0 );
}

template<class A1, class A2, class A3, class A4> result_type operator()( A1 && a1, A2 && a2, A3 && a3, A4 && a4 )
{
rrlist4< A1, A2, A3, A4 > a( a1, a2, a3, a4 );
return l_( type<result_type>(), f_, a, 0 );
}

template<class A1, class A2, class A3, class A4> result_type operator()( A1 && a1, A2 && a2, A3 && a3, A4 && a4 ) const
{
rrlist4< A1, A2, A3, A4 > a( a1, a2, a3, a4 );
return l_( type<result_type>(), f_, a, 0 );
}

template<class A1, class A2, class A3, class A4, class A5> result_type operator()( A1 && a1, A2 && a2, A3 && a3, A4 && a4, A5 && a5 )
{
rrlist5< A1, A2, A3, A4, A5 > a( a1, a2, a3, a4, a5 );
return l_( type<result_type>(), f_, a, 0 );
}

template<class A1, class A2, class A3, class A4, class A5> result_type operator()( A1 && a1, A2 && a2, A3 && a3, A4 && a4, A5 && a5 ) const
{
rrlist5< A1, A2, A3, A4, A5 > a( a1, a2, a3, a4, a5 );
return l_( type<result_type>(), f_, a, 0 );
}

template<class A1, class A2, class A3, class A4, class A5, class A6> result_type operator()( A1 && a1, A2 && a2, A3 && a3, A4 && a4, A5 && a5, A6 && a6 )
{
rrlist6< A1, A2, A3, A4, A5, A6 > a( a1, a2, a3, a4, a5, a6 );
return l_( type<result_type>(), f_, a, 0 );
}

template<class A1, class A2, class A3, class A4, class A5, class A6> result_type operator()( A1 && a1, A2 && a2, A3 && a3, A4 && a4, A5 && a5, A6 && a6 ) const
{
rrlist6< A1, A2, A3, A4, A5, A6 > a( a1, a2, a3, a4, a5, a6 );
return l_( type<result_type>(), f_, a, 0 );
}

template<class A1, class A2, class A3, class A4, class A5, class A6, class A7> result_type operator()( A1 && a1, A2 && a2, A3 && a3, A4 && a4, A5 && a5, A6 && a6, A7 && a7 )
{
rrlist7< A1, A2, A3, A4, A5, A6, A7 > a( a1, a2, a3, a4, a5, a6, a7 );
return l_( type<result_type>(), f_, a, 0 );
}

template<class A1, class A2, class A3, class A4, class A5, class A6, class A7> result_type operator()( A1 && a1, A2 && a2, A3 && a3, A4 && a4, A5 && a5, A6 && a6, A7 && a7 ) const
{
rrlist7< A1, A2, A3, A4, A5, A6, A7 > a( a1, a2, a3, a4, a5, a6, a7 );
return l_( type<result_type>(), f_, a, 0 );
}

template<class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8> result_type operator()( A1 && a1, A2 && a2, A3 && a3, A4 && a4, A5 && a5, A6 && a6, A7 && a7, A8 && a8 )
{
rrlist8< A1, A2, A3, A4, A5, A6, A7, A8 > a( a1, a2, a3, a4, a5, a6, a7, a8 );
return l_( type<result_type>(), f_, a, 0 );
}

template<class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8> result_type operator()( A1 && a1, A2 && a2, A3 && a3, A4 && a4, A5 && a5, A6 && a6, A7 && a7, A8 && a8 ) const
{
rrlist8< A1, A2, A3, A4, A5, A6, A7, A8 > a( a1, a2, a3, a4, a5, a6, a7, a8 );
return l_( type<result_type>(), f_, a, 0 );
}

template<class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8, class A9> result_type operator()( A1 && a1, A2 && a2, A3 && a3, A4 && a4, A5 && a5, A6 && a6, A7 && a7, A8 && a8, A9 && a9 )
{
rrlist9< A1, A2, A3, A4, A5, A6, A7, A8, A9 > a( a1, a2, a3, a4, a5, a6, a7, a8, a9 );
return l_( type<result_type>(), f_, a, 0 );
}

template<class A1, class A2, class A3, class A4, class A5, class A6, class A7, class A8, class A9> result_type operator()( A1 && a1, A2 && a2, A3 && a3, A4 && a4, A5 && a5, A6 && a6, A7 && a7, A8 && a8, A9 && a9 ) const
{
rrlist9< A1, A2, A3, A4, A5, A6, A7, A8, A9 > a( a1, a2, a3, a4, a5, a6, a7, a8, a9 );
return l_( type<result_type>(), f_, a, 0 );
}

//
Аноним 22/04/16 Птн 20:19:44  723920
>>723916
Ну и да, с C++11 можно >>723824 , но лично для меня все эти рекурсивные йобы гораздо менее читаемые. И так даже в хаскеле делают.
Аноним 22/04/16 Птн 20:33:24  723928
>>723824
sizeof...(args) же есть, Йоба Иссарионович.
Аноним 22/04/16 Птн 20:56:36  723940
>>723824
Ну нет, если уж нырять в мету, все должно быть ммаксимум обобщенным и идеальным, иначе весь смысл ебли теряется. А у тебя типы не чекаются на приводимость из T.
Аноним 22/04/16 Птн 21:12:42  723954
>>723824
Проблема в том, что надо не убирать параметры из списка на каждой итерации, а добавлять. Когда убираешь все просто - при нуле у тебя пустой список, а когда добавляешь, тебе надо хранить и тип и количество аргументов.
Аноним 22/04/16 Птн 21:38:29  723970
>>723954
Поясню: задача в том, чтобы nargs<3, int>::type возвращало void(int,int,int)
Аноним 22/04/16 Птн 23:32:22  724084
14613571421390.jpg (41Кб, 600x600)
>>723928
>>723970
И все же, анон сказал, что спасет, значит спасет.
http://ideone.com/qdYyn9

Ориджинал контент, так сказать.
Аноним 22/04/16 Птн 23:43:41  724090
>>724084
Пиздец. Вот это сильно.
Аноним 22/04/16 Птн 23:45:02  724091
>>723916
Нихуя не понял. Пошли они нахуй, эти шаблоны. Я теперь их неосознанно боюсь.
Аноним 22/04/16 Птн 23:51:50  724095
>>724091
Ебать ты нюфаня.
Аноним 22/04/16 Птн 23:55:53  724098
>>724084
Оказалось, что защита от рекурсии не нужна. Компилятор вычисляет next только при обращении к нему.
Аноним 23/04/16 Суб 00:24:28  724131
>>724084
Ты крут. Так же хотел сделать, но уже пива выпил, и думать не мог.
Аноним 23/04/16 Суб 00:27:55  724136
>>724131
Можешь нанять меня. А то сижу без работы, блеать.
Аноним 23/04/16 Суб 01:10:21  724169
>>724136
Давайте запилим стартап с шаблонами и метапрограммированием же. Как минимум джва ценителя в треде есть. Хотя я бы таки вместо костыльного генератора сделал через тупл и index_sequence, как белый человек.
Аноним 23/04/16 Суб 01:31:35  724187
>>724169
Не, рили. Жрать нечего, работать хочу. Хуй го знает, может в твоей конторе есть вакансия и ты меня порекомендовал бы.
Аноним 23/04/16 Суб 11:15:40  724346
>>724187
Какой город?
Аноним 23/04/16 Суб 11:31:07  724350


>>724346
>Какой город?
Воронеж. Могу удаленно
Аноним 23/04/16 Суб 15:07:32  724477
Анон, а что лучше начинать писать нюфаку первым проектом? На всех прочих языках пишут борды, а на крестах что?
Аноним 23/04/16 Суб 15:09:24  724479
>>724477
Напиши gui-фреймверк, http-сервер, простую виртуальную машину.
Аноним 23/04/16 Суб 15:37:37  724493
>>724350
Тогда сорри. С embedded удаленно не поработаешь.
Аноним 23/04/16 Суб 15:51:15  724506
>>724477
Компилятор. Ничто не погружает так в язык, как написание компилятора.
Аноним 23/04/16 Суб 15:58:34  724512
>>724477
Тоже борды. Даже эта борда написана на крестах. А проще всего начинать с написания мелких либ, которым не смог найти аналогов. Отличное отношение полезности к усилиям, можно дохуя звезд на гитхабе словить.
Аноним 23/04/16 Суб 16:08:50  724521
>>724512
>Даже эта борда написана на крестах
Хуйню сказал.
Аноним 23/04/16 Суб 16:30:38  724531
Есть vector <vector <pair<int, int> > > g1;
где-то далеко в этот вектор мне нужно считать данные из файла (если число - пара (1, число), если ноль - пара (0,0)).

Как это сделать не особо поебав себе голову? через push_back, make_pair - ругается
Аноним 23/04/16 Суб 16:39:28  724534
>>724531
Ну раз ругается, может тебе просто нахуй пройти с таким оформлением вопросов?
Аноним 23/04/16 Суб 16:41:00  724535
>>724521
В d были пруфы.
Аноним 23/04/16 Суб 16:41:47  724537
>>724534
Что именно непонятно? Есть вектор векторов. Каждый элемент - пара чисел типа инт.
Имеется файл, в котором всякие числа, нужно считать их в этот вектор с условием:
если число не равно нулю, то считываем в пару 1, число
если число равно нулю, то считываем 0, 0

т.е. пара чисел это: (1 или 0, само число)

Аноним 23/04/16 Суб 16:43:00  724539
>>724531
vector <vector <pair<int, int> > > g1;
g1.push_back(vector< pair<int, int> >());
g1[0].push_back(make_pair(10, 10));
cout << g1[0][0].first << g1[0][0].second;

Но вообще это сильно смахивает на быдлокод. Почти наверняка можно отрефакторить, чтобы это не выглядело так убого.
Аноним 23/04/16 Суб 16:43:49  724540
>>724537
"Ой, мальчик, подойди сюда, у меня тут ошибка высветилась" - это для бухгалтеров, а не программистов. "через push_back, make_pair - ругается" - даун ебаный.
Аноним 23/04/16 Суб 17:39:35  724578
>>724512
> 2016
> писать либы
Аноним 23/04/16 Суб 18:01:46  724610
Посоны, в память запало, что нужно избегать такой хуйни:
(cond? a : b) = 3;

Но не могу вспомнить почему. Подскажите.
Аноним 23/04/16 Суб 21:55:02  724859
>>724479
>>724506

Действительно, очень просто, самое то для ньюфага.
Аноним 23/04/16 Суб 23:45:53  724961
>>724859
простой компилятор или виртуальную машину довольно легко написать
А что ты хотел, чтобы тебе советовали калькулятор писать?
Аноним 24/04/16 Вск 11:37:25  725202
>>724859
Чувак, если ты хочешь написать проект, _чтобы выучить язык_ - то это подразумевает большой и сложный проект, который позволит тебе осознать не только синтаксис, но и особенности языка.
Если тебе нужен не проект, а какая-то мелкая залупа, то этой мелкой залупы нужно в десятки раз больше. В таком случае пиздуй читать PPP от страуструпа. Там как раз практикуется подход куча заданий -> скилл.
Аноним 24/04/16 Вск 12:07:08  725224
14614888288230.png (34Кб, 365x311)
14614888288231.png (38Кб, 344x333)
Ребят, как получить нормальный i+1 элемент в векторе чаров?
На 1-ом пике все норм, на 2-ом все хуево
Аноним 24/04/16 Вск 12:17:44  725229
14614894644260.jpg (32Кб, 604x340)
В задании у Страуса сказано, чтобы я узнал о списках с пропуском и реализовать их.
Прочитал что да как, сразу и не понятно все. Например, он должен быть (список) изначально отсортирован, а я и этого не умею.
Это тонкий реквест от дяди Страуструпа, чтобы я пошел читать книгу по алгоритмам и вернулся через год выполнять эту задачу? (или это не все так сложно, как кажется на первый взгляд?)
Аноним 24/04/16 Вск 14:04:42  725323
>>725229
>Это тонкий реквест от дяди Страуструпа, чтобы я пошел читать книгу по алгоритмам и вернулся через год выполнять эту задачу
Кокой ты догадливый. Пиздуй учить алгоритмы и структуры данных.
Аноним 24/04/16 Вск 14:13:07  725329
Есть корректно работающий в одном цппшнике код, с обьявлением и инициализацией глобальных переменных.
Когда я пытаюсь забрать часть функций вместе с глобальными переменными которые они требуют в другой класс, компилятор начинает говорить: error LNK2005: "char * pBuf" (?pBuf@@3PADA) already defined in Class.obj

И такой текст на все переменные, несмотря на то что они в единственном экземпляре.
Что с этим можно сделать?
Аноним 24/04/16 Вск 14:21:21  725334
>>725329
include guards
а так хуй его знает, мы тебе без кода ванговать не будем да и с кодом тоже :3
Аноним 24/04/16 Вск 14:25:35  725340
>>725329
Как будто из сорца или хедера не выпилил объявление.
Аноним 24/04/16 Вск 14:26:01  725341
>>725340
>Как будто из сорца или хедера не выпилил объявление
Но я их и обьявлял в хидере, так нельзя делать?
Аноним 24/04/16 Вск 14:30:14  725345
>>725341
молодец. Иди читай про процесс компиляции и компоновки. А так же про формат исполняемых файлов.
Аноним 24/04/16 Вск 14:31:13  725346
>>725341
Смотри сюда. Хедер это только декларация чего-нибудь от переменной до интерфейса класса, и этого недостаточно чтобы определеить глобальную переменную. Сами же переменные ассоциируются с сорцами и поэтому их определение содержится как раз в сорцах, которые и компилируется в *.obj файлы. Чаще всего подобная ошибка возникает при множественной декларации в хедерах или множественном определениии в сорцах. Поэтому либо ты пиздишь, либо Ctrl+F по всем сорцам.

Алсо, что за нахуй?
Аноним 24/04/16 Вск 14:31:33  725347
>>725346
> Алсо, что за нахуй?
> забрать часть функций вместе с глобальными переменными которые они требуют в другой класс
Проебал.
Аноним 24/04/16 Вск 14:32:03  725349
>>725345
https://habrahabr.ru/post/150327/
Аноним 24/04/16 Вск 14:33:04  725350
>>725346
да расслабься, он в хедер положил определение переменной.
Аноним 24/04/16 Вск 14:33:24  725351
>>725345
>Иди читай про процесс компиляции и компоновки. А так же про формат исполняемых файлов
А вкратце можно, что где обьявлять и где инициализировать чтоб работало?
Я бы почитал, но времени 2 дня осталось, а мне надо весь проект под ооп успеть переделать.
Аноним 24/04/16 Вск 14:35:24  725352
>>725351
лабы, курсовые и дипломы идут нахуй. Надо было раньше думать.

в хедер нельзя помещать определение переменной. Посколько объявление без инициализации все равно будет определением, нужно в объявлении указать extern
Аноним 24/04/16 Вск 14:37:27  725356
>>725352
>Надо было раньше думать
Но... я же написал проект. Осталось только разнести функции по классам и придумать что от кого наследовать, чтоб было красиво.
>нужно в объявлении указать extern
Спс, сейчас попробую
Аноним 24/04/16 Вск 14:37:30  725357
>>725350
Заёбывает, что отдельные личности не отличают декларацию от определения, аутентификацию от авторизации, etc.
Аноним 24/04/16 Вск 14:39:40  725360
>>725349
Ни разу не видел статических функций. Эту сторону языка используют где-нибудь осознанно?
Аноним 24/04/16 Вск 14:41:45  725363
>>725357
Оно довольно редко нужно. Плюс, сейчас это модно делать с помощью анонимных неймспейсов.
Аноним 24/04/16 Вск 14:54:01  725375
>>725356
Попробовал. опять на то-то ругается.
Короче, использовать глобальные переменные в классах хреновая идея, да?
Лучше создать еще один класс, в котором будут храниться все необходимые переменные?
Аноним 24/04/16 Вск 15:03:53  725391
>>725375
да
Аноним 24/04/16 Вск 15:21:14  725410
Как задать свою функцию для priority_queue?
Аноним 24/04/16 Вск 15:23:11  725413
>>725224
for (int i = 0; i < charV.size() - 1; ++i)
cout << charV << " " << charV[i + 1];

Алсо, с такими вопросами иди нахуй.
Аноним 24/04/16 Вск 15:27:04  725422
>>725410
Конкретизируй
Аноним 24/04/16 Вск 15:30:06  725427
>>725422
По умолчанию там сортирует по возрастанию. А мне надо, чтобы сортировалось по другому признаку.
Если конкретно, то d[v1]<d[v2], где d -- глобальная переменная.
При сортировке массива например свою функцию пихаешь третьим параметром. sort(&a[0], &a[n], sort_f). А как тут так же сделать?
Аноним 24/04/16 Вск 15:32:36  725434
>>725427
Первая ссылка в гугле по запросу priority_queue comparator:
http://stackoverflow.com/questions/16111337/declaring-a-priority-queue-in-c-with-a-custom-comparator

В гуголе забанили?
Аноним 24/04/16 Вск 17:36:57  725559
>>725360
Это осталось со старых времен. В С (нормальные люди) используют широко. Публичный интерфейс (функции которые должны быть доступны в других частях программы, и задекларированы в хедере) объявлены нестатическими, все остальные функции считаются приватным интерфейсом, должны быть доступны только в пределах юнита (трансляции) и должны быть объявлены как статические. В плюсах, если держаться ООП подхода, в таком нет необходимости - функции раскиданы по классам и если нужно объявлены как private. Вообще на работу программы объявление функции статической никак не влияет, только на линковку. Тоесть прямой необходимости объявлять функции статическими нет, это вопрос стиля программирования.
Аноним 24/04/16 Вск 19:03:34  725626
Бля посоны какого хуя sizeof(float) == 4 и при этом возможно:
float var = 1e37; ???
При этом 10^37 занимает 63 бита. При этом это число хранится в мантиссе, т.е. весь float занимает минимум 63+8 = 71 байт.

У меня есть подозрение, что обычный float - это тот самый 80-битный extended floating point из intel 8087. Но тогда какого хуя sizeof возвращает 32бита?
Аноним 24/04/16 Вск 19:19:21  725641
>>725626
Читай IEEE 754, дурачок. Давай рассуждать логически. у тебя есть отрезок от нуля до одного действительных чисел. Мощность этого множества чуть больше чем дохуя. Откуда можно сделать вывод, что действительные числа это один большой наёб. Где? В конечной точности типов с плавающей запятой.
Аноним 24/04/16 Вск 19:30:28  725653
>>725641
Сам дурак, плюс твое объяснение не очень-то и понятное. Но я уже вычитал, что в float запятая, разделяющая 0 и -1 разряды, не только плавает, но может и просто отсутствовать нахуй. В таком случае речь идет о потере точности уже в положительных разрядах. Ясненько.
Аноним 24/04/16 Вск 19:57:09  725698
Аноны, поясните как запустить эту ёбаную змейку
http://pastebin.com/xgXFAx84
По пунктам, пожалуйста
Аноним 24/04/16 Вск 19:59:23  725705
14615171636120.jpg (17Кб, 330x263)
>>725698
Спиздил курсач и не можешь его скомпилить, лал?
Аноним 24/04/16 Вск 19:59:40  725706
>>725698
Двойной клик по zmeika.exe не работает?
Аноним 24/04/16 Вск 20:00:19  725707
>>725698
Ох лол, кто-то до сих пор ебется с моей змейкой. Там три файла в этой пасте, плюс надо ncurses или pdcurses либу подключить.
Аноним 24/04/16 Вск 20:05:18  725717
>>725705
Блядь, откуда ты знаешь?
Да, ещё есть 1 день, вы моя надежда, аноны
Аноним 24/04/16 Вск 20:05:44  725718
>>725707
Просто скажи что надо сделать, по порядочку, прошу тебя.
Аноним 24/04/16 Вск 20:15:52  725734
>>725718
Если у тебя студия, то распихиваешь тот кривой код по трем файлам, в студии жмешь "создать проект из существующего кода" и выбираешь эти файлы. Качаешь уже скомпиленную версию pdcurses, подключаешь и должно по идее работать.
Аноним 24/04/16 Вск 20:17:53  725739
14615182734080.jpg (239Кб, 1959x1959)
>>725717
>лабы идут нахуй
Страдай
Аноним 24/04/16 Вск 20:19:41  725742
>>725734
[КОЛЯСКА@ПРЫЩЕЙ]$ g++ main.cpp game.cpp `pkg-config --cflags ncurses` -o zmeyka `pkg-config --libs ncurses` -std=c++11
game.cpp: В функции-члене «void Game::placefood()»:
game.cpp:38:21: ошибка: нет декларации «srand» в этой области видимости
srand(time(NULL));
^
game.cpp:42:23: ошибка: нет декларации «rand» в этой области видимости
food_x = rand() % (maxX - 1) + 1;
Аноним 24/04/16 Вск 20:20:27  725745
>>725739
Да при чём тут лабы уже в конце концов, просто помогите запустить эту хуйню.
Аноним 24/04/16 Вск 20:24:51  725750
>>725734
Я пытался скомпилировать через консоль
Вот так вот>>725742
Аноним 24/04/16 Вск 21:22:33  725809
>>725750
Ну заинклудь cstdlib, чё ты как этот.

У меня скомпилилось после этого.
Аноним 24/04/16 Вск 23:06:21  725928
Можно написать MyClass mc = new MyClass(); ?
Аноним 25/04/16 Пнд 00:13:05  725981
>>725928
Напиши, узнаешь.
Аноним 25/04/16 Пнд 00:40:48  725990
14615340488130.jpg (25Кб, 510x499)
Перекот пилите!
Аноним 25/04/16 Пнд 01:23:06  726020
>>725990
Ну так пили, чего ждешь
Аноним 25/04/16 Пнд 02:10:19  726048
>>726020
Я не поэт, кресты я знаю слабо,
Чтоб рифмовать баззворды через раз.
Удел мой - ждать, покуда сын Баала,
Наш легитимный ОП, войдя в эстаз,
Извергнет лиру запоздало...
Аноним 25/04/16 Пнд 02:58:59  726065
>>726048
>726020
>Я не поэт, кресты я знаю слабо,
>Чтоб рифмовать баззворды через раз.
>Удел мой - ждать, покуда сын Баала,
>Наш легитимный ОП, войдя в эстаз,
>Извергнет лиру запоздало...
У "легитимного" ОПа не лучше. Все равно мочу дергать будем для правки шапки. Заодно и стихи для стихомразей вставит, когда оп-хуй созреет
Аноним 25/04/16 Пнд 15:19:28  726446
Нужно нарисовать треугольник/кружок/етк и затем перенести его на другие координаты. Никакой анимации и т.п. Что использовать для графики? Есть ли что-то примитивнее и быстрее для раздупления, чем qt?
Аноним 25/04/16 Пнд 15:49:17  726499
>>726446
SFML попробуй.
Аноним 25/04/16 Пнд 16:05:34  726515
Аноны, что такое qt и какое отношение имеет к крестам?
Аноним 25/04/16 Пнд 16:28:22  726537
>>726515
В гугл, даун.
Аноним 25/04/16 Пнд 18:36:39  726672
>>726048
НОВЫЙ ТРЕД
https://2ch.hk/pr/res/726671.html
https://2ch.hk/pr/res/726671.html
https://2ch.hk/pr/res/726671.html
Аноним 06/05/16 Птн 16:59:30  736080
>>715607
А зачем ты землю жрал?
не могу допереть Аноним 08/05/16 Вск 22:22:12  737855
В общем-то пресловутый рюкзак
вводим кол-во предметов, вместимоть рюкзака, ценность предмета, вес предмета

И код вроде бы работает, но хреново. То есть при вводе кол-во предметов - 3, вместимость - 50, дальше ценность и веса предметов 60-20, 100-50, 120-30 код пашет, но если вбить например 1 предмет, вместимость 1000, и ценность с весом 500-30, то выдает нечто рюкзак превышающее, а если вбить так же 1 предмет, вместимость 10, стоимость-вес 500-30 выдает нуль, понять не могу где налажал

#include <cstdio>
#include <cstdlib>
#include <algorithm>
#include <vector>
#include <string>
#include <iostream>
using namespace std;

using std::vector;

double get_optimal_value(int capacity, vector<int> weights, vector<int> values, int n) {
double value = 0.0;

int* array = new int[capacity+1];
array[0] = 0;
for(int i=1; i<=capacity; ++i) {
array = array[i-1];
for(int j=0; j<n; ++j)
if (weights[j]<=i)
array = max(array, array[i-weights[j]] + values[j]);
}
int maxCost = array[capacity];
delete[] array;
return maxCost;

return value;

}

int main() {
int n;
int capacity;
std::cin >> n >> capacity;
vector<int> values(n);
vector<int> weights(n);
for (int i = 0; i < n; i++) {
std::cin >> values >> weights;
}

double optimal_value = get_optimal_value(capacity, weights, values, n);

std::cout.precision(10);
std::cout << optimal_value << std::endl;
return 0;
}
Аноним 14/05/16 Суб 09:14:18  743007
Как мне проверить, есть ли символ в сете?
Пробовал if(letters.find(i) >= letters.size())
Аноним 14/05/16 Суб 11:27:51  743049
>>723145
пошел нахуй , я уже все исправил
Аноним 15/05/16 Вск 10:43:37  743980
почему тут move конструктор не вызывается, знает кто?
https://ideone.com/TFMirB

[Назад][Обновить тред][Вверх][Каталог] [Реквест разбана] [Подписаться на тред] [ ] 561 | 30 | 130
Назад Вверх Каталог Обновить

Топ тредов