Сохранен 631
https://2ch.hk/pr/res/749082.html
Прошлые домены больше не функционируют, используйте адрес ARHIVACH.HK.
24 декабря 2023 г. Архивач восстановлен после серьёзной аварии. К сожалению, значительная часть сохранённых изображений и видео была потеряна. Подробности случившегося. Мы призываем всех неравнодушных помочь нам с восстановлением утраченного контента!

Оффициальный™ традиционный® C++ тред #33

 Аноним 21/05/16 Суб 11:45:21 #1 №749082 
14638203217750.png
Больше нету у нас ОПа.
Перекат пилить забота
Стала делом крестоёбов.
Только где взять стихоплётов?

Старший брат: >>723844 (OP)
Предыдущий: >>736493 (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: Дальше переходишь по ссылке, пробуешь отвечать на вопросы и понимаешь, что ты пока в самом начале пути. Кроличья нора крестов практически бездонна, поэтому продолжать постигать тонкости и детали можно очень и очень долго. В то же время, на этом этапе у тебя должно быть достаточно знаний, чтобы уверенно писать неплохой код. Поэтому читай исходники открытого софта и библиотек, отправляй пулл-реквесты в них, читай книжки по предметным областям и общим методикам разработки, а дальше уже сможешь запилить свой проект или вкатиться в существующий.


Аноним 21/05/16 Суб 11:46:22 #2 №749086 
Зарепортил фашиста
Аноним 21/05/16 Суб 11:48:15 #3 №749090 
Мод, старший брат скоро перекатится. И в стихе 1 раз вместо ё стоит ё, а в другой е.
Аноним 21/05/16 Суб 12:00:26 #4 №749101 
>>749090
А что там в стандарте говорится на сей счет?
Аноним 21/05/16 Суб 12:00:52 #5 №749104 
14638212522660.png
Вкатился с задачей. Есть один фак http://pastebin.com/1f7ZVx4V , здесь исходники http://skse.silverlock.org/ . Теперь помогите нубу, который дальше не может в Visual Studio. Я скачал портабл версию VS, теперь думаю как мне выполнить "Expand steam_loader project".
Аноним 21/05/16 Суб 12:01:32 #6 №749105 
>>749101
Не по фэншую.
Аноним 21/05/16 Суб 12:10:35 #7 №749109 
>>749104
Ты не ту студию скачал, та что у тебя просто блокнот для редактирования кода.
Аноним 21/05/16 Суб 12:17:13 #8 №749111 
14638222331670.png
>>749109
Спасибо. Тогда немного подождем и вернемся к нашему вопросу.
Аноним 21/05/16 Суб 12:58:26 #9 №749151 
Короче, писал себе приложение, если сильно упрощать, то оно открывает картинку и запихивает её в pictureBox.
У pictureBox стоит StretchImage, то есть картинка запихивается в ящик. Ящик квадратный, 120 на 120 пикселей, поэтому, когда картинка не квадратная она там отображается сплюснотой. Решение - поменять высоту ящика, сделав его не квадратным.
Почему вот эта параша не работает? Должна ведь.
pictureBox1->Size.Height = 100;
Аноним 21/05/16 Суб 12:59:57 #10 №749154 
>>749104
Качай code::blocks, базарю
Аноним 21/05/16 Суб 13:03:07 #11 №749159 
14638249878300.png
>>749111
Это нормально что студия запускается с какой то непонятой хуйни?
Аноним 21/05/16 Суб 13:06:06 #12 №749166 
>>749159
Какрй непонятной хуйни?
Аноним 21/05/16 Суб 13:10:13 #13 №749174 
>>749082 (OP)
Хоть бы шапку прикрепил
Аноним 21/05/16 Суб 13:10:54 #14 №749176 
>>749166
blend
Аноним 21/05/16 Суб 13:13:00 #15 №749182 
>>749176
Blend для Visual Studio — это набор инструментов для разработки, входящий в Visual Studio 2013, который позволяет создавать приложения для Магазина Windows в визуальной среде с использованием языков JavaScript, VB, C# и C++
Аноним 21/05/16 Суб 13:15:16 #16 №749185 
>>749182
Но у меня 2015 студия. А так добра. Просто непривычно. Да и только с нее Vs и запускается.

Нет, ярлыка чтобы сразу понятно было. Ну ты понел.
Аноним 21/05/16 Суб 13:16:39 #17 №749189 
>>749185
С devenv.exe она запускается.
Аноним 21/05/16 Суб 13:18:00 #18 №749191 
>>749189
С devenv.exe русская запускается.

А с бленда ангельская.
Аноним 21/05/16 Суб 13:53:27 #19 №749238 
14638280077560.png
>>749154
Спасибо. Хотя я уже успел пригореть от МОДУЛЬНОСТИ решений. Но как быть дальше?
Аноним 21/05/16 Суб 13:54:14 #20 №749240 
>>749238
Теперь удаляй
Аноним 21/05/16 Суб 15:39:51 #21 №749327 
>>749154
да ты заебал пиарить это говно. Ньюфагу нужно начинать с минимума абстракций, а ты ему предлагаешь сперва настроить IDE. Пусть юзает VS или QtCreator для начала.
Аноним 21/05/16 Суб 15:40:35 #22 №749328 
>>749154
>>749154
Говно без задач.
Аноним 21/05/16 Суб 16:13:07 #23 №749362 
>>749082 (OP)
Как запустить Prog1 из консоли? Перед ним стоит какой-то символ похожий на S.
Аноним 21/05/16 Суб 16:55:41 #24 №749397 
>>749082 (OP)
#include <iostream>
int main()
{
std::cout << "Enter two numbers:" << std::end1;
int v1 = 0, v2 = 0;
std::cin >> v1 >> v2;
std::count <<"The sum of "<< v1 << "and" << v2
<<"is" <<v1+v2 <<std::end1;
return 0;
}
Аноним 21/05/16 Суб 16:56:20 #25 №749399 
>>749397
Ну и нахуй ты сюда это притащил?
Аноним 21/05/16 Суб 17:04:28 #26 №749407 
>>749399
Не работает.
Аноним 21/05/16 Суб 17:05:20 #27 №749409 
>>749407
Мы знаем. А притащил зачем?
Аноним 21/05/16 Суб 17:06:42 #28 №749411 
>>749409
Но должен работать.
Аноним 21/05/16 Суб 17:07:28 #29 №749412 
>>749411
Даже из учебника пример перепечатать не сумел?
http://ideone.com/usDWhD
Аноним 21/05/16 Суб 17:09:08 #30 №749413 
>>749412
Хочешь сказать, что не работало онли из переноса строки?
Аноним 21/05/16 Суб 17:10:21 #31 №749415 
>>749327
Лучше уж пусть тогда ставит cygwin, собирает ручками и пишет Makefile'ы
Аноним 21/05/16 Суб 17:10:43 #32 №749416 
>>749413
Из-за опечаток.
Аноним 21/05/16 Суб 17:12:06 #33 №749419 
>>749412
Ща погодь, надо тщательно сравнить.
Аноним 21/05/16 Суб 17:13:10 #34 №749422 
>>749416
Все понял, после 0, а не ;
Аноним 21/05/16 Суб 17:14:43 #35 №749427 
14638400834910.png
>>749416
Не, там запятая тоже стоит.
Аноним 21/05/16 Суб 17:15:48 #36 №749430 
>>749416
Ах cout еще..
Аноним 21/05/16 Суб 17:17:00 #37 №749431 
>>749430
Ты пишешь std::end1 "std::endАДИН"
А нужно std::endl "std::endЛ"
Аноним 21/05/16 Суб 17:18:39 #38 №749433 
>>749431
Вот это добра тебе, в жизни бы не подумал.
Аноним 21/05/16 Суб 17:28:43 #39 №749446 
>>749433
Причем студия принимает только со всем набором.
Один иострим она вертела на хую.

#include "stdafx.h"
#include<iostream>
using namespace std;
Аноним 21/05/16 Суб 17:45:46 #40 №749467 
>>749415
Пусть сразу на коллайдер идет работать ученым, хуле. В самом начале, нужно просто открыть проект и писать код. Лучше всего подходят QtCreator и VS, где все из коробки.
Аноним 21/05/16 Суб 18:06:23 #41 №749483 
Посаны, препод сказал запилить курсач, требования простые, С++ и ООП, тема произвольная. Пиздец, что делать? Подкиньте идей, у меня по нулям. Кому чего не хватает?
З.Ы. ловко обращаюсь с Qt
sageАноним 21/05/16 Суб 18:06:45 #42 №749484 
Что за хуйня с тредом? Откуда столько тупых вопросов? Студенты уже не могут студию установить?
Аноним 21/05/16 Суб 18:07:52 #43 №749486 
>>749483
напиши построитель диаграмм классов из C++ кода.
Аноним 21/05/16 Суб 18:09:36 #44 №749488 
>>749484
Бля, всегда так было же, нет?
Пропустил все треды после ноября 2015.
Аноним 21/05/16 Суб 18:10:06 #45 №749490 
>>749483
Напиши мне аналог Theano для крестов.
Аноним 21/05/16 Суб 18:10:28 #46 №749491 
>>749484
Завидуй молча.
Аноним 21/05/16 Суб 19:00:33 #47 №749567 
>>749082 (OP)
Эталон того, как не надо делать перекаты. ГДЕ ШАПКА ЕБАНА В РОТ?
Аноним 21/05/16 Суб 19:11:07 #48 №749587 
>>749567
Шапку ж мод пришпиливает, не?
Аноним 21/05/16 Суб 19:13:08 #49 №749591 
>>749587
Бля... Типичный ответ крестобляди.
Конпелятор жи сам всё зааптимизируит))0)
Аноним 21/05/16 Суб 19:14:05 #50 №749593 
>>749490
А ведь можно зделоть. Нафигачить классов, так чтобы все операции возвращали не результат, а дерево выражений. Наверняка есть уже такое где-то. Потом переводить выражения в код для куды, дифференцировать, все так же как и в теано.
Аноним 21/05/16 Суб 19:20:30 #51 №749603 
>>749483
Напиши stream api для c++, чтобы лениво можно было работать с потоками данных. По-моему, это интересная задача.
Аноним 21/05/16 Суб 19:52:23 #52 №749645 
>>749483
Интерфейсное говноприложение для тестов. Простенькая бд, редактор тестов, режим преподавателя, режим студента. У нас такое дипломники делают, но можешь как крусач взять, там дел на пару дней.
Аноним 21/05/16 Суб 20:01:50 #53 №749654 
14638501110360.jpg
Кто-нибудь на СLion-е сидит?
Как оно?
Аноним 21/05/16 Суб 20:04:52 #54 №749659 
>>749654
Сижу, баги есть (в подсветке ошибок, дебаггере), порой подтормаживает. Во всём остальном работает нормально.
Аноним 21/05/16 Суб 20:20:40 #55 №749676 
14638512406910.jpg
>>749654
Clion офигенный, скажу сразу что я приверженец продуктов от Jetbrains.
Аноним 21/05/16 Суб 20:48:39 #56 №749692 
>>749654
#include <iostream>

int main()
{
std::cout<<" hi" << std::endl;

return 0;
}
Аноним 21/05/16 Суб 21:37:13 #57 №749746 
>>749676
по факту у них одна иде под многие языки и ежели привык к фичам, то самое оно.
Аноним 21/05/16 Суб 21:37:47 #58 №749748 
>>749676
по факту у них одна иде под многие языки и ежели привык к фичам, то самое оно.

// но я юзаю другую иде. и нах не надо джет тормознутое на яве
Аноним 21/05/16 Суб 21:41:44 #59 №749753 
>>749483
игровой проект пиши.
Аноним 21/05/16 Суб 22:00:02 #60 №749782 
Как отлаживать работу с кучей? Допустим я насоздавал всяких массивов в куче, а потом начал с ними делать операции. В итоге у меня постоянные corruption of the heap. Помогите!
Аноним 21/05/16 Суб 22:21:04 #61 №749810 
>>749782
Ты как-то неправильно работаешь с массивами. Не используй C-шные массивы, используй std::array или std::vector.
Аноним 21/05/16 Суб 22:40:47 #62 №749831 
>>749446
у тебя проект с precompiled headers. для нее его обязателен stdafx.h
создай пустой проект, в нем cpp файл. и в него напиши main функцию. и все будет работать без студийных прибамбасов
Аноним 21/05/16 Суб 23:36:57 #63 №749894 
14638630171590.jpg
14638630171591.jpg
14638630171592.jpg
>>749782
Рекомендую AddressSanitizer, замечательная вещь, с которой теперь только и пишу.
Аноним 22/05/16 Вск 00:10:36 #64 №749918 
>>749831
Добра, вот бы еще страуструпа осилить. Начал его книгу читать, но этот мудак впихнул файл #include"std_lib_facilities.h"

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

Он там предлагает скачать файл, я вроде по инструкции делаю, копирую в блокнот, вставляю в студию в хедер, переименовываю, но шаги 13 и 14 непонятны и поэтому ничего не работает.
Аноним 22/05/16 Вск 02:23:33 #65 №750001 
https://ideone.com/JCmTwO
Посоны, сократил по максимуму. Почему у меня происходит heap corruption в момент вызова HeapFree()?
Тоже самое у меня происходило при использовании new [], delete [].
Расскажите что это за ебаная куча и почему она корраптится.
Аноним 22/05/16 Вск 02:28:21 #66 №750002 
>>750001
> fatal error: 'windows.h' file not found
Аноним 22/05/16 Вск 02:30:03 #67 №750004 
>>750002
Да. Этот файл для шиндовс. Такие дела.
>>750001 Потому что ты не шаришь Аноним 22/05/16 Вск 02:32:45 #68 №750005 
>>750001
Потому что ты не шаришь в указателях. Ты не копируешь строку в вновь выделенную память. Ты просто меняешь значения указателя и передаешь указатель на память не из кучи в heapfree. А теперь пошел нахуй, неуч злоебучий. Книги надо читать сначала, а не с горящей жопой пытаться осваивать по верхам.
>>749918 страуструп - очень плохая книга для начала. читай шилда или еще какие для начинающих. Аноним 22/05/16 Вск 02:33:41 #69 №750006 
>>749918
страуструп - очень плохая книга для начала. читай шилда или еще какие для начинающих.
Аноним 22/05/16 Вск 03:01:08 #70 №750018 
14638752688270.png
>>750005
> Потому что ты не шаришь в указателях.
СЛОЖНА
Поправил:
https://ideone.com/0Cw89i
Аноним 22/05/16 Вск 03:22:09 #71 №750022 
>>750006
Липмана лучше
Аноним 22/05/16 Вск 03:30:37 #72 №750027 
>>749782
Если такая штука как valgrind, которая умеет отслеживать утечки памяти, обращение не в свою память, всякие прочие проблемы с кучей.
Аноним 22/05/16 Вск 08:04:29 #73 №750071 
>>750027
Ты забыл упомянуть нюфагу что на ШIИD0W2 её нет в природе.
Аноним 22/05/16 Вск 09:05:09 #74 №750088 
>>749654
Я сижу. Не идеально, но для меня лутше остальных IDE.
Аноним 22/05/16 Вск 10:11:15 #75 №750111 
>>750088
По работе с когом он лучше вообще всего, кроме студии. Где-то за ними плетётся кутякреатор, а дальше блокнотики с подсветкой кода вроде гном/кдебилдеров и кодблоксов.
sageАноним 22/05/16 Вск 11:04:35 #76 №750133 
Месяц не заходил — тут всё тот же тупняк.

Прррррр
Аноним 22/05/16 Вск 11:40:48 #77 №750150 
>>750111
>По работе с когом он лучше вообще всего, кроме студии.
Поехавший? По код ассисту студия не всасывает разве что у блокнота. Большие-проекты-кун гарантирует это.

>Где-то за ними плетётся кутякреатор, а дальше блокнотики с подсветкой кода вроде гном/кдебилдеров и кодблоксов.
Поехавший чтоле? У Eclipse CDT навигация по коду уровня CLion, а то и лучше. В рефакторинге немного проигрывает. Плюс, это единственная ide такого уровня, которая просто открывает makefile проекты.
Аноним 22/05/16 Вск 12:08:50 #78 №750157 
>>750150
>Поехавший?
У меня только с бустом были проблемы.
Те же исходники шланга с ллвмом вполне себе быстро открывается и студия с ним вполне себе работает (если не считать получасовой+ индексации).
>навигация по коду уровня
Заодно шрифты и гуй из шиндовс 98.
Аноним 22/05/16 Вск 12:09:14 #79 №750159 
>>750157
Уточню: рендеринг шрифтов.
Аноним 22/05/16 Вск 12:13:04 #80 №750163 
>>750157
>шланга с ллвмом
Че пилишь?
Аноним 22/05/16 Вск 12:13:26 #81 №750164 
>>750150
>просто
Мне даже интересно, каким животным нужно быть чтобы писать мэйкфайлы руками...
Аноним 22/05/16 Вск 12:14:47 #82 №750165 
>>750163
Компилятор своего языка на ллвме конечно же, что ещё можно писать копаясь в этих исходниках.
Аноним 22/05/16 Вск 12:14:55 #83 №750166 
>>750164
И чем makefile отличаются от cmake в плане написания, уважаемый?
Аноним 22/05/16 Вск 12:17:39 #84 №750171 
>>750165
Ну на вскидку: поддержку новой платформы, поддержку новых фич C++, прототипы фич для пропосалов в C++ стандарт, пилить static analyzer
Аноним 22/05/16 Вск 12:24:51 #85 №750176 
>>750163
https://habrahabr.ru/post/119850/
Аноним 22/05/16 Вск 13:55:54 #86 №750227 
>>749082 (OP)
http://ideone.com/tcUulk
Вот есть код из книги. Выполняю я упражнение, там написано напишете прогу для сумирования чисел от 50 до 100. И это я сделал, но вот что не понятно.

если мы задаем val = 1, то по логике выходит что 1 операция = 2, ибо val = 1+1=2.,

Причем если значения val = 0, то все збс (по логике, проверял в тетради)

Я то думал что val это просто значение переменной, но нет, это означает реальное стартовое число. Погромач обоссы.
Аноним 22/05/16 Вск 14:12:22 #87 №750243 
>>750227
Если выставить значение val =1 и val= 0, то результат будет одинаковым.
Аноним 22/05/16 Вск 14:20:12 #88 №750249 
>>750227
>если мы задаем val = 1, то по логике выходит что 1 операция = 2, ибо val = 1+1=2.,
>sum += val
sum = 0
val = 1
sum = sum + val то есть sum = 0 + 1
>>750243
Будет.
Аноним 22/05/16 Вск 14:24:16 #89 №750252 
>>750249
>++val
>val=val+1
Значит val = 1+1 =2
Аноним 22/05/16 Вск 14:30:43 #90 №750254 
>>750227
>>750243
>>750249
>>750252
Съебите. Пожалуйста
Аноним 22/05/16 Вск 14:37:06 #91 №750256 
>>750254
Мамкина элитка порвалась.

>>750227
Не понятно чему при val =0 и val = 1 результат будет одинаковым(такого не должно быть).

Аноним 22/05/16 Вск 14:41:18 #92 №750258 
>>750256
Блять. При val = 0 при первом проходе:
sum = sum(0) + val(0); //0 = 0 + 0
++val; /1
при втором проходе
sum = sum(0) + val(1); //1 = 0 + 1
++val; /2

При val = 1
sum = sum(0) + val(1); //1 = 0 + 1
++val; /2

при val одна итерация просто "лишняя"

Аноним 22/05/16 Вск 14:41:49 #93 №750260 
>>750258
при val = 0 одна итерация просто "лишняя"
фикс
Аноним 22/05/16 Вск 14:42:10 #94 №750261 
>>750249
мы должны еще к val прибавить 1, а поскольку val обладает уже значением единицы то 1+1 блять.

Потому вставить этот val ( со значением 2) в
sum += val
Аноним 22/05/16 Вск 14:44:51 #95 №750265 
>>750258
А все ясно. Вот это годно было.
Аноним 22/05/16 Вск 14:46:24 #96 №750268 
>>750258
Хотя стоп, 0+1 =1. Cхуяли они лишней должна быть 1 итерация?
Аноним 22/05/16 Вск 14:52:13 #97 №750271 
>>750268
При каких условиях?
Аноним 22/05/16 Вск 14:53:54 #98 №750272 
>>750271
Ну смотри, вот val = 0, но по коду(val=val+1) мы должны к нулю прибавить 1.
А потом вставить в сумму sum = val + sum(тут val у нас уже 1)
Аноним 22/05/16 Вск 14:56:11 #99 №750277 
>>750272
Аа.. мы должны тут(val=val+1) 0 должны прибавить, да? Пардоньте, мсье.
Аноним 22/05/16 Вск 14:58:07 #100 №750279 
>>750272
Код выполняется последовательно. Сначала ты суммируешь sum = sum + val; //0 + 0
потом инкрементируешь val на 1, проверяешь условие цикла val <= 50 //1 <= 50, поэтому снова попадаешь в тело цикла. В цикле вторая итерация опять суммирует
sum = sum + val; //0 + 1 = 1
++val; //2
Опять проверка условия цикла и опять в тело попадаешь
sum = sum + val; //1 + 2 = 3
и так до выхода из него.

Это твой первый язык программирования?
Аноним 22/05/16 Вск 15:07:47 #101 №750294 
>>750279
Да теперь доходит, добра.
sageАноним 22/05/16 Вск 15:08:16 #102 №750296 
>>750176
http://llvm.org/docs/tutorial/

Кстати, забавно сравнить C++- и OCaml-версии.
Первое выглядит унылым говном на фоне второго.
Аноним 22/05/16 Вск 15:48:23 #103 №750329 
>>750296
>мааам, высокоуровенный язык выглядит нечитабильнее круче!
Аноним 22/05/16 Вск 16:06:38 #104 №750345 
>>749415
Пусть симейк осваивает сразу. Бестс практис.
Аноним 22/05/16 Вск 16:09:05 #105 №750347 
>>749567
Ловите невфака.
Аноним 22/05/16 Вск 16:43:26 #106 №750382 
>>750006
Шилд, блядь, это такой экран чугунный, который образовался между твоим котелком и окружающим миром и мешает тебе расширять словарный запас. А фамилия автора - Шилдт. Как содержимое твоей репки на английском, только буква 'д' добавлена.
Аноним 22/05/16 Вск 16:45:59 #107 №750383 
Пиздец вы шустрые. Лучше бы в бамплимите сидели. ОП наверно опять не успеет стих запилить
Аноним 22/05/16 Вск 16:47:10 #108 №750384 
14639248309660.jpg
Как такое сделать?
Аноним 22/05/16 Вск 16:50:03 #109 №750386 
>>750384
Считать на какой позиции какая буква чаще всего встречается?
Аноним 22/05/16 Вск 16:52:52 #110 №750389 
>>750386
это через какую функцию делать?
Аноним 22/05/16 Вск 16:53:22 #111 №750393 
>>750389
for
Аноним 22/05/16 Вск 17:01:12 #112 №750394 
>>750393
получается нужно выирать самый частый символ и записывать его в новую строку, это и получится искомое слово?
Аноним 22/05/16 Вск 17:26:53 #113 №750412 
>>750389
while
Аноним 22/05/16 Вск 17:49:29 #114 №750419 
>>750384
проверяй https://ideone.com/PXMae5

>>750394
Наверно. Другого придумать не могу.
Аноним 22/05/16 Вск 17:57:39 #115 №750434 
>>750419
Спасибо, но пишет что неверно
Аноним 22/05/16 Вск 17:57:59 #116 №750435 
>>750434
Тесты показывай.
Аноним 22/05/16 Вск 18:01:55 #117 №750444 
>>750434
Кстати может быть случай когда нет решений. Нужно прогу допилить на этот случай. Что в условии про это? Давай линк сам зарегаюсь, почитаю и отправлю.
Аноним 22/05/16 Вск 18:04:03 #118 №750449 
>>750435
Я не знаю, где их взять, пишет wrong answer
Аноним 22/05/16 Вск 18:04:46 #119 №750452 
>>750449
И много таких?
Аноним 22/05/16 Вск 18:04:53 #120 №750453 
>>750444
держи линк, дружище
https://contest.yandex.ru/algorithm2016/contest/2498/enter/
Аноним 22/05/16 Вск 18:05:24 #121 №750455 
>>750452
на первом тесте валится
Аноним 22/05/16 Вск 18:06:37 #122 №750456 
>>750453
> У вас нет прав просматривать это соревнование
На кодфорс их не перезаливали? вк вроде так делает
Аноним 22/05/16 Вск 18:07:29 #123 №750458 
Нужна помощь: Есть форма и две переменные double x и double y. Как этим переменным присвоить координаты курсора, относительно формы? Например, при нажатии на кнопку, или просто при загрузке окна формы _Load.
Аноним 22/05/16 Вск 18:08:48 #124 №750462 
>>750382
доебался до опечатки, молодец. еще до имени страуструпа доебись.
Аноним 22/05/16 Вск 18:09:33 #125 №750465 
>>750462
А как джосатис правильно пишется?
Аноним 22/05/16 Вск 18:11:17 #126 №750467 
>>750456
не перезаливали, надо сделать почту яндекс, чтобы зайти
Аноним 22/05/16 Вск 18:11:24 #127 №750468 
>>750465
А как кохл корутин?
sageАноним 22/05/16 Вск 18:12:13 #128 №750469 
>>750468
>кохл корутин?
Лол. Даже я забыл свой псевдоним, а кто-то помнит.
Аноним 22/05/16 Вск 18:14:59 #129 №750475 
>>750467
> Известно, что как минимум одно слово из этого набора было набрано без ошибок, а все остальные слова отличаются от него не более чем в одной букве.
Важную часть пропустил. Нужно функция сравнения. Щас поем и сделаю.
sageАноним 22/05/16 Вск 18:17:57 #130 №750480 
>>750465
Джо Саттис.
Аноним 22/05/16 Вск 18:19:06 #131 №750481 
>>750475
>Важную часть пропустил
приношу свои извинения
Аноним 22/05/16 Вск 18:46:44 #132 №750512 
>>750071
>>749782
https://msdn.microsoft.com/en-us/library/ms220948.aspx
https://msdn.microsoft.com/en-us/library/windows/hardware/ff551063.aspx
Аноним 22/05/16 Вск 18:49:31 #133 №750516 
>>750453
все тесты успешно пройдены https://ideone.com/ItNqwe
очень некрасиво эти break и много ifов. Как красивее записать кто может?
Аноним 22/05/16 Вск 18:54:01 #134 №750525 
>>750516
Обалдеть. Подскажи, пожалуйста, как заниматься, чтобы до твоего уровня дойти? Посоветуй
Аноним 22/05/16 Вск 18:55:13 #135 №750530 
>>750458
Итак, теперь я могу отслеживать мышь, но есть проблема.
Я создал евент для ФОРМЫ чтобы при движении мыши ее координаты писались в лейбл. Проблема: мышь залезает на территорию какого-нибудь объекта, на котором ее координаты не считываются. Как исправить? Вот код:
private: System::Void Get_MPos_Move(System::Object^ sender, System::Windows::Forms::MouseEventArgs^ e)
{
double x1, y1;
x1 = this->Location.X - Cursor->Position.X;
y1 = this->Location.Y - Cursor->Position.Y;
label1->Text = System::Convert::ToString(x1) + " " + System::Convert::ToString(y1);
}
Аноним 22/05/16 Вск 18:57:03 #136 №750534 
>>750525
выучить кресты? нихуя для этого знать не надо. решение в лоб.
Аноним 22/05/16 Вск 18:59:52 #137 №750541 
>>750534
ты давно этим делом занимаешься?
Аноним 22/05/16 Вск 19:01:01 #138 №750543 
>>750541
3 года наверно но нихуя почти не знаю
Аноним 22/05/16 Вск 19:08:53 #139 №750552 
>>750543
И сколько в день часов на изучение уходит?
Аноним 22/05/16 Вск 19:09:53 #140 №750554 
>>750552
месяц не занимался обычно 2 когда особенно готовился то 6
Аноним 22/05/16 Вск 19:10:17 #141 №750556 
>>750458
Цель то какая?
Аноним 22/05/16 Вск 19:13:19 #142 №750562 
>>750543
но решил ведь задачу нормально, значит можешь. Самообразованием занимаешься или еще где учился?
Аноним 22/05/16 Вск 19:16:06 #143 №750568 
>>750562
>решил ведь задачу
решение в лоб. никакого алгоритма нет. будь ограничения больше задача бы не прошла

>Самообразованием
оно
Аноним 22/05/16 Вск 19:25:07 #144 №750582 
>>750568
Глянь опытным глазом. Вот здесь https://ideone.com/TIGgqK

Нужно, вообщем, чтобы на ЭКРАн выводилась сумма каждой итерации.
1) 10-1=9
2)10- 2 = 8
ну ты понел, у меня только конечный результат пишет.
Аноним 22/05/16 Вск 19:27:36 #145 №750589 
>>750582
> val = 10
> val <= 0
> --val;
> добавить 1 к val
Аноним 22/05/16 Вск 19:29:29 #146 №750592 
>>750589
Я в курсе, мне лень комменты было менять.
Аноним 22/05/16 Вск 19:34:32 #147 №750595 
>>750592
> val = 10
> val <= 0

>>750582
https://ideone.com/KV7ZYx так?

А теперь лабы идут нахуй.
Аноним 22/05/16 Вск 19:34:49 #148 №750596 
>>750589
Кстати, по идеи, если не стоит val = 0, то разве компилятор не должен считать бесконечно в -?
Аноним 22/05/16 Вск 19:37:33 #149 №750600 
>>750595
>>750595
Не, не, я по книжке, никаких лаб.

Нет, не так. есть val =100, и мы каждую итерацию делаем --val, результаты каждой итерации вывести.
Аноним 22/05/16 Вск 19:39:36 #150 №750602 
>>750600
До нуля, забыл написать.
Аноним 22/05/16 Вск 19:55:49 #151 №750627 
>>750600
В твоем случае будет просто идти отчет от 10 до 0.
А в том коде будет примерно
1)10= 10-1 = 9
2)9= 9-2 = 7
3)7 =7-3=4
и вот на экран нужно каждую итерацию вывести.
и тд.
Аноним 22/05/16 Вск 20:14:52 #152 №750660 
>>750627
https://ideone.com/9SDz7k
так шоле?
Аноним 22/05/16 Вск 20:16:15 #153 №750662 
>>750627
>>750660
просто не очень уловил условие, мимоцппил
Аноним 22/05/16 Вск 20:26:45 #154 №750676 
>>750627
>>750660

>Глянь опытным глазом. Вот здесь
посмотрел

https://ideone.com/6AY9cz так нужно?
sageАноним 22/05/16 Вск 20:30:55 #155 №750682 DELETED
хороший тред раньше был!
Аноним 22/05/16 Вск 20:32:12 #156 №750685 
>>750600
>Не, не, я по книжке, никаких лаб.
съебал в ньюфаготред
Аноним 22/05/16 Вск 20:56:56 #157 №750709 
>>750556
Двигать мышку по территории ВСЕГО окна и считать координаты.
Аноним 22/05/16 Вск 21:01:08 #158 №750715 
>>750709
qt или самописное?
Аноним 22/05/16 Вск 21:04:49 #159 №750721 
>>750709
GetCursorPos
+
GetWindowRect
Аноним 22/05/16 Вск 21:09:00 #160 №750727 
>>750676
> видимость: secret
Боишься что мамка увидит или что?
Аноним 22/05/16 Вск 21:21:26 #161 №750739 
14639412869520.jpg
>>750027
>>749894
valgrind - ненужная и страшно тормозная параша по сравнению с AddressSantizer. Его плюс не в самом valgrind а в его профайлерах/kcachegrind.
Аноним 22/05/16 Вск 21:22:07 #162 №750740 
>>750715
Я лоу левел, не понимаю про что ты. Пишу на с++ в виндоус формах. IDE - visual studio 2013
Аноним 22/05/16 Вск 21:23:03 #163 №750741 
>>750740
>лоу левел
>виндоус формах
бери qt
Аноним 22/05/16 Вск 21:26:29 #164 №750744 
>>750741
А самописное как делается? winapi? Мне бы гайдов. Я находил в инете, но у меня даже окно не запускается. Много перепробовал.
Аноним 22/05/16 Вск 21:29:45 #165 №750747 
>>750744
под самописным я имел ввиду кнопки на opengl.
https://wiki.qt.io/Qt_for_Beginners
а лучше, пока что, попиши консольный бред. Алгоритмы там и прочее.
Аноним 22/05/16 Вск 21:31:53 #166 №750749 
>>750747
Спасибо, я буду пробовать.
Аноним 22/05/16 Вск 21:34:16 #167 №750752 
>>750749
если плохо с англ. погугли на русском. Ну и видосы на ютьюбе есть.
Аноним 23/05/16 Пнд 00:00:17 #168 №750952 
14639508177500.png
>>750676
>>750660
Сори, отходил. Вот упражнение из книги(если интересно)
Да, и то и то можно подогнать. Ок спасиб, пойду разбираться.
Аноним 23/05/16 Пнд 00:31:39 #169 №750972 
>>750952
А что за книга?
Аноним 23/05/16 Пнд 00:36:22 #170 №750979 
>>750972
Липпман же.
Аноним 23/05/16 Пнд 00:36:55 #171 №750980 
>>750979
Ну да. Это все знают.
Аноним 23/05/16 Пнд 00:43:04 #172 №750986 
>>750979
>>750980
Спс, я полный ньюфажка, нечего не знаю. Вчера решил вкатится.
Аноним 23/05/16 Пнд 00:58:15 #173 №751006 
>>750952
конкретна эта задача на три строки
int val = 10;
while(val)
{
std::cout << val;
val--;
}

И, таки да. Не забудь прочитать про разницу между префиксным и постфиксным ( val++ / ++val )
sageАноним 23/05/16 Пнд 01:03:08 #174 №751016 
>>751006
>Знает разницу между постфиксным и префиксным декрементом
>Все еще использует постфиксный декремент
Аноним 23/05/16 Пнд 01:07:27 #175 №751019 
Ух, как же меня корежит от вашей байтопараши. Сил нет читать эти сраные книги. Сука, как же я это все ненавижу.
Аноним 23/05/16 Пнд 01:15:34 #176 №751026 
>>751016
gowno++;
++gowno;
какая разница как херачить в отдельной строке?
Аноним 23/05/16 Пнд 01:16:54 #177 №751027 
>>751019
Молодец. Возьми с полки чупа-чупс, заткни им жопу. Это ненадолго остановит пламя.
sageАноним 23/05/16 Пнд 01:17:38 #178 №751028 
>>751026
Вот почитай про отличия между вариантами и поймешь, почему на отдельной строке лучше использовать префикс вместо постфикса.
Аноним 23/05/16 Пнд 01:30:10 #179 №751031 
>>751028
>>751028
на, сам почитай https://msdn.microsoft.com/ru-ru/library/e1e3921c.aspx
>Операция инкремента или декремента выполняется после вычисления операнда. Эта особенность возникает, только когда постфиксная операция инкремента или декремента выполняется в контексте выражения.

Теперь объясни мне серому, или лучше пример приведи, где инкремент отдельной строкой будет лучше префиксным
Аноним 23/05/16 Пнд 01:51:39 #180 №751037 
>>751006
https://ideone.com/6ffBZ4
Годный сайт чтобы эффективно учить кресты Аноним 23/05/16 Пнд 01:59:21 #181 №751041 
Дайте пожалуйста годных сайтов, чтобы Learn и Reference на простейшем английском, максимум дружелюбно, эффективно и просто. Что-то вроде HTMLAcademy, W3Schools, вот такого. Чтобы в одном окошке "учиться", читать и, может быть, даже тестить там же, а в другом, если что, без походов в гугл, вбивать неизвестные операторы, чтобы читать про их параметры, либо вбивать запрос вроде "regular expressions in c++" и находить решение сразу же, без сотни васяновских говносайтов с говнокодом из нулевых.
Аноним 23/05/16 Пнд 02:00:03 #182 №751045 
>>751041
Нет такого. Задачки с кодфорса можно решать.
Аноним 23/05/16 Пнд 02:09:38 #183 №751048 
>>751045
Не гони. По любой хуйне такое уже есть. Мне просто нужно написать несколько хуевин, но я не готов ради них читать 5к страниц по чистым плюсам, бутстрапу, кьюту/гтк, etc...
Аноним 23/05/16 Пнд 02:11:40 #184 №751051 
>>751041
http://academy.cppstudio.com/

но там только основы
и иногда не очевидно, отчего тамошний компилятор не принимает, вроде бы, парвильное решение (ах да, фигурные скобочки не стоят, где не обязательно; и подобное )
хотя всё не так плохо для начала
Аноним 23/05/16 Пнд 02:12:07 #185 №751052 
>>751045
Хотя бы что-то вроде http://www.w3schools.com/tags/ref_byfunc.asp и htmlbook, я хуй знает, чтобы не ебать гугл каждый раз и читать хуету из 2003
Аноним 23/05/16 Пнд 02:13:21 #186 №751054 
>>751037
что это?
Аноним 23/05/16 Пнд 02:16:21 #187 №751055 
>>751051
Это все бесплатно?
Вот мне что-то такое, можно даже без интерактива,
>Хотя бы что-то вроде http://www.w3schools.com/tags/ref_byfunc.asp и htmlbook
но по более серьезным вещам. Контейнеры всякие типа МАП, ЛИСТ, регекспы, высокоуровневая работа с ФС, Win32_API, создание гуя, работа с DOM...
Аноним 23/05/16 Пнд 02:20:54 #188 №751059 
>>751055
Бесплатно.
>но там только основы
за остальное нужно брать нормальную книгу и закуривать.
Аноним 23/05/16 Пнд 02:26:42 #189 №751064 
>>751059
Мне кажется, только перечисленная хуйня потребует книг 5, нет? А онлайн референсы? Какие-то сайты хотя бы по отдельным темам? Чому у всех есть, а у плюсов нет? Алсо,
>>749082 (OP)
Почему первая ссылка ведет на Липмана, а не Страуструпа или Прату?
И есть ли смысл чтения последнего, если страус вышел на 4 года позже? Там ведь новые стандарты вышли...
Аноним 23/05/16 Пнд 02:30:40 #190 №751068 
>>751064
>страус
сложно
>Прату
старо
>Липмана
заебись
Аноним 23/05/16 Пнд 02:38:39 #191 №751075 
>>751068
Чего сложного, чего там старого и чем липман конкретнее новее (выйдя еще даже до 2015) и проще? Вот чем он реально проще, чем так сложен страус? Уж проще праты только шилдт наверное. Почему его нет кстати?
Аноним 23/05/16 Пнд 02:44:50 #192 №751080 
>>751075
>чем так сложен страус
У всех кто читал спроси. Каждый ответит что страус сложный.
>Уж проще праты
Он не сложный, а старый. Старее Липмана

>>751075
>шилдт
>Почему его нет
Должен быть. Проверь ещё раз.
Аноним 23/05/16 Пнд 02:55:16 #193 №751085 
>>751075
Страуструп в первом же примере с хелло ворлд пишет: #include"std_lib_facilities.h"

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

Он конешно предлагает закинут этот файл в студию, но я пробовал, но шаги 13 и 14 не понятны и вообщем забил пока что на него, вернусь попозже.
Хочется, по книге идти, где можно использовать примеры и разбирать их без танцов с бубном.

Аноним 23/05/16 Пнд 02:56:16 #194 №751086 
>>751085
>Онлайн компиляторе. фикс
Аноним 23/05/16 Пнд 02:57:04 #195 №751087 
>>751080
Я имею ввиду, в основных. Ну ясное дело, что старее, но несильно.
>>751085
Может просто стдлиб попробовать? Что же там за пример такой?
Аноним 23/05/16 Пнд 03:01:44 #196 №751089 
>>751087
пример

#include"std_lib_facilities.h"
int main{}
{
cout<<"Hello, World!\n";
return 0;
}

>Может просто стдлиб
А может и ионстрим попробовать, ну а что, хелло ворлд написать и так можно. Танцы с бубном же.
Аноним 23/05/16 Пнд 03:02:07 #197 №751090 
>>751089
>иострим фикс.
Аноним 23/05/16 Пнд 03:02:21 #198 №751091 
>>751085
он учил добавлять хейдеры поэтому в кавычках
Аноним 23/05/16 Пнд 03:04:58 #199 №751092 
>>751091
https://ideone.com/cNWhYW
Аноним 23/05/16 Пнд 03:05:40 #200 №751094 
>>751092
зачем ты это сделал?
Аноним 23/05/16 Пнд 03:07:52 #201 №751096 
>>751089
>{}
ковычки еще проебал, там ()
Аноним 23/05/16 Пнд 03:09:50 #202 №751097 
>>751094
Я уже спать иду..
Аноним 23/05/16 Пнд 03:15:50 #203 №751098 
>>751089
Ну так о том и речь, что иострим и стдлиб отлично зайдут. Это единственная "сложность" страуструпа или назовете еще?
>>751080
>>751085
А с чего вы взяли, что липпман не старее страуструпа, но проще, а вот прата значительно старее страуструпа? Кроме года издания, который нихуя не значит?
Аноним 23/05/16 Пнд 03:18:03 #204 №751102 
>>751098
>значительно
Не говорили такого.

Первой может быть только 1 книга и липпман победил благодаря году издания, который нихуя не значит.
Аноним 23/05/16 Пнд 03:21:32 #205 №751103 
>>751098
Я просто выбрал учебник. Первый же пример из книги не работает, а автор предлагает пердолясь закинуть нужный файл.

Не знаю, чего вы там батхертите, обязательно вернусь к Страуструпу, но после того как пройду учебник для новичков по языку, где есть рабочие примеры.
Аноним 23/05/16 Пнд 03:34:36 #206 №751113 
>>751102
Но прата интуитивнее, а его подача способствует изучению, практике его примеров, а не тупо сидению с учебником ридонли. В свое время, когда я выбирал между липпманом и шилдтом, мне посоветовали прату, и не зря.
Аноним 23/05/16 Пнд 03:34:58 #207 №751115 
>>751102
Но прата интуитивнее, а его подача способствует изучению, практике его примеров, а не тупо сидению с учебником ридонли. В свое время, когда я выбирал между липпманом и шилдтом, мне посоветовали прату, и не зря.

И дело не в первоте в списке, а вот этой самой первой ссылкой создается впечатление, что липман какая-то особая годнота.
Аноним 23/05/16 Пнд 04:13:29 #208 №751138 
>>751115
>мне посоветовали прату
Он хоть про C++11?
Аноним 23/05/16 Пнд 04:18:03 #209 №751140 
>>751138
Кек))) а липман хоть про 15 (теперь серьезно, если нет, то он вообще нихуя не старее ни разу)?
Аноним 23/05/16 Пнд 04:20:26 #210 №751143 
>>751140
У тебя с Cerebral Cortex всё в порядке?
Аноним 23/05/16 Пнд 04:21:15 #211 №751144 
>>751138
И да, ты много вообще переведенных книг по с++ 14 назовешь?
>>751140
14, фикс
Аноним 23/05/16 Пнд 04:21:45 #212 №751145 
>>751143
Очень содержательный ответ, и смешной, молодец.
Аноним 23/05/16 Пнд 04:25:07 #213 №751146 
>>751144
Бьярне Страуструп.
Аноним 23/05/16 Пнд 04:33:52 #214 №751149 
>>751146
Хую выше он сложнасложнанипанятна
Аноним 23/05/16 Пнд 04:44:44 #215 №751155 
>>751149
Так пусть уёбывает 1с программировать.
В книге всё предельно просто и понятно. И что такое include тоже объясняется.
Аноним 23/05/16 Пнд 05:10:04 #216 №751170 
>>751155
Я что, спорю? Я не понимаю, нахуя старого жида запихнули во всея сишников первыя книгу вместо трупа/праты
Аноним 23/05/16 Пнд 05:12:41 #217 №751172 
>>751041
>>751052
>>751055
Бамп
Аноним 23/05/16 Пнд 05:58:04 #218 №751180 
http://rgho.st/67KTlxpyk
Запустите мой бинарник. Работает?
Аноним 23/05/16 Пнд 09:58:33 #219 №751242 
>>751031
Если компилятор не оптимизирует будет лишняя трата тактов процесора
Аноним 23/05/16 Пнд 11:53:05 #220 №751287 
Лично меня заебал этот ньюфаг, который срет по 50 постов в час. А вас?
Аноним 23/05/16 Пнд 12:00:51 #221 №751293 
>>751287
Половину из этого писал не я.
Аноним 23/05/16 Пнд 12:00:52 #222 №751294 
Кто-нибудь использовал std::enable_if для конструкторов? В VC++ проблем нет, в GCC похоже не срабатывает трейт, хотя условия выполняются точно и инстанцируются все конструкторы.
http://pastebin.com/WBrRhmCS
Аноним 23/05/16 Пнд 12:24:44 #223 №751313 
>>751294
http://en.cppreference.com/w/cpp/types/enable_if

см. notes.
Аноним 23/05/16 Пнд 12:27:34 #224 №751317 
>>751313
Просто перенеси enable_if в тело конструктора.
Аноним 23/05/16 Пнд 12:34:37 #225 №751323 
>>751313
>>751317
Спасибо. Так и сделал, проебал этот момент в доке.
Аноним 23/05/16 Пнд 12:35:16 #226 №751324 
>>751323
Потому что в студии прокатило успешно.
Аноним 23/05/16 Пнд 13:40:56 #227 №751359 
>>751155
> в книге всё как в остальных только читать дольше т.к. сложно написано
> неосилил уёбывай
Ну и зачем жрать говно? С непривычки не переваришь. Когда выучишь кресты тогда читай страуструпа
Аноним 23/05/16 Пнд 13:53:14 #228 №751363 DELETED
228
Аноним 23/05/16 Пнд 13:58:31 #229 №751366 DELETED
>>751363
229
Аноним 23/05/16 Пнд 14:04:42 #230 №751373 
Блеать, книги есть, переведены даже;
Учи, не хочу. Хочу жрать говно ныть на дваче про свою неосиляторность
Аноним 23/05/16 Пнд 17:05:26 #231 №751600 
14640123263570.jpg
>>751373
О это про меня. Читаю книгу не могу осилить упражнение. Мега простое, но такой вот я тупой пиздец.
Аноним 23/05/16 Пнд 17:06:00 #232 №751603 
Как же это удручает быть тупым, и так все тлен так еще и тупой.
Годный сайт чтобы эффективно учить кресты Аноним 23/05/16 Пнд 17:12:28 #233 №751611 
Дайте пожалуйста годных сайтов, чтобы Learn и Reference на простейшем английском, максимум дружелюбно, эффективно и просто. Что-то вроде HTMLAcademy, W3Schools, вот такого. Чтобы в одном окошке "учиться", читать и, может быть, даже тестить там же, а в другом, если что, без походов в гугл, вбивать неизвестные операторы, чтобы читать про их параметры, либо вбивать запрос вроде "regular expressions in c++" и находить решение сразу же, без сотни васяновских говносайтов с говнокодом из нулевых.

Вот мне что-то типа вашей этой академи, да, можно даже без интерактива,
>Хотя бы что-то вроде http://www.w3schools.com/tags/ref_byfunc.asp и htmlbook
но по более серьезным вещам. Контейнеры всякие типа МАП, ЛИСТ, регекспы, высокоуровневая работа с ФС, Win32_API, создание гуя, работа с DOM...

Чтобы каждый раз гугл не ебать.
Аноним 23/05/16 Пнд 17:42:47 #234 №751644 
>>751600
>>751603
Ура, я не тупой! Сделал!

https://ideone.com/v6SzN3

Посмотрите плиз, правильно? а можно также только while сделать? в книге просто на момент задания for еще не юзался, но я схитрил и заюзал.
Аноним 23/05/16 Пнд 17:57:34 #235 №751673 
>>751644
> using namespace std;
> std::cout
> Ура, я не тупой!
Аноним 23/05/16 Пнд 18:03:25 #236 №751680 
>>751600
А линканите мне список таких простых задачек для изучения языка.
Аноним 23/05/16 Пнд 18:07:33 #237 №751683 
>>751644
Ньюфаг, я понимаю, что ты еще мало знаешь и все такое, но ты реально срешь в тред своим нытьем.

Вот тебе совет, как нужно учиться:
- Составляешь список литературы и ресурсов, где брать информацию
- Читаешь материал, пробуешь примерчики, разбираешься во ВСЕХ моментах, которые тебе не ясны
- Придумываешь себе задачку, экспериментируешь.

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

А теперь съеби в ньюфаг-тред и не заходи сюда до тех пор, пока не напишешь свой простенький компилятор.
Аноним 23/05/16 Пнд 18:09:40 #238 №751686 
>>751683
Истинно так. Давай, парень, не шали, а то милиционера позовем.
Аноним 23/05/16 Пнд 18:12:07 #239 №751691 
>>751687
Что здесь было?
Аноним 23/05/16 Пнд 18:20:18 #240 №751707 
Давайте решим усложнённую версию задачки из этого треда https://2ch.hk/pr/res/739345.html
1. Размер массива не 368, а 18 446 744 073 709 551 616.
2. В скобках пишется строка, а не число.
3. Сделать нужно на чистом С.
Аноним 23/05/16 Пнд 18:22:06 #241 №751709 
>>751707
решай. кто тебе мешает?
Аноним 23/05/16 Пнд 18:23:22 #242 №751711 
>>751709
Вместе давайте. Мы же тут обсуждаем сложные задачи. Не достаточно сложно?
Аноним 23/05/16 Пнд 18:24:44 #243 №751715 
>>751711
это не задача. это хуета.
Аноним 23/05/16 Пнд 18:24:55 #244 №751716 
>>751673
Компилятор задолбал ругаться когда я писал без std::, потом я добавил пространство имен, а вверху ввод забыл поправить.
>>751680
Я сам не знаю где брать такие задачи. Данная из книги C++ Primer, 5th Edition.pdf
>>751683
Благодарю за развернутый ответ, илитарий. В этот тред я написал, т.к подумал что хрен решу задачу, однако все же решил. Я не сру в тред, первый раз написал. А в ньюфаг-треде одни такие же раки как я, кто мне там поможет?
Аноним 23/05/16 Пнд 18:26:40 #245 №751717 
>>751715
В том треде на крестах 3 решения и все абсолютно разные. Уверен можно ещё сделать.
Аноним 23/05/16 Пнд 19:10:45 #246 №751791 
>>749397
#include <iostream>;

using namespace std;

int main()
{
setlocale(LC_ALL, "Russian");
float x, y, z;
cout << "Введите пожалуйста первое число: ";
cin >> x;
cout << "Введите пожалуйста второе число: ";
cin >> y;
z = x + y;
cout << "Сумма двух числе: " << z << endl;
system("pause");

}


Нахуй ты пишешь std?
Аноним 23/05/16 Пнд 19:12:04 #247 №751794 
>>751791
нахуя ты сюда пишешь?
Аноним 23/05/16 Пнд 19:12:24 #248 №751796 
>>751794
Потому что я могу. А ты?
Аноним 23/05/16 Пнд 19:13:58 #249 №751799 
>>751796
потому что ньюфаги испортили тред
Аноним 23/05/16 Пнд 19:15:06 #250 №751802 
>>751799
Извини. Я просто зашел сюда искать какой нибудь полезной информации в спорах между анонами.
Аноним 23/05/16 Пнд 19:17:13 #251 №751804 
>>751717
Памяти не хватит в любом случае, даже если предположить, что на каждую функцию в массиве уйдет один байт. Мастерство в умении избежать необходимости делать говно.
Аноним 23/05/16 Пнд 19:18:46 #252 №751806 
>>751799
Похоже, стихи служили какой-то защитой от долбоебов.
Аноним 23/05/16 Пнд 19:19:18 #253 №751807 
>>751804
Это если все 3 пункта выполнить? А по одному?
Аноним 23/05/16 Пнд 19:21:33 #254 №751811 
>>751807
Да даже по первому.
Аноним 23/05/16 Пнд 19:23:07 #255 №751813 
>>751806
а куда оп пропал вообще?
ОП - СТИХОПЛЕТ. ОТЗОВИСЬ. ТЫ С НАМИ?
Аноним 23/05/16 Пнд 19:40:56 #256 №751826 
>>751611
Бамп
Аноним 23/05/16 Пнд 19:42:30 #257 №751828 
>>749415
Ебать, все крестовики такие упоротые? Нет QtCreator лучше.

Мимо java-бог в девичестве плюсовик
Аноним 23/05/16 Пнд 19:43:22 #258 №751829 
>>751813
Он пошёл учить D, а потом спился насмерть узнав что такой язык был а он кушал фикалий. кекус
Аноним 23/05/16 Пнд 19:45:14 #259 №751830 
>>751829
не верю
Где топовые стихи в D треде?
Аноним 23/05/16 Пнд 19:45:27 #260 №751831 
>>751813
Стих на инглише наверно пишет.
Аноним 23/05/16 Пнд 19:48:16 #261 №751836 
>>751830
>Где топовые стихи? В D треде!
фикс
Аноним 23/05/16 Пнд 19:50:25 #262 №751838 
>>751830
>>751829
>спился насмерть
Был крестовик и нет крестовика, такие дела.
Аноним 23/05/16 Пнд 21:18:53 #263 №751938 
>>751799
Рак, убивающий /зк.
Аноним 23/05/16 Пнд 21:20:47 #264 №751941 
>>751799
Может памятку ньюфага повыше в шапке поднять?
Аноним 23/05/16 Пнд 21:34:38 #265 №751970 
>>751611
Еще бамп
Аноним 23/05/16 Пнд 21:51:22 #266 №752011 
>>751970
Дежурно сходи нахуй со своим бампом. Совсем ньюфаги охуели - еще и бампают свои высеры.
Аноним 23/05/16 Пнд 22:08:45 #267 №752030 
>>751970
Нет таких сказали уже.
Аноним 23/05/16 Пнд 22:58:03 #268 №752079 
>>752030
А если найду?
Аноним 23/05/16 Пнд 23:00:24 #269 №752083 
>>752079
Отсосу.
Аноним 23/05/16 Пнд 23:53:11 #270 №752168 
аноны такой вопрос. Допустим у меня есть платформозависимый код. Ну пусть класс Window. Очевидно, что мне нужно иметь два класса WinWindow и LinuxWindow. Сейчас я делаю так:
#ifdef WIN
typedef WinWindow Window
#else
typedef LinuxWindow Window

Я думаю это не правильно. Как сделать правильно?
Аноним 24/05/16 Втр 00:02:29 #271 №752187 
>>752168
Qt заворачивает весь платформозависимый код условно в один класс: платформонезависимый интерфейс находится в хедере, а платформозависимый - в cpp файле для каждой платформы.

Т.е. есть Window.h и есть WindowWin.cpp, WindowMac.cpp и т.д. Затем в системе сборки в зависимости от target-платформы определяется, какой cpp'шник будет компилироваться.
Аноним 24/05/16 Втр 00:08:09 #272 №752198 
>>752187
идею понял. Правда я не про qt говорил. А вот допустим у нас есть отдельные дескрипторы для win и mac окна. Как мне их тогда объявлять в хедере?
Аноним 24/05/16 Втр 00:11:03 #273 №752204 
>>752198
Я Qt привел для примера. Дескрипторы, как и весь платформозависимый код, не должны появляться в хедерах ни в каком виде.
Аноним 24/05/16 Втр 00:13:12 #274 №752208 
>>752204
Другой вариант - сделать интерфейс Window и наследовать от него WinWindow и LinuxWindow. Инстанциировать под ifdef'ом, естественно.
Аноним 24/05/16 Втр 00:16:26 #275 №752212 
>>752204
>Дескрипторы, как и весь платформозависимый код, не должны появляться в хедерах ни в каком виде.
Хм... А как тогда?
Аноним 24/05/16 Втр 00:25:02 #276 №752231 
>>752198
window.h:
class Window {
//methods declarations
};

windowWin.cpp:
//methods definitions for Win

windowLinux.cpp:
//methods definition for Linux

Makefile:
linux: window.h windowLinux.cpp
g++ -o window.o windowLinux.cpp

win: window.h windowsWin.cpp
mingw -o window.o windowWin.cpp
Аноним 24/05/16 Втр 00:26:28 #277 №752233 
>>752231
Да. Я так и понял. Просто где мне создавать дескриптор окна?
Аноним 24/05/16 Втр 00:28:04 #278 №752236 
>>752233
Иди кури сорцы Qt: https://github.com/qtproject/qt/blob/4.8/src/gui/kernel/
и, в частности,
https://github.com/qtproject/qt/blob/4.8/src/gui/kernel/qapplication_win.cpp
Аноним 24/05/16 Втр 00:54:00 #279 №752280 
Всё. Разобрался. Вариант с наследованием для меня не очень. Не хочу тянуть лишние вирт. методы. Сделаю как в cocos2d-x. Завтра ещё посмотрю как в qt. А то сегодня уже спать хочу.
Спасибо всем, аноны!
Аноним 24/05/16 Втр 01:32:02 #280 №752308 
>>752168
причем тут тайпдеф??
Аноним 24/05/16 Втр 03:04:43 #281 №752341 
>>752280
> Не хочу тянуть лишние вирт. методы.
Используй шаблоны и статический полиморфизм.
sageАноним 24/05/16 Втр 08:00:14 #282 №752410 
Петушочки, дайте ссылку на шапку на жидхабе.
Аноним 24/05/16 Втр 09:26:01 #283 №752452 
есть темплейтобоги в треде? видел какую ебалу можно на них творить... параметризация алгоритмов и структур данных, например, параметризованный сортер для дерева, или параметризованная underlying structure для кучи, кастомные аллокаторы и прочая мета. ну, или вот, например, https://github.com/lukasmartinelli/py14
оно все, конечно, круто, но вот вопрос: выходит ли это за рамки игр с фичами языка, и используется ли это кем-то, кроме александреску и разрабов boost, в реальных проектах? просветите, а то не могу ничего годного найти
Аноним 24/05/16 Втр 10:27:04 #284 №752475 
>>752452
Используются ли на столько замудренные способы - не знаю, но я использую, особенно когда приходится иметь дело с параметрами разных типов, чтобы не было копипасты и трудноподдерживаемого кода.
Аноним 24/05/16 Втр 10:45:49 #285 №752491 
>>752452
Широко использую трейты через CRPT.
Аноним 24/05/16 Втр 11:38:48 #286 №752519 
>>752452
>параметризация алгоритмов и структур данных, например, параметризованный сортер для дерева, или параметризованная underlying structure для кучи, кастомные аллокаторы и прочая мета
Это все называется паттерном "Стратегия". Ничего сверхестественного здесь нет. Да и вообще в шаблонах тоже нет. Всего есть до пяти приемов, которые формируют полноту по Тьюрингу. Но даже зная их, нормальные люди не страдают хуйней по типу написания парсеров на шаблонах, потому что эта ебота получится write-only, без возможности отладки и будет компилиться часами. Короче говоря, нормальные люди в таких ситуациях использую решения, написанные на полноценных языках.
Аноним 24/05/16 Втр 11:43:43 #287 №752523 
> Ебашим proposals всем двощем.
https://habrahabr.ru/company/yandex/blog/301514/
Аноним 24/05/16 Втр 11:49:34 #288 №752525 
>>752519

>Всего есть до пяти приемов
а можешь написать, что это за приемы

>решения, написанные на полноценных языках
лол, а кресты не полноценный язык?
Аноним 24/05/16 Втр 11:56:58 #289 №752529 
>>752525
> лол, а кресты не полноценный язык?
Имелись в виду сами шаблоны, а не цпп в целом.
мимокрок
Аноним 24/05/16 Втр 12:07:11 #290 №752533 
>>752525
>а можешь написать, что это за приемы
В целом, для реализации всего на свете нужны только условия, циклы(или рекурсия) и память. Условия в шаблонах - by design, рекурсия - через числовой параметр шаблона, память - через константные статические переменные. Все остальное - уже надстройки над этими тремя средствами.
Аноним 24/05/16 Втр 12:08:59 #291 №752536 
>>752533
Пардон, условия не by design, а через LUT в виде специализаций шаблонов(traits).
Аноним 24/05/16 Втр 12:18:28 #292 №752542 
>>752536
Что такое LUT?
Аноним 24/05/16 Втр 12:21:01 #293 №752544 
>>752542
look up table
Аноним 24/05/16 Втр 16:04:18 #294 №752727 
Есть данные, хранящиеся в векторе. В один момент нужно изменить размер вектора и отсортировать данные в нем. Можно ли это сделать без создания дополнительного вектора?
Аноним 24/05/16 Втр 16:20:41 #295 №752740 
>>752727
Да. resize и std::sort.
Аноним 24/05/16 Втр 16:22:06 #296 №752742 
>>752740
Суть в том, что нужна не простая сортировка, а что-то вроде распределение ключей в хеш-таблице, которые (ключи) зависят от ее размера. Соответственно изменяя размер необходимо полностью поменять положение элементов
Аноним 24/05/16 Втр 16:28:37 #297 №752745 
>>752742
Ну так ты сначала меняешь размер, а потом пересортировываешь вектор уже с новым размером. В чем проблема?
Или я чего-то не понимаю?
Аноним 24/05/16 Втр 16:53:38 #298 №752761 
>>752742
>Соответственно изменяя размер необходимо полностью поменять положение элементов
swap?
Аноним 24/05/16 Втр 18:11:43 #299 №752838 
>>752745
>>752761
бля, я ебаный ньюфаг и не могу объяснить задачу, гоните меня ссаными тряпками нахуй.

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

Я делаю так: помещаю исходные элементы в новый вектор, изменяю размер исходного, очищаю его и потом последовательно переношу из временного вектора данные в новый уже с новыми ключами.
Можно ли это сделать как-то без создания доп. вектора?
Аноним 24/05/16 Втр 18:19:55 #300 №752846 
>>752838
>просто сделать ресайз не получится, нужно по новому прогнать все элементы, так как их позиции уже изментся в связи с изменением размера таблицы.
Обычно именно так и делают. Твой способ годится только для RT систем, где проще выделить память, чем проебаться с рехэшом.
Аноним 24/05/16 Втр 19:15:54 #301 №752907 
>>752838
В векторе есть пустые ячейки и занятые? Не проще мап взять? Проблема возникает только если тебе 1 элемент надо положить в уже занятую ячейку? Тогда можно рекурсивно искать элемент который можно переложить в пустую ячейку. Типа поиск в глубину. Тогда проблема может быть только с зацикливание. Что делать если наткнулся на цикл понятно. Тупо переложить все элементы по очереди. Сложнее его задетектить. Наверно надо множество создавать в котором будут номера элементов которые уже переложены на свои места и их нельзя трогать. Или только те элементы что посещались в момент рекурсии. Тогда с каждой выходом из рекурсии его можно очищать. Ну и осталось по очереди все элементы перебирать и заново функцией хэш считать. Должно быстрее работать. Правильно условие понял?
Аноним 24/05/16 Втр 19:38:23 #302 №752930 
14641079036260.gif
>>752491
>CRPT
>CRPT
Аноним 24/05/16 Втр 21:04:03 #303 №752988 
Кто-нибудь этим пользовался?
http://www.interstron.ru/developers_means2.html
Аноним 24/05/16 Втр 21:10:07 #304 №752996 
>>752907
бля, ты условие понял правильно, мап не покатит, т.к. каждая ячейка имеет много полей (структура). Исходя из твоих слов я понимаю, что будет проще все таки с вторым вектором
Аноним 24/05/16 Втр 21:23:14 #305 №753016 
>>752988
http://interstron.ru/upload/images/pubs/Redkaya_professiya.pdf
Аноним 24/05/16 Втр 21:27:40 #306 №753030 
>>752930
Уже и опечататься нельзя.
Аноним 24/05/16 Втр 21:28:30 #307 №753033 
>>752838
У тебя при ресайзе вектора память заново выделяется все равно.
Аноним 24/05/16 Втр 21:29:11 #308 №753035 
>>753033
Поэтому лучше не векторами, а вручную выделять.
Аноним 24/05/16 Втр 21:55:16 #309 №753075 
>>753035
что значит вручную?
Аноним 24/05/16 Втр 21:56:40 #310 №753078 
Анончики, кто-нибудь пользовался бустовским any_iterator?
Как организовать цикл по any_iterator'ам, если их даже нельзя сравнивать? В доке найти пример не могу.
Аноним 24/05/16 Втр 22:05:56 #311 №753095 
Почему вот это говно компилится и запускается в VS, но в определенный момент возникает исключение. https://ideone.com/PctvAG
Аноним 24/05/16 Втр 22:14:58 #312 №753113 
>>753095
std::string нельзя?
Компилятор всё правильно говорит, нельзя так присваивать:
C++ forbids converting a string constant to 'char*'
Аноним 24/05/16 Втр 22:19:06 #313 №753116 
>>753113
Ты за какую строку конкретно говоришь?
Аноним 24/05/16 Втр 22:20:00 #314 №753119 
>>753095
Какую часть фразы "лабы идут нахуй" ты не понял?
Аноним 24/05/16 Втр 22:20:21 #315 №753120 
>>753116
31 и 32
Аноним 24/05/16 Втр 22:25:48 #316 №753128 
>>753119
это не лаба
>>753120
Почему в vs на этом этапе ошибок нет вообще? Да и сообщение о исключении появляется только под конец выполнения. Там вообще эти строчки не используются.
Аноним 24/05/16 Втр 22:59:06 #317 №753158 
>>753075
Маллоком. Создаешь новый буфер нужного размера, копируешь туда элементы, старый удаляешь.
Аноним 24/05/16 Втр 23:00:13 #318 №753160 
>>753158
>Маллоком
C++
Аноним 24/05/16 Втр 23:04:00 #319 №753165 
>>753158
Или как вариант держишь два вектора. В одном сами элементы в произвольном порядке, во втором твоя хэш-таблица с индексами элементов. При ресайзе очищаешь вектор с индексами и перестраиваешь заново.
Аноним 24/05/16 Втр 23:05:45 #320 №753166 
>>753160
Простая обертка над маллоком удобнее new, new[], delete, delete[].
Аноним 24/05/16 Втр 23:10:34 #321 №753168 
>>753166
Вопрос скорее идеологический, если человек разбирается с плюсами логичнее использовать его функционал.
Аноним 24/05/16 Втр 23:11:13 #322 №753170 
>>753078
Бля, судя по всему, только бустовским for_each.
Бля, пиздец. Вроде бы ещё Майерс в одной из старых книжек писал, что не нужно пытаться писать контейнеронезависимый код.
Аноним 24/05/16 Втр 23:13:20 #323 №753174 
>>753128
Если у тебя не цель показать использование выделение памяти (без ее освобождения), то используй вместо char[] std::string (как уже подсказали выше), а вместо char test; std:vector<std::string> test; Возложи заботу по управлению памяти на плечи разработчиков замечательного STL. И падения скорее всего прекратятся.
Аноним 24/05/16 Втр 23:15:22 #324 №753177 
>>753166
ВНЕЗАПНО new и delete – это и есть простая обёртка над маллоком. Использовать "голый" маллок (или системный апи для этого) нужно только в совсем гурманских целях игрищ с байтами.
Аноним 24/05/16 Втр 23:26:49 #325 №753183 
>>752838
Ты пытаешься сделать хештаблицу?
Аноним 24/05/16 Втр 23:27:29 #326 №753184 
>>753166
Бля, съеби. Удобнее ему вручную высчитывать занимаемый размер, а потом еще и кастить. Ага, конечно.
Аноним 24/05/16 Втр 23:31:28 #327 №753185 
14641218890770.jpg
14641218890981.jpg
Я раньше был за, а сейчас время компиляции раздражает, поэтому я сейчас делаю пакет нугета и всё удобно и быстро:)

third-party либа, в публичном struct'е поле спрятано за #ifdef. Внезапно разошлись дефайны при сборке самой либы и использующего ее кода

Выше всё цитаты. Это к вопросу о реальной, а не выдуманной жизни плюсовиков. Убогая система модулей, отсутствие кросс-платформенных пекеджей. А не ололо-шаблоны и ололо-утечки.

http://nponeccop.livejournal.com/491404.html
Аноним 24/05/16 Втр 23:41:31 #328 №753195 
>>752996
Почему мап не подходит? Он никаких ограничений на тип не накладывает
Аноним 25/05/16 Срд 01:09:03 #329 №753266 
>>752996
передай в sort свой компаратор
Аноним 25/05/16 Срд 01:11:39 #330 №753267 
>>753177
внезапно, new умеет вызывать конструктор (размечать память). а delete вызывает деструктор (корректно очищает память объекта
Аноним 25/05/16 Срд 01:13:58 #331 №753270 
>>753267
А еще эксепшены кидать
Аноним 25/05/16 Срд 01:29:33 #332 №753279 
Как построить например бинарное дерево из объектов?
Аноним 25/05/16 Срд 01:31:32 #333 №753281 
>>753279
Взять и построить.

Задавай вопросы более конкретно, если хочешь услышать конкретные ответы.
Аноним 25/05/16 Срд 01:36:28 #334 №753284 
>>753281
есть массив объектов допустимто. как написать структуру бинарного дерева, элементами которого являются эти объекты. например взять и вывести потом инфу этих объектов последовательно. Типо пишем struct A {class-type o[100]; class-type left; class-type right;} Или что? как это вообще работает?
Аноним 25/05/16 Срд 01:37:03 #335 №753285 
>>753284
лефт райт указатели
Аноним 25/05/16 Срд 01:40:49 #336 №753290 
>>753284
Ну да, именно так это и делается. Ты создаешь структуру, в структуре у тебя находится указатель на левого потомка, указатель на правого потомка и сами данные.
Примерно так:
struct BinTree {
Data data;
BinTree [pointer] left;
BinTree [pointer] right;
};

BinTree* tree = new BinTree;
tree->left = new BinTree;
tree->right = new BinTree;

и так далее.

Как вывести -- да как хочешь, обходи дерево хоть в глубину, хоть в ширину, как тебе нужно и удобнее.
Аноним 25/05/16 Срд 02:59:13 #337 №753318 
А что не так с ОПом?
мимо
Аноним 25/05/16 Срд 03:17:38 #338 №753323 
До чего же уебанский синтаксис у крестов. Есть ли языки с еще более мерзким синтаксисом?
Аноним 25/05/16 Срд 03:25:44 #339 №753325 
>>753323
Ржавый в том имеет уверенное лидерство
Аноним 25/05/16 Срд 04:28:11 #340 №753334 
Господи, ну вот нахуя Страуструп придумал всю эту поебень. Тонны какой-то бессмысленной синтаксической обертки, чтобы в итоге выполнить все тоже самое, что и в си.

Покажите хоть один юзкейс, где кресты помогают решить задачу быстее и легче, чем в голом си?
Аноним 25/05/16 Срд 04:35:36 #341 №753335 
>>753334
Например? О каких обертках ты говоришь?
Аноним 25/05/16 Срд 04:51:37 #342 №753339 
>>753334
>Покажите хоть один юзкейс, где кресты помогают решить задачу быстее и легче, чем в C
Как там твои обобщенные типы на макросах? Или, например, не заебался еще структуры из одной иерархии друг к другу кастить, чтобы сделать ООП? И все это без вменяемой навигации в IDE. Или, к примеру, нравится выводить размеры для маллока? А потом инициализатор вручную вызывать? А ручками RAII хуячить не остоебенило?
Аноним 25/05/16 Срд 07:23:30 #343 №753369 
>>753339
ООП нинужен
Аноним 25/05/16 Срд 09:31:02 #344 №753447 
http://www.scs.stanford.edu/~dm/home/papers/c++-new.html
СИ — СИЛА. СИ++ — МОГИЛА.
Аноним 25/05/16 Срд 09:43:00 #345 №753455 
>>753447
Этот чувак, кстати, разрабатывает настоящую (а не как сейчас) анонимную имиджборду:
https://www.youtube.com/watch?v=hL3AnIOfu4Y
Профессор Стэнфорда потому что, а не любитель паралимпиадного программирования из ИТМО.
Аноним 25/05/16 Срд 10:45:48 #346 №753491 
>>753266
У него не так сортировать надо. Скорее переупорядочить. Ему нужно переложить элемент из одной ячейки в другую, а номер другой ячейки говорит функция.
Аноним 25/05/16 Срд 10:55:00 #347 №753494 
>>753455
А ты, видимо, любитель пропускать бквы в слвах.
Аноним 25/05/16 Срд 11:45:51 #348 №753523 
Читаю Прату, тему про указатели. Он использует выражение "указатель на int (или на любой другой тип)". Как это понять?
Аноним 25/05/16 Срд 11:51:40 #349 №753524 
>>753523
Что конкретно не понятно? Указатель? Указатель на int или указатель на любой другой тип?
Аноним 25/05/16 Срд 11:53:16 #350 №753527 
>>753524
Что такое указатель мне понятно. Не понятно, что такое "указатель на int"
Аноним 25/05/16 Срд 11:59:38 #351 №753532 
>>753527
Видимо не совсем понятно, что такое указатель. Из-за статической типизации при обращении через указатель компилятор будет ограничивать считываемую память размером типа (в твоем случае int, причем он может быть разного размера на разных целевых платформах).
Аноним 25/05/16 Срд 12:21:15 #352 №753545 
>>753527
>Что такое указатель мне понятно
И что это такое?
Аноним 25/05/16 Срд 12:23:15 #353 №753546 
>>753527
https://ideone.com/q56mCw
Аноним 25/05/16 Срд 12:26:26 #354 №753548 
>>753334
Все на Си можно, что на плюсах. Но нахрена лепить велосипеды в Сях, когда есть более удобные инструменты. Особено когда лепят костыли из препроцессора и массивов указателей на функции.
Аноним 25/05/16 Срд 12:27:27 #355 №753550 
>>753527
У тебя есть участок памяти на которые указывает указатель. У тебя там куча байтов. А указатель указывает на 1 байт. Если ты не скажешь ему тип, то компьютер не поймёт что с таким указателем делать. А так ты говоришь что это int и тогда очевидно что следующие 4 байта будут принадлежать тому участку памяти куда указывает указатель. И компьютер понимает что 2 этими 4 байтами надо обращаться как с intом. Будь указатель на unsigned int, а байты в памяти лежали те же самые, то программа обращалась бы с ними по другому. Понятнее?
Аноним 25/05/16 Срд 13:24:23 #356 №753571 
>>753170
Майерс это что-то среднее между Скоттом и авторшей Сумерек?
Аноним 25/05/16 Срд 13:41:18 #357 №753575 
Тезисы на сегодня:
1. Долгая компиляция это зло. Отсутствие модулей это плохо. Мы все страдаем от этой проблемы, но попытка быстро-быстро перепилить что-либо обернется куда большей головной болью. Медленная компиляция лучше, чем развалившаяся совместимость. Кресты не идеальны, но, тем не менее, хороши. Лодку пытаются раскачать ньюфаги, которые сели в нее без багажа.
2. На сях можно сделать все, что можно в крестах. На асме тоже можно. Вопрос всегда в количестве альтернатив, ибо выбор между malloc/new/аллокаторами/велосипедами/еще чем-то, вообще говоря, зависит от ситуации и предпочтений погроммиста. Пока в крестах есть malloc, а в сях нет new, кресты лучше сей как универсальный язык (но не обязательно это так в какой-либо конкретной ситуации).
Аноним 25/05/16 Срд 13:48:01 #358 №753577 
>>753575
Набрасывайте, коллега
Аноним 25/05/16 Срд 14:57:34 #359 №753619 
Господа, уверенно ебашу хеллоу ворлды, в поисках прогресса наткнулся на stackoverflow на совет перейти на QtCreator. Прошу разъяснений что это за хуйня, и как сильно придется забыть любимый nano и такие простые include <stdio.h>
Аноним 25/05/16 Срд 15:10:38 #360 №753628 
>>753619
>nano
QtCreator сосет, если только ты не хочешь писать именно на Qt и именно гуи. Ставь IDE из шапки и не выебывайся.
Аноним 25/05/16 Срд 15:46:21 #361 №753646 
>>753628
>QtCreator сосет
И в чем же он сосет при написании хелловордов? Или это опять тонкая пропаганда сраного code::blocks?
Аноним 25/05/16 Срд 16:52:09 #362 №753713 
>>753628
Гуй можно писать и без него. Чисто для рисования формочек есть Designer.
Аноним 25/05/16 Срд 17:09:20 #363 №753732 
>>753646
>сраного code::blocks
А чем он плох то?
Аноним 25/05/16 Срд 17:16:40 #364 №753743 
14641858005910.png
>>753646
> code::blocks
Где ты ещё кроме вима можешь свой код на весь экран развернуть? Везде постоянно что-то лишнее попадает., а тут легко и быстро можно мелкие изменение делать
Аноним 25/05/16 Срд 17:25:25 #365 №753753 
>>753743
alt+shift+enter в студии
Аноним 25/05/16 Срд 17:52:16 #366 №753786 
>>753732
>сраного code::blocks
>А чем он плох то?
Тем, что cmake без танцев не умеет? Тем что не поставляется упакованным из коробки в отличии от VS и QtCreator? А так лично мне похуй на него, бесит только анон, который его вечно пиарит.

Аноним 25/05/16 Срд 17:52:47 #367 №753787 
>>753743
> code::blocks
>Где ты ещё кроме вима можешь свой код на весь экран развернуть? Везде постоянно что-то лишнее попадает., а тут легко и быстро можно мелкие изменение делать
Во всех современных IDE есть фуллскрин
Аноним 25/05/16 Срд 18:03:24 #368 №753796 
>>753646
Это пропаганда CodeLite. Не, ну серьезно, посоны. Любой вменяемый человек понимает, что это такое дело... Очень индивидуальное. Есть тысячи мельчайших факторов, которые формируют наши предпочтения, и невозможно сделать какое-то полномасштабное сравнение и окончательно решить вопрос выбора IDE. Опять же, задачи у всех разные, для написания хэллоуворлда вполне достаточно консоли, тогда зачем человеку ебаться с установкой чего-то? Все что мы можем - сделать частичное сравнение по каким-то важным пунктам вроде обилия возможностей, скорости работы или качества отдельных фич. Оно энивей будет предвзятым, потому что все используют разные подмножества фич и имеют разные требования к их качеству. Кому-то лучше много сырых фич, кому-то - меньше, но отточенных, кто-то запускает IDE на калькуляторе, кому-то вообще важен внешний вид, или кроссплатформенность, или еще чего-то. Тут не угадаешь. Ты спрашиваешь анона - он дает тебе свое имхо, говоря за свой рабочий процесс и свои хорошие практики. Если тебя чем-то оно не устраивает - ну поставь себе на виртуалку десять IDE и сравнивай их, никто ж тебе не запрещает! Либо ты получаешь быстрый рецепт от анона, либо кулинаришь сам, третьего варианта просто не.
Аноним 25/05/16 Срд 18:33:11 #369 №753825 
>>753787
>>753753
Такой полный экран только в виме видел. В студии остаются кнопки в верху. Давайте скрин.
Аноним 25/05/16 Срд 18:42:28 #370 №753840 
14641909487660.png
>>753825
Clion, «presentation mode» (надо настраивать размер шрифта для него с дефолтного 24, кроме этого есть обычный фуллскрин).
Аноним 25/05/16 Срд 18:43:59 #371 №753843 
>>753743
Эээ, тот же qtcreator, не?
Аноним 25/05/16 Срд 18:44:53 #372 №753845 
>>753843
В верху же название
Аноним 25/05/16 Срд 18:45:38 #373 №753846 
>>753840
Какое-то странное у тебя соотношение сторон. Это точно фулскрин?
Аноним 25/05/16 Срд 18:46:43 #374 №753847 
>>753846
Это все окно (alt+printscreen), работающее в presentation mode
Аноним 25/05/16 Срд 18:48:18 #375 №753850 
14641912989470.png
>>753825
Аноним 25/05/16 Срд 18:48:48 #376 №753854 
>>753846
Это древний судя по разрешению 4:3 монитор. Хотя они и сейчас продаются – для пейсания в хорошо кастомизируемой IDE (камень в сторону культяп креатора) оч кошерно.
Аноним 25/05/16 Срд 18:53:04 #377 №753858 
>>753850
Это студия?
Аноним 25/05/16 Срд 18:53:22 #378 №753859 
>>753854
Это окно, работающее в presentation mode. Можно его и в fullscreen развернуть
>>753850
ШINDOШS + рюсская локаль, признак пидарана-говноеда
(Автор этого поста был забанен. Помянем.)
Аноним 25/05/16 Срд 18:56:03 #379 №753861 
>>753859
>ШINDOШS + рюсская локаль, признак пидарана-говноеда
А вот и интеллектуальная элита подоспела
Аноним 25/05/16 Срд 18:57:18 #380 №753863 
>>753858
Да
Аноним 25/05/16 Срд 18:59:39 #381 №753865 
14641919796200.jpg
>>753850
Это что ещё за флажок? Уведомления? Типа вам пришло сообщение?
Аноним 25/05/16 Срд 18:59:51 #382 №753866 
>>753861
Я еще могу понять использование Windows+Visual Studio, которые имеют свою область применения, но рюсская локаль в комплекте с этим уже за гранью добра и зла.
Аноним 25/05/16 Срд 19:01:20 #383 №753867 
>>753866
Тебе чем-то мешает это? Человека заебет, ну он и поменяет. Похуй по большому счету.
Аноним 25/05/16 Срд 19:03:13 #384 №753869 
>>753865
Обновления плагинчиков студии.
Аноним 25/05/16 Срд 19:52:57 #385 №753927 
14641951775410.png
По оси Х - запуски одной и той же программы с одним и тем же входом, по Y - время выполнения. Но как видите иногда бывают скачки, Синий график - Wall clock time процесса, красный - cpu clock time. Почему одна и та же программа имеет разный cpu clock time на одинаковом инпуте? Рандом в программе не используется.
Аноним 25/05/16 Срд 20:02:05 #386 №753934 
>>753927
Если у тебя ОС общего назначения, а не реального времени, то программа в ней выполняется столько, тогда и так как соизволит система.
Аноним 25/05/16 Срд 20:20:35 #387 №753952 
>>753927
Потому что твоя ОС шедулит программу как твою мамку, в зависимости от нагрузки (активности фонового говна, фазы луны и тд).
Аноним 25/05/16 Срд 20:22:11 #388 №753956 
>>753952
>>753934
Если я буду программу для тестирования олимпиадных задач писать, то что делать?
Аноним 25/05/16 Срд 20:23:29 #389 №753959 
14641970092030.png
>>753927
Ну ты понел
Аноним 25/05/16 Срд 20:25:05 #390 №753960 
>>753956
Прогонять тест пару сотен раз и брать среднее время.
Аноним 25/05/16 Срд 20:26:34 #391 №753964 
>>753960
Скорее увеличить объем входящих данных на несколько порядков.
Аноним 25/05/16 Срд 20:28:24 #392 №753966 
>>753850
>PVS-студио
Свежая версия? Где спиздил?
Аноним 25/05/16 Срд 20:28:42 #393 №753967 
>>753959
SHED_RR,SHED_FIFO - как добиться на линуксе гранулярности выполнения ПО хотя бы 200-300мс - софт активно гоняет по сети данные и обрабатывает поток примерно в 16 Гб/c?
Аноним 25/05/16 Срд 20:31:12 #394 №753968 
>>753967
Взять ОС реального времени. Хотя вообще нахуй ОС там нужна...

>>753964
Какой в этом смысл, если нужно получить время выполнения на конкретном тесте?
Аноним 25/05/16 Срд 20:35:18 #395 №753971 
>>753956
Хорошие олимпиадные задачи подбираются таким образом что решение с неэффективным алгоритмом заведомо не способно влезть в ограничения, а задача с эффективным имеет достаточный запас по времени и задержка (если возникнет) не повлияет на прохождение тестов.
Аноним 25/05/16 Срд 20:35:43 #396 №753972 
>>753968
Аноним 25/05/16 Срд 20:38:31 #397 №753976 
>>753966
Пробная с их сайта. Скачал посмотреть что за зверь.
Аноним 25/05/16 Срд 20:43:59 #398 №753980 
14641982398350.png
Почему cpu time (Красный график) возвращённый функцией clock кореллирует с wall clock time (Синий график), если все точки на этом графике - выполнение одной и той же программы на одном входе данных. Рандома внутри программы тоже нет. Почему время выполнения разнится?
sageАноним 25/05/16 Срд 20:45:01 #399 №753982 
>>753980
Ай, простите, думал первый пост не отправился.
Аноним 25/05/16 Срд 20:46:06 #400 №753983 
>>753952
>>753934
Я потому второй график с cpu clock time и нарисовал, по идее количество тиков использованных на выполнение программы то должно быть одинаковым, даже если оно прерывалось.
Аноним 25/05/16 Срд 20:53:24 #401 №753993 
>>753983
Кэш миссы, так же зависящие от фазы луны учитываешь?

Как я уже говорил – один раз проверять смысла мало, нужно как минимум брать среднее. Ну или просто смотри на сколько алгоритм влезает по времени и памяти как антоша выше говорил.
Аноним 25/05/16 Срд 21:04:20 #402 №754001 
>>753993
>Ну или просто смотри на сколько алгоритм влезает по времени и памяти
В смысле, "или"? Его совет единственно верный
Аноним 25/05/16 Срд 21:13:31 #403 №754009 
>>753980
Потому что так устроены современные ОС и процессоры.
Аноним 25/05/16 Срд 22:59:08 #404 №754095 
>>753571
Ага. В рувики он тоже Майерс.
Аноним 25/05/16 Срд 23:31:51 #405 №754114 
>>754001
Сам себя не похвалишь – никто не похвалит. Авбще я йбл твй руззкейпвтамушта т ы, мудель
Аноним 25/05/16 Срд 23:36:49 #406 №754119 
>>754114
чини детектор
Аноним 26/05/16 Чтв 00:01:57 #407 №754139 
>>753550
Да, спасибо
Аноним 26/05/16 Чтв 00:22:56 #408 №754165 
Анончики, как там с prec headers за пределами VS? Или можно использовать только на VS?
Аноним 26/05/16 Чтв 00:27:00 #409 №754167 
>>754165
У каждого компилятора свой формат этого говна. Но концептуально ph присутствуют везде.
Аноним 26/05/16 Чтв 00:28:42 #410 №754169 
>>754167
а вообще в реальных проектах используют? Компиляция намного быстрее?
Аноним 26/05/16 Чтв 00:29:55 #411 №754171 
>>754169
В реальных проектах используют, точные цифры не скажу, иди гугли.
Аноним 26/05/16 Чтв 00:31:48 #412 №754172 
>>754171
Ок. Спасибо.
Аноним 26/05/16 Чтв 01:51:39 #413 №754209 
>>753491
ну тогда просто свопать элементы
Аноним 26/05/16 Чтв 08:22:37 #414 №754309 
Работаю в компании, которая занимается полным циклом изготовления приборов для автоматизации. Устроился недавно, после ВУЗа. Сам инженегр. Всегда тяготел к программированию, умею малость в жаваскрипт. У нас висит вакансия уже давно, о том, что им требуется инженер-программист С++ с опытом много чего. Недавно повесили вакансию, что возьмут выпускника программиста и от него требуется только знать С++ (видимо HR совсем отчаялись). Думаю попробовать вкатиться. Литературой уже помаленьку обмазываюсь.

Вопрос такой - где можно попробовать порешать реальные задачи по нашей отрасли? Предположительно работа будет с написанием ПО для всяческих контроллеров и разработка и поддержка своей SCADA-системы.
Аноним 26/05/16 Чтв 12:10:20 #415 №754401 
Подскажите, можно ли сортировать std::multimap через std::sort? К примеру так:
std::unordered_multimap<int, int> mm;
std::sort(mm.begin(), mm.end(), std::greater<int>());
Аноним 26/05/16 Чтв 12:12:23 #416 №754405 
>>754401
Тебя не смущает слово unordered в названии коллекции?
Аноним 26/05/16 Чтв 12:13:30 #417 №754406 
>>754309
дай ссыль на вакансию
Аноним 26/05/16 Чтв 12:13:34 #418 №754407 
>>754309
DDE, OPC и прочая ебля с COM моделью, вот это все. А вообще подошел бы к руководителю пограмистов и спросил, что им нужно.
Аноним 26/05/16 Чтв 12:14:32 #419 №754408 
>>754405
да, чет я запарился, мапы совсем не предназначены для ручной сортировки.
Аноним 26/05/16 Чтв 12:16:01 #420 №754409 
>>754408
Почитая подробнее про то, как устроены бинарное дерево и хештаблица. Ты явно в этом плаваешь.
Аноним 26/05/16 Чтв 12:19:45 #421 №754412 
СЭПЭПЭ мертв
/дискас
Аноним 26/05/16 Чтв 12:24:20 #422 №754416 
>>754412
Что мертво, умереть не может.
Аноним 26/05/16 Чтв 13:13:09 #423 №754434 
>>754412
C++ is the Chosen Undead.
Аноним 26/05/16 Чтв 13:17:33 #424 №754438 
>>754434
C++ is forsaken.
Аноним 26/05/16 Чтв 13:58:05 #425 №754479 
>>754408
Нахуярь свое дерево с сортировкой - это на день работы максимум.
Аноним 26/05/16 Чтв 14:05:05 #426 №754483 
>>754479
Оно там нахуй не нужно. Я ключ просто для удобства поиска отдельно хранил. И сейчас решил сортировку добавить и чет тупанул. std::vector<std::tuple<>> и std::find, std::sort заглаза.
Аноним 26/05/16 Чтв 14:07:14 #427 №754484 
>>754409
Разбираюсь немного. Но думаю почитать Кормена (все тут советуют) - норм пишет?
Аноним 26/05/16 Чтв 14:11:43 #428 №754489 
>>754479
Дядя, ты поехавший? Какое нахуй дерево с сортировкой?
Аноним 26/05/16 Чтв 14:12:08 #429 №754491 
>>754484
Норм, но эта книга не для новичков.
Аноним 26/05/16 Чтв 14:15:47 #430 №754495 
>>754484
Начни лучше с чего-нибудь попроще. С хабра, например
https://habrahabr.ru/post/65617/
и с подобных статей.
Аноним 26/05/16 Чтв 14:19:34 #431 №754500 
>>754401
Разного рода мапы, деревья, хеш-таблицы нельзя сортировать. Элементы в них расположены в строго определенном порядке (зависит от реализации) для ускорения их поиска, и менять этот порядок нельзя иначе потом в них нихуя не найдешь.
Аноним 26/05/16 Чтв 14:26:09 #432 №754506 
>>754412
FAQ::Мотивация.2
Аноним 26/05/16 Чтв 14:37:53 #433 №754517 
>>749082 (OP)
test
Аноним 26/05/16 Чтв 14:37:54 #434 №754518 
>>754489
>Какое нахуй дерево с сортировкой?
Откуда я знаю какое ему нужно.
Аноним 26/05/16 Чтв 14:44:19 #435 №754528 
>>754517
Народ незнаю куда обратится, собственно беда в следующем, есть вложенная структура

struct DMFP_PP
{
DlinaMassivaForProverki DMFP;
PointPosition
PP;
};

struct DlinaMassivaForProverki
{
int Verh, Pravo, Niz, Levo;
};

struct PointPosition
{
GLint x,y;
};

Создаю

DMFP_PP
CurrentLehtKorPoForProverki;
CurrentLehtKorPoForProverki = new DMFP_PP;
CurrentLehtKorPoForProverki->DMFP = new DlinaMassivaForProverki;

CurrentLehtKorPoForProverki->PP = new PointPosition* [ 4 ];
CurrentLehtKorPoForProverki->PP[ 0 ] = new PointPosition[ CurrentLehtKorPoForProverki->DMFP->Verh += 1 ];
CurrentLehtKorPoForProverki->PP[ 1 ] = new PointPosition[ CurrentLehtKorPoForProverki->DMFP->Pravo += 1 ];
CurrentLehtKorPoForProverki->PP[ 2 ] = new PointPosition[ CurrentLehtKorPoForProverki->DMFP->Niz += 1 ];
CurrentLehtKorPoForProverki->PP[ 3 ] = new PointPosition[ CurrentLehtKorPoForProverki->DMFP->Levo += 1 ];

Естественно присваиваю значения( ноль ), но по какой-то неясной причине не присваиваются значения, синтаксис проверял всё норм. На разных форумах смотрел, но там проще или не то. Просьба пояснить, почему не присваиваются значения или не видит ничего по адресу?
Аноним 26/05/16 Чтв 15:11:35 #436 №754547 
14642646957270.jpg
>>754528
Аноним 26/05/16 Чтв 15:18:14 #437 №754561 
14642650945350.jpg
>>754528
>DlinaMassivaForProverki
>CurrentLehtKorPoForProverki
>Verh
>Pravo
>Niz
>Levo

YOBA ETO TI?
Аноним 26/05/16 Чтв 15:19:32 #438 №754564 
>>754528
>Писать латиницей на английском
>Писать кириллицей на русском

Choose your destiny.
Аноним 26/05/16 Чтв 16:01:47 #439 №754590 
>>754547
>>754561
>>754564
Блять, а хули вы хотели? Я то, наивный, думал, что умные люди здесь сидят, а нет. По делу есть, что сказать?

Лучше бы привели пример вложенных структур.
В моём случае две в одной, на основе одной из них динамический массив, причём длинна каждого разная. Проблем в общем-то нет, но меня интересует иной вариант их объявления, разименовывания.
Аноним 26/05/16 Чтв 16:04:18 #440 №754592 
>>754561
DA ETO YA
POMOGI S PROGRAMMOI
Аноним 26/05/16 Чтв 16:39:55 #441 №754615 
>>754590
У тебя там невидно вложеных структур.
Аноним 26/05/16 Чтв 16:41:46 #442 №754617 
>>754615
Ясно, о чём ты, но проблема именно в том, что после объявления по этой структуре, по адресу ничего не видит.
Аноним 26/05/16 Чтв 16:43:40 #443 №754618 
>>754617
Залей на pastebin, указатели съел парсер
Аноним 26/05/16 Чтв 16:48:43 #444 №754624 
>>754618
Всё отбой, нашёл в чём проблема.
Аноним 26/05/16 Чтв 16:54:36 #445 №754630 
Котаны, нужна ваша помощь... Пишу свой pacman с блэкджеком и консольным выводом, но постоянное обновление всей карты приводит к мерцанию, которое жутко бесит. Как сделать так, чтобы только изменяемые клетки рисовало, а старые так висели?
Аноним 26/05/16 Чтв 16:55:34 #446 №754632 
>>754630
Как отрисовываешь?
Аноним 26/05/16 Чтв 16:56:23 #447 №754633 
>>754632
system("cls");
затем самописную функции map_printer с сout внутри
Аноним 26/05/16 Чтв 16:57:41 #448 №754635 
>>754633
Рисуешь карту отдельно
Рисуешь пэкмена отдельно
Ща ещё подумаю
Аноним 26/05/16 Чтв 16:58:47 #449 №754637 
>>754635
Не, не так
Нарисовал карту - раз
Затем по координатам пэкмена отрисовываешь лишь кусок 1х1 карты, то есть только он отрисовывается, а карта висит
Аноним 26/05/16 Чтв 17:02:01 #450 №754640 
>>754637
Чёто типа
for бла бла бла
cout то, что являестя картой
}
Затем снова
массив карты[ коорлината х пэкмена ][ координата y пэкмена ] = пекмен
это постоянно обновляешь, предидущую чистишь, там пробел пишешь
Аноним 26/05/16 Чтв 17:02:10 #451 №754641 
>>754637
как каретку по соснольке двигать? fseek чтоль? :\
Аноним 26/05/16 Чтв 17:02:44 #452 №754642 
>>754641
Не совсем понял что такое каретка?
Аноним 26/05/16 Чтв 17:03:41 #453 №754644 
>>754642
Ловите нюфага. Указатель текста.
Аноним 26/05/16 Чтв 17:04:50 #454 №754645 
>>754640
точка, ввода символа. У меня так и сделано как вы сказали, но из-за низкой тактовой частоты ЦП, у меня при нажатии кнопки (т.е. движения) карта пропадает на мгновение.
Аноним 26/05/16 Чтв 17:06:15 #455 №754646 
>>754644
Обана, ну бывает.

Насчёт пэкмена, один раз рисуешь карту, затем, там где указываешь движение, прописываешь:
При нажатии клавиши, бла бла
в массив по такому то адресу, там i и j рисуется пэкмен, в предидущую клетку рисуется пробел, ниче вроде не должно моргать
Аноним 26/05/16 Чтв 17:07:07 #456 №754647 
>>754645 --> >>754646
Аноним 26/05/16 Чтв 17:08:07 #457 №754651 
>>754630
Возьми ncurses. Но ты заебешься с консолькой. Она сложнее массива символов. Лучше сразу делать с графоном.
Аноним 26/05/16 Чтв 17:08:57 #458 №754653 
>>754651
А почему не OpenGL?
Аноним 26/05/16 Чтв 17:14:14 #459 №754658 
>>754653
Можно и его, конечно, но лучше что-то более высокоуровневое вроде sfml.
Аноним 26/05/16 Чтв 17:16:02 #460 №754660 
Cпасибо всем за помощь.
Аноним 26/05/16 Чтв 17:22:50 #461 №754671 
>>754644
>>754646
Стопе, каретка это мигающее подчёркивание?
Аноним 26/05/16 Чтв 17:25:59 #462 №754675 
>>754671
Вроде того
Аноним 26/05/16 Чтв 17:28:34 #463 №754676 
>>754675
Тогда причём тут ньюфаг?
Аноним 26/05/16 Чтв 17:28:40 #464 №754677 
>>754671
В зависимости от твоих предпочтений: от подчёркивания до блока.
Аноним 26/05/16 Чтв 17:29:37 #465 №754678 
>>754671
Консоль - поток символов, у него есть текущая позиция, куда идет вывод. Если ты, например, выведешь \r, вывод пейдет на начало текущей строки, \b - сдвинется на символ влево, и т.д.
Аноним 26/05/16 Чтв 17:30:14 #466 №754679 
>>754676
Наверно к тому, что все, кто хоть когда-то работал с консолью знают этот термин. Ныне даже в большей часте линуксов это вообще нахуй не нужно.
Аноним 26/05/16 Чтв 17:30:50 #467 №754681 
>>754630
Заблокируй вывод в консоль. Выведи всё что надо. Разблокируй. Осталось узнать как заблокировать. Скорее всего нужна библиотека.
Аноним 26/05/16 Чтв 17:36:52 #468 №754686 
>>754679
>это вообще нахуй не нужно
А как же крутящаяся палочка, отображающая прогресс? Или меняющиеся процентики.
Аноним 26/05/16 Чтв 17:37:45 #469 №754688 
>>754686
Как твои палочки связаны с консолью?
Аноним 26/05/16 Чтв 17:38:18 #470 №754691 
>>754688
Они в консоли.
Аноним 26/05/16 Чтв 17:40:33 #471 №754693 
>>754691
Как. Это. Связано. С. Блядь. Необходимостью. Консоли.
Ты совсем конченный?
Аноним 26/05/16 Чтв 17:43:27 #472 №754697 
>>754693
Символ напечатался, а потом поменялся. начит курсор передвинулся и переписал его. Не тупи.
Аноним 26/05/16 Чтв 17:46:58 #473 №754704 
>>754697
Лан я понел, ты траль.
Аноним 26/05/16 Чтв 17:57:34 #474 №754718 
Скоро 500 постов а ОП продолжает где-то сосать хуй.
Аноним 26/05/16 Чтв 18:02:16 #475 №754727 
>>754718
Ну значит, будем плясать без него.
Аноним 26/05/16 Чтв 18:03:27 #476 №754730 
>>754718
После 600 сам перекачу если оп не появится.
Аноним 26/05/16 Чтв 18:07:24 #477 №754731 
>>754693
Ну ты делаешь, например, архиватор. Пока файл архивируется, в консоль выводишь прогресс. Но чтобы не выводить новую строчку каждый раз, затираешь старые символы, и выводишь поверх новые.
Аноним 26/05/16 Чтв 18:18:12 #478 №754745 
>>754730
После 550 нужно будет скроллить 2 минуты до треда.

>>754731
Не траль плз
Аноним 26/05/16 Чтв 18:21:33 #479 №754747 
>>754745
>После 550 нужно будет скроллить 2 минуты до треда.
Поиск есть.
Аноним 26/05/16 Чтв 18:23:37 #480 №754748 
>>754747
Заебал толстить. Пшёл нахуй из треда.
Аноним 26/05/16 Чтв 18:26:40 #481 №754754 
>>754748
В хуй мне потолсти, лалка
Аноним 26/05/16 Чтв 19:45:06 #482 №754799 
пацаны не работает код . Передаю в функцию файлы, но при комлийле выкидывает ошибку ios_base(const ios_base&);
код функции
void File (fstream fin, fstream fout)
{
fin.seekg (0, fin.end);
int length = fin.tellg();

fin.seekg (0, fin.beg);
char c;
for (int i =1 ;i<length;i++)
{
fin.seekg (-i-1, fin.end);
fin.get(c);
fout.put(c);
}
}
Аноним 26/05/16 Чтв 19:48:43 #483 №754804 
>>754799
нельзя копировать потоки ввода-вывода
Аноним 26/05/16 Чтв 19:53:34 #484 №754811 
>>754799
gist.github, pastebin, тысячи их, пидр
Аноним 26/05/16 Чтв 19:59:48 #485 №754817 
>>754799
Не умеешь читать доку к либе - страдай.
sageАноним 26/05/16 Чтв 21:29:26 #486 №754889 
>>754804
Аноним 27/05/16 Птн 05:56:01 #487 №755091 
С++ для чайников автора Стефана Дэвиса (7-е издание)-сойдёт для изучение сишки чи нахуй ?
Аноним 27/05/16 Птн 05:57:25 #488 №755092 
>>755091
Учи с++ по страуструпу.
Аноним 27/05/16 Птн 05:59:12 #489 №755093 
>>755092
А Дэвис-хуесос ?
Аноним 27/05/16 Птн 05:59:18 #490 №755094 
Хочу написать имиджборду на С++, с чего начать?
Аноним 27/05/16 Птн 08:30:54 #491 №755123 
>>755094
Начни с питона
Аноним 27/05/16 Птн 09:25:21 #492 №755143 
>>755094
Локальная консольна ямиджборда! Единственная в своём роде. А унутре у ней неонка!
Аноним 27/05/16 Птн 11:20:13 #493 №755190 
>>754500
Даун, мапы уже отсортированы.
Аноним 27/05/16 Птн 11:20:56 #494 №755192 
>>754590
Иди на хуй и лабу свою забери.
Аноним 27/05/16 Птн 11:56:06 #495 №755215 
> 2016 год
> Майкрософт все еще не в состоянии написать деинталлятор, который бы не ломал систему
> Заводим проект на гитхабе
https://github.com/Microsoft/VisualStudioUninstaller
Эта хуета когда-нибудь закончится?
Аноним 27/05/16 Птн 12:01:42 #496 №755218 
14643397022760.jpg
>>755215
Сука лол. Деинсталятор с гитхаба тоже не работает.
https://www.youtube.com/watch?v=tmPG5WfO14A
Аноним 27/05/16 Птн 13:04:56 #497 №755261 
>>755215
Пришло время переустанавливать Ш1ND0W2. или накатить систему с человеческой фс.
Аноним 27/05/16 Птн 13:38:06 #498 №755270 
>>754678
>Консоль - поток символов
это юниксовая сделана на вводе-выводе, виндовая по другому..
Аноним 27/05/16 Птн 13:43:26 #499 №755274 
>>755270
GetStdHandle..
Аноним 28/05/16 Суб 00:21:05 #500 №755636 
Вопрос:
Почему в дочернем классе можно переопределить функцию родительского класса, при этом не указывая virtual в род. классе? Чем эти 2 случая отличаются?
Аноним 28/05/16 Суб 00:33:24 #501 №755640 
>>755636
Ты ее просто перекрываешь. Полиморфизм не будет работать.
Аноним 28/05/16 Суб 00:37:38 #502 №755644 
>>755636
Процесс вызова функции состоит из нескольких этапов. Например, ты пишешь f (42); Тогда последовательно произвойдут:
1. Name lookup (компилятор отбирает из всех имен f, встретившихся в текущей единице трансляции, только те, которые видимы в данной точке программы)
2. Разрешение перегрузки (компилятор отбирает из всех функций, отобранных на предыдущем этапе, ту, у которой типы параметров лучше всего соответствуют типам аргументов - f (int) в твоем случае выберется вместо f (char), даже если видимы обе)
3. Разрешение доступа (компилятор проверяет, что ты имеешь право вызвать выбранный метод - например, что он не является private, если ты вызываешь его не из друзей/других методов)
4. Разрешение виртуальности (уже в рантайме для виртуальной функции выберется, вообще говоря, не она сама, а аналогичная из наиболее глубокого потомка)

Соответственно, случаи отличаются как пункты 1 и 4 - в первом случае это будет вообще другая функция, даже до перегрузки дело не дойдет. Во втором случае, наоборот, она заменится в самый последний момент, для заменяющей не будет ни проверки доступности, ни поиска лучшего соответствия, все они будут проведены для заменяемой - виртуальной в родителе.
Аноним 28/05/16 Суб 00:39:20 #503 №755645 
>>755636
пример
https://ideone.com/CLlbah
Аноним 28/05/16 Суб 02:08:56 #504 №755675 
>>749082 (OP)
Посоны, я полный деб и не могу понять что значит символ ^ допустим в контексте
>String^ string;
Не гуглится нихуя
Аноним 28/05/16 Суб 02:17:49 #505 №755679 
>>755675
Никогда не думал, что буду помоглать гуглить деб-пакету, но вот держи:
http://stackoverflow.com/questions/6616599/does-the-symbol-replace-cs-ref-in-parameter-passing-in-c-cli-code

До чего техника дошла.
Аноним 28/05/16 Суб 02:39:25 #506 №755683 
>>755636
Если функция обычная, не помеченная как виртуальная, то идет просто вызов обычной функции, в которую передастся this в качестве неявного параметра. Когда ты вызываешь мембер-функцию по указателю на базовый класс, то поиск функции происходит в базовом классе, а когда по указателю на наследник, то поиск происходит сначала в классе-наследнике.

Когда функция виртуальная, то все происходит сложнее. Тогда для этого класса и всех его наследников заводится таблица виртуальных функций, в каждой из которых сопоставляется имя функции её фактическому адресу. Например, у тебя в базовом классе есть виртуальный метод foo, который переопределен в наследнике. Тогда в таблице виртуальных функций базового класса будет строчка вида foo -> <адрес Base::foo>, а в таблице вирт. функций наследника строчка вида foo -> <адрес Derived::foo>. И в каждом созданном объекте хранится указатель на соответствующую таблицу вирт. функций. Вызов виртуальной функции преобразуется компилятором в цепочку действий:
1. Пойти в таблицу вирт. функций по указателю внутри объекта
2. Найти там соответствующую функцию
3. Вызвать её

Ну вот, теперь что происходит в случае, когда функция перекрывается и когда она виртуальная.
Первый случай: есть базовый класс Base, у него есть невиртуальная функция foo, от него наследуется класс Derived, который функцию foo перекрывает. Теперь такой код:
Base[звездочка] b = new Derived();
b->foo();
Здесь компилятор разрешает вызов мембер-функции foo. Он видит, что объект, у которого она вызывается, является экземплятором класса Base, про то, какой фактически объект находится по этому указателю, компилятор не может знать, поэтому он просто вызывает функцию Base::foo.
Теперь представим, что функция foo объявлена с модификатором virtual.
Тогда вызов функции b->foo() компилятором будет преобразован в поход в таблицу вирт. функций, в поиск там соответствующей функции, взятие её адреса и вызов. По указателю b фактически лежит объект класса Derived, у которого в таблице вирт. функций есть строчка foo -> <адрес_Derived::foo>, будет взят адрес Derived::foo, после чего она и будет вызвана.

Стало понятнее?
Аноним 28/05/16 Суб 03:01:57 #507 №755690 
>>749082 (OP)
Чем code::blocks хуже clion или codelite, почему его нет в шапке?
На чем трушнее разрабатывать гуй в 2016?
Juce/wxvidgets/gtk/qt и почему? Какие плюсы-минусы?
Аноним 28/05/16 Суб 05:25:11 #508 №755710 
>>755094
С похода к духтору. Он тебе поможет социализироваться, если ещё не всё так запущено, конечно.
Аноним 28/05/16 Суб 11:23:42 #509 №755812 
Ньюфаг ИТТ. Посоны, что вы думаете об оффлайн-курсах? Это вообще эффективно и стоит своих денег? Хочу записать на что-нибудь подобное - http://levelp.ru/courses/programmirovanie/c-junior-developer/
Какие подводные камни?
Аноним 28/05/16 Суб 12:11:13 #510 №755831 
>>755812
Нахуя тебе эти курсы? Скачай книжку и почитай.
Аноним 28/05/16 Суб 12:28:48 #511 №755840 
>>755831
На книжки я кладу хуй, как только дохожу до непонятного места. С онлайн-курсами то же самое.
Аноним 28/05/16 Суб 13:39:04 #512 №755879 
>>755690
code::blocks лучше чем они имхо
в codelite автодополнение работает плохо/не работает вообще
Аноним 28/05/16 Суб 13:40:55 #513 №755881 
>>755690
>2016
>GUI
Аноним 28/05/16 Суб 13:43:31 #514 №755885 
>>755094
boost::wakaba. Не благодари
Аноним 28/05/16 Суб 13:46:10 #515 №755887 
>>755812
Да, конечно иди. После подобных курсов меня сразу взяли на должность мидл-девелопера, хотя я вообще языка практически не знал до них. Стоит своих денег!
Аноним 28/05/16 Суб 13:57:43 #516 №755898 
14644330633410.jpg
>>755887
>40 часов
>мидл-девелопера

Вприсядку с поехавшего
Аноним 28/05/16 Суб 14:20:50 #517 №755920 
>>755879
Ты поехавший дядя? Открой хоть раз eclipse cdt, это - самая сильная IDE в code assistant на данный момент.
Аноним 28/05/16 Суб 14:28:15 #518 №755926 
>>755920
Про cdt не было речи
Аноним 28/05/16 Суб 14:55:22 #519 №755945 
>>755840
Что тебе мешает положить хуй когда дойдешь до непонятного места на оффлайн курсах?
Аноним 28/05/16 Суб 15:55:50 #520 №756007 
>>755879
Чего его нет в шапке тогда?
>>755920
Эклипс - жуткая и тормозящая параша.
>>755881
Кек
Аноним 28/05/16 Суб 15:59:05 #521 №756011 
>>756007
moar нажми
Аноним 28/05/16 Суб 16:27:53 #522 №756035 
>>756011
В шапке в основных какое-то говно, я это имею ввиду.
Аноним 28/05/16 Суб 17:02:45 #523 №756083 
>>755945
1. Деньги уплочены.
2. Чисто психологически не так легко соскочить, когда занимаешься с другими людьми.
3. Препод должен популярно объяснять непонятные моменты.
Аноним 28/05/16 Суб 17:20:39 #524 №756117 
>>756007
>Эклипс - жуткая и тормозящая параша.
Ты ебу дал? Почему у меня не тормозит? Ни с hdd, ни тем более с ssd.
Аноним 28/05/16 Суб 18:13:56 #525 №756188 
Есть текстовый файл в котором хранится информация о зависимостях классов, типа класс 1 наследует у класса 2 и тд.

как все это считать в матрицу смежности?
Аноним 28/05/16 Суб 18:16:52 #526 №756191 
>>756188
> матрицу смежности
> C++
Аноним 28/05/16 Суб 18:17:47 #527 №756192 
>>756191
что не так?
Аноним 28/05/16 Суб 18:23:25 #528 №756197 
>>756192
Список смежности проще на крестах. Матрицу на си или паскале строить будешь.
Аноним 28/05/16 Суб 18:24:50 #529 №756199 
>>756197
окей. это не столь важно, список или матрицу. главное реализовать поиск.
считать строку и определить что это за класс и откуда наследует (если наследует вообще).
Аноним 28/05/16 Суб 18:35:58 #530 №756210 
>>756199
В каком формате храниться инфа?
Аноним 28/05/16 Суб 18:38:04 #531 №756214 
>>756210
текстовый файл с объявлением класса, типа:
class Parent {};
class Child: virtual public Parent {};
Аноним 28/05/16 Суб 18:47:27 #532 №756222 
>>756214
Все классы в разнабой? Родитель может после ребёнка быть? Тогда нёжен мап. Ключ имя класс, а значение это множество унаследованных от него классов. Читаешь файл по строкам. Если встретил класс базовый, то добавляешь в мап и множество детей пустое. Если встретил унаследованный класс, то класс ребёнка добавляешь в множество детей класс родителя, и создаешь пустой класс ребёнка если он ещё не создан. ЗА 1 проход должен справиться. Можно не мапом, а вектром. Так сложнее, но в конце в список смежностей не придётся конвертировать.
Аноним 28/05/16 Суб 18:52:12 #533 №756227 
>>756199
Какие ограничения? Могут ли в классе быть объявления методов, функций и т.п., или это форвард-декларации без тела класса? Могут ли быть комментарии в этом файле? Однострочные, многострочные? Может ли быть что-то кроме классов в файле? Строки, например?

В общем случае тебе надо брать с++ парсер и вытягивать оттуда классы, потому что ручками распарсить это будет очень тажело.

Если же условия облегченные, т.е. просто декларации классов, без тела, комментариев и других элементов языка нет, онли классы и зависимости, тогда напиши легкий парсер, можешь сам ручками, можешь использовать bison++ генератор парсеров, вообще ручками тут будет достаточно просто это сделать.

Ну и потом сохраняешь это как-нибудь. Если нужна матрица смежности, ну так создай массив массивов булов, лучше всего юзай std::array, и заполняй.
Аноним 28/05/16 Суб 19:47:28 #534 №756294 
>>756227
Двачую, в общем случае без полноценной компиляции до конца хуй распарсишь. Например, можно без проблем нахуярить такой код, чтобы родители были разные в зависимости от содержимого какого-то из строчных литералов, и все развалится от малейшего дуновения нестандартного парсера.
Аноним 28/05/16 Суб 19:49:52 #535 №756298 
>>756294
>текстовый файл с объявлением класса
>строчных литералов
Он же вроде объяснил что там только такие строки как в примере.
Аноним 28/05/16 Суб 21:39:37 #536 №756382 
Можно ли как-то взять модуль числа?
Хочу убрать вероятный знак -.
sageАноним 28/05/16 Суб 21:42:01 #537 №756387 
>>756382
n = |n|
Аноним 28/05/16 Суб 21:42:46 #538 №756388 
>>756382
sqrt(sqr(n))
Аноним 28/05/16 Суб 21:48:18 #539 №756396 
>>756388
sqr - не могу найти, это квадрат, так?
Аноним 28/05/16 Суб 21:49:27 #540 №756398 
>>756396
Да. Ищи тщательнее.
Аноним 28/05/16 Суб 21:51:50 #541 №756399 
>>756396
можешь сам написать
int str(int num)
{
int res = 0;
for(size_t i = 0; i!=num; ++i)
{
res += num;
}
return res;
}
Аноним 28/05/16 Суб 21:52:16 #542 №756400 
>>756399
>str
sqr
Аноним 28/05/16 Суб 21:53:52 #543 №756402 
>>756398
Нашёл какой-то pow, cделал так: double module = sqrt(pow(compare,2.0));
Оно показывает 0 в любом случае.

>>756399
Спасибо, сейчас попробую.
Аноним 28/05/16 Суб 21:57:13 #544 №756406 
>>756402
pow ты загуглить смог, а abs нет?
Аноним 28/05/16 Суб 21:58:18 #545 №756408 
>>756227
>>756222
Спасибо за помощь, но не могу вытащить из строки "нужное". Есть ли вариант с помощью регулярных выражений получить из строки:
class Child1: virtual public Parent, virtual public Child0 {};
строку:
Child1 Parent Child 0

Каким образом это реализовать?
Аноним 28/05/16 Суб 21:59:08 #546 №756410 
>>756406
Спасибо.

Альсо, а что в этом методе убирает минус: >>756399
>>756388
Так, на будущее.
Аноним 28/05/16 Суб 22:01:01 #547 №756413 
>>756408
Ты не смог распрасить строки в примере или в твоём текстовом файле тебе что-то мешает?
Аноним 28/05/16 Суб 22:03:12 #548 №756416 
>>756413
Я не смог понять КАК это сделать. Мне ничего не мешает, есть текстовик, там все эти наследования, как я и говорил, их может и не быть, а может быть 2-3, к примеру. Суть не в этом.
Мне надо получить то, что я написал выше, с учетом того, что если будет больше наследований, то соответственно больше имен
Аноним 28/05/16 Суб 22:10:22 #549 №756425 
>>756197
Какая разница-то?
Аноним 28/05/16 Суб 22:19:58 #550 №756434 
>>756425
Списсок смежностей легко делать на динамических массивах. И он лучше матрицы т.к. занимает меньше памяти.
Аноним 28/05/16 Суб 22:31:43 #551 №756440 
>>756434
Это понятно

> Список смежности проще на крестах
Шо на плюсах, шо на сях. Одинаково будет
Аноним 28/05/16 Суб 22:34:13 #552 №756442 
>>756440
на сях не вектора самому функции инсерт и делите в список писать будешь и с указателями ебаться
Аноним 28/05/16 Суб 22:39:29 #553 №756446 
>>756442
А, лол, std::vector же, действительно. Сорь
Аноним 28/05/16 Суб 22:40:44 #554 №756447 
>>756434
Ну на плюсах ты тоже нормально не сделаешь. Фрагментация заебет. Но для laba_graph.cpp норм.
Аноним 28/05/16 Суб 22:42:48 #555 №756448 
>>756447
>нормально не сделаешь
я про простые методы типа vector<vector<unsigned>>
Аноним 28/05/16 Суб 22:45:26 #556 №756450 
>>756447
>Фрагментация
А где её нет? Это не от языка зависит.
Аноним 28/05/16 Суб 22:47:57 #557 №756451 
>>756450
>А где её нет?
в матрице смежности
Аноним 28/05/16 Суб 22:51:18 #558 №756453 
>>756451
Каждый вложенный массив может появится в новом месте. Чтобы это избежать костыль по превращению двумерного массива в одномерный нужен. И не эффективно т.к. лучше фрагментация памяти чем её перерасход.
Аноним 28/05/16 Суб 22:52:37 #559 №756454 
>>756453
>костыль по превращению двумерного массива в одномерный нужен
Это новое название memory pool?
Аноним 28/05/16 Суб 22:54:18 #560 №756456 
>>756454
Нет не пул. Там когда a[i*n+m] вместо a[n][m].
Аноним 28/05/16 Суб 22:58:56 #561 №756459 
>>756456
А что плохого то?
Аноним 28/05/16 Суб 23:00:40 #562 №756462 
>>756459
Костыль, сложно, нечитаемо, очень неэффективно по памяти.
Аноним 28/05/16 Суб 23:08:03 #563 №756468 
>>756462
>Костыль, сложно, нечитаемо
ну ок.

int arr = new int[n];
arr[0] = new int[n
m];
for(size_t i = 1; i!=n; ++i)
arr = arr[i - 1] + m;

ну и обращайся к массиву arr[j].
>очень неэффективно по памяти
поясни
Аноним 28/05/16 Суб 23:09:00 #564 №756470 
>>756468
int arr = new int [n];
arr[0] = new int[n
m];
for(size_t i = 1; i!=n; ++i)
arr = arr[i - 1] + m;
Аноним 28/05/16 Суб 23:09:47 #565 №756472 
>>756470
int arr = new int [n];
arr[0] = new int[n
m];
for(size_t i = 1; i!=n; ++i)
arr = arr[i - 1] + m;
Аноним 28/05/16 Суб 23:09:56 #566 №756473 
>>756468
>поясни
Это я в общем про метод.

>>756470
Отправь ещё раз. Вдруг получится.
Аноним 28/05/16 Суб 23:10:27 #567 №756476 
http://pastebin.com/Q7GrVvXX
Аноним 28/05/16 Суб 23:15:03 #568 №756478 
>>756476
Ну и что это?
Аноним 28/05/16 Суб 23:20:06 #569 №756480 
>>756478
как ты и хотел. Без
>Костыль, сложно, нечитаемо

А, вообще, тебе любой пояснит, почему так делать лучше.
Аноним 29/05/16 Вск 02:18:04 #570 №756537 
>>756416
Можешь регуляркой, что-то вроде http://pastebin.com/L3ch8ze5

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

А можешь ручками распарсить, просто читаешь последовательно слово за словом из потока, и проверяешь прочитанные слова, типа того:

std::string base_class_name;
std::vector<std::string> derives;
std::string word;
std::cin >> word;
if(word != "class") exit();
std::cin >> base_class_name;
if(base_class_name.rbegin() == ':') base_class_name.erase(base_class_name.rbegin());
if(
base_class_name.rbegin() == ';') exit();
while(true) {
std::cin >> word;
if(word == "virtual") std::cin >> word;
if(word == "public" || word == "private" || word == "protected) std::cin >> word;
derives.push_back(word);
if(word.rbegin() == ';' || word.rbegin() == ',') derives.back().erase(derives.back().rbegin());
if(*word.rbegin() == ';') break;
}


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

Последний вариант -- погугли, что такое лексеры, генераторы парсеров и парсер-комбинаторы, на хабре есть статьи и в других местах тоже, можешь использовать их, они сложнее в освоении, нужно иметь знания в области формальных языков и грамматик а также требуют времени на освоение, но они позволяют решать эти задачи более элегантно и просто.
Аноним 29/05/16 Вск 02:20:09 #571 №756538 
>>756537
наши звездочки пожрал долгоносик, милорд
Надеюсь, понятно, где они должны стоять везде, где разыменовывается итератор rbegin() и сравнивается с символом
Аноним 29/05/16 Вск 02:38:17 #572 №756540 
>>756538
>Надеюсь, понятно, где они должны стоять везде, где разыменовывается итератор rbegin() и сравнивается с символом
Охуел, бля? Еще мы тут будем вчитываться в твой высер. Заливай на ideon свое говно.
Аноним 29/05/16 Вск 03:36:21 #573 №756553 
>>756540
Иди нахуй, я ответил человеку. Если ему это нужно -- разберется или хотя бы вежливо попросить залить куда-нибудь.
Если твои глазки болят и вытекают глядя на мое говно, можешь идти, сесть в уголочек и тихонечко их себе выколоть.
Аноним 29/05/16 Вск 16:38:22 #574 №756806 
4.6/1 говорит, что сохраняет значение только float->double promotion, а double->long double может терять точность.
3.9.1/8 говорит, что long double имеет достаточную точность, чтобы хранить любое значение из double.
Тебе не кажется, анон, что тут какая-то нестыковка?
sageАноним 29/05/16 Вск 18:57:52 #575 №756924 
14645374727010.png
>>756806
Где ты увидел в 4.6/1 конверсию из double в long double?
Аноним 29/05/16 Вск 19:35:48 #576 №756970 
>>756924
Я имею в виду как раз, что ее нет среди promotions. Получается, безопасность не гарантируется, но 3.9.1/8 утверждает обратное. Если она всегда безопасная, то зачем ее отнесли к conversions, разве основная суть promotions не отделение гарантированно безопасных преобразований?
sageАноним 29/05/16 Вск 20:05:59 #577 №757007 
>>756970
В 8.5.4/7 вроде указаны все сужающие преобразования, видимо, все остальные являются нормальными. Хотя действительно странно, что напрямую нигде не сказано про double -> long double.
Аноним 29/05/16 Вск 21:14:55 #578 №757070 
>>757007
>8.5.4/7
Добра тебе, няша. Я-то смотрел в разделе про типы, а оно вон где запрятано.
Аноним 29/05/16 Вск 21:21:47 #579 №757074 
>>756806
>>756924
>>756970
>>757007
>>757070
Krestothread.
Lyrics. Labas. Language lawyers.
Аноним 30/05/16 Пнд 17:22:53 #580 №757646 
Switch не работает со string, почему?
sageАноним 30/05/16 Пнд 17:29:23 #581 №757653 
>>757646
Потому что switch в c и c++ работает только с перечисляемыми типами. string, естественно, к ним не относится.
Аноним 30/05/16 Пнд 17:36:16 #582 №757661 
Подскажите пожалуйста, я недавно читаю книгу, но медленно иду, и тут я застопорился в задачке из книги с шапки:
http://ideone.com/iGGnvN
Как сделать так, чтобы если я ввёл unit не из списка (m, cm, in, ft), то мне писалось бы что он неверный и предлагалось заново ввести его, а не закрывалась программа?
На 18-22 строках у меня бам break; стоит.
Аноним 30/05/16 Пнд 17:41:07 #583 №757667 
>>757661
Поменять break на continue.
Аноним 30/05/16 Пнд 17:47:28 #584 №757675 
>>757667
Cпасибо, т.е. брейк просто прерывает программу, а продолжить прерывает текущую функцию, и делает откат, как-то так?
Аноним 30/05/16 Пнд 17:50:31 #585 №757682 
>>757675
У тебя дело происходит в цикле while. break выводит из цикла, continue отправляет на следующую итерацию.
Аноним 30/05/16 Пнд 17:52:04 #586 №757684 
>>757682
continue относится только к циклам, типа while / for? У меня он же в if находится. Понятно, в книге, просто, про него не было написано.
Аноним 30/05/16 Пнд 17:56:58 #587 №757691 
>>757684
break/continue могут быть в любом цикле, независимо от положения. Они будут относиться к наиболее вложенному, если отсутствует метка.
Аноним 30/05/16 Пнд 18:12:37 #588 №757705 
>>757691
А у вас нету чата какого-нибудь?
Аноним 30/05/16 Пнд 20:06:33 #589 №757791 
Сап плюсач. Есть одна функция. А вернее целый класс с этой ф-цией.
http://pastebin.com/YJDR9eTL
Вот сам код. При попытке его скомпилить(это кусок библиотеки) все получается и никаких проблем нет. Но вот при подключении этой самой библиотеки к тестовому проекту, последний выдает ошибку линковщика, жалуясь на DelegateProc. К слову если убрать присвоение
DelegateProc = _DelegateProc;
То код вполне себе компилится. Казалось бы дело именно в нем, но как, черт возьми, тогда его правильно сделать?
Аноним 30/05/16 Пнд 20:11:36 #590 №757794 
>>757791
>тогда его правильно сделать
как и любой другой статический член класса.
Аноним 30/05/16 Пнд 20:21:41 #591 №757806 
>>757794
Ты имеешь ввиду его нужно было в самом начале еще присваивать? То есть указать сначала тип, потом этот объект, и потом какую-нибудь начальную ф-цию. Но как указать тип?
???? Win32WindowWrapper::DelegateProc = DefWindowProc;
Что писать в начале?
Аноним 30/05/16 Пнд 20:35:49 #592 №757817 
>>757794
>>757806
Анончик. Я нашел ответ!
LRESULT(__cdecl *Win32WindowWrapper::DelegateProc)(HWND, UINT, WPARAM, LPARAM);

Я так долго не мог понять потому, что тип как бы вокруг названия переменной. Но теперь таки разобрался!
Аноним 30/05/16 Пнд 22:45:09 #593 №757942 
>>757074
> Language lawyers.
Собственно, всё "знание" цепепе — это быть language lawyer. ООПе оно в любом языке ООПе.
Аноним 31/05/16 Втр 04:21:32 #594 №758137 
14646576929740.png
Пытаюсь установить box2d, а вот такая ошибка вылазит. что бы это значило?
Аноним 31/05/16 Втр 08:21:58 #595 №758182 
Есть QQuickWindow, можно в него опенгл рендерить отдельно? Пошарил по гуглу, говорят цеплять рендерер к beforeRendering/afterRendering, но это хуйня какая-то, мне нужно больше 60фпс.
Аноним 31/05/16 Втр 19:06:53 #596 №758702 
14647108137240.png
Читаю Страуструпа
Не могу запустить первую же программу.
ЧЯДНТ?
Аноним 31/05/16 Втр 23:06:42 #597 №758926 
>>758702
> std_lib_facilities
Аноним 31/05/16 Втр 23:32:18 #598 №758938 
>>758702
не используй тут std_lib_facilities.h внутри нечто избыточное для "драститя,мирок"
пиши вместо
#include <iostream>
using namespace std;

+ функция int должна возвращать int, т.е. перед "}" вкрячь

return (2016); // 2016 - ничего не означающее

или вообще просто замени "int main~" на "void main~"

Так оно должно запуститься, но результата ты, скорее всего не заметишьпрограмка быстро выполнится и кокошечко сразу цакроица, так что перед return~ пропиши, к примеру,
int xui; // объявляешь переменную хui, типа int
cin >> xui; // тут программка будет ждать ввода хуя, - ничего не будет происходить, пока не введешь число - полюбуешься на свой Hell~

Аноним 31/05/16 Втр 23:43:05 #599 №758948 
>>758938
>+ функция int должна возвращать int, т.е. перед "}" вкрячь

> или вообще просто замени "int main~" на "void main~"

Один совет охуительней другого.
Аноним 01/06/16 Срд 02:14:47 #600 №759013 
>>758938
Даун не знает про гетчар и систем пауз, а советы раздает.
Аноним 01/06/16 Срд 04:17:42 #601 №759025 
>>759013
>getchar()
Не стандартные средства языка.
>system("pause")
А за такое вообще нужно брать и убивать.
Аноним 01/06/16 Срд 06:30:35 #602 №759039 
14647518351810.png
>>759025
>>getchar()
>Не стандартные средства языка.
Лолшто
Аноним 01/06/16 Срд 06:51:41 #603 №759043 
>>759039
>Defined in header <cstdio>
Ферштейн?
Аноним 01/06/16 Срд 09:45:31 #604 №759081 
>>759043
Лол, блядь! Тогда что есть стандартные средства?
Аноним 01/06/16 Срд 11:04:35 #605 №759120 
14647682757690.png
>>759043
Ну и что? cstdio - часть стандартной библиотеки c++. В pure c такого хедера вообще нет.
Аноним 01/06/16 Срд 11:38:26 #606 №759136 
>>759043
Хотя лучше использовать std::cin.ignore(), да
Аноним 01/06/16 Срд 11:49:28 #607 №759145 
>>759120
Ты тралишь? Зачем тогда cin рекомендуешь, если его нет в pure c?
Аноним 01/06/16 Срд 11:52:36 #608 №759146 
>>759145
Потому что, он есть в c++, которому посвещен этот тред.
sageАноним 01/06/16 Срд 11:54:59 #609 №759147 
>>759146
Все с тобой понятно.
Аноним 01/06/16 Срд 12:44:42 #610 №759185 
14647742821810.jpg
Суп, аноны, поясните за ошибку при создании проектa:
Аноним 01/06/16 Срд 12:46:57 #611 №759188 
>>759185
У тебя неправильная ide и ось
Аноним 01/06/16 Срд 14:01:35 #612 №759243 
>>759185
Вайфая нет
Сети нет
Звука нет
Аноним 01/06/16 Срд 14:14:31 #613 №759249 
>>759243
enjoy you linux
Аноним 01/06/16 Срд 14:22:20 #614 №759259 
>>759249
*your
Аноним 01/06/16 Срд 14:22:47 #615 №759260 
14647801676910.jpg
QT и OpenMP ПРОБЛЕМЫ
У меня есть два вопроса:
1) Есть Window. На нём есть пара элементов. Как можно поменять параметры одного элемента из кода другого? Обычно это делается сигналами/слотами, но что делать, если я хочу, например, изменить значения на сразу двух лейблах по нажатию кнопки? Мне нужно биндить слот на кнопке сразу к двум сигналам на лейблах?

2) Есть кнопка. Когда нажимаю кнопку, начинается в цикле выполнение некоторого кода. Цикл распараллеленн с помощью OpenMP. После завершения нужно вывести результат в лейбл на форме.
Как сделать так, чтобы во время этих вычислений, само приложение не подвисало? Такое возможно с OpenMP вообще?
Ну то-есть, я хочу, чтобы приложение просто висело и не крашилось от того, что пользователь по нему кликнет пару раз наугад куда-нибудь.
Аноним 01/06/16 Срд 14:42:15 #616 №759280 
ПЕРЕКАТ

>>759279 (OP)
>>759279 (OP)
>>759279 (OP)
Аноним 02/06/16 Чтв 10:47:42 #617 №759881 
14648536622260.jpg
Может кто-нибудь помочь с решением задачи по программированию (через функции).
Аноним 02/06/16 Чтв 13:33:12 #618 №759953 
>>759881
> Лабы идут нахуй
И ты вместе с ними.
Аноним 02/06/16 Чтв 19:55:53 #619 №760253 
>>759881
30 баллов это дохуя или нет?
Аноним 03/06/16 Птн 15:45:30 #620 №760661 
>>760253
~67$
Аноним 03/06/16 Птн 17:44:13 #621 №760750 
Нахуй мне учить с++ если в любой компании сидят задроты которые всю жизнь потратили на изучение c++
Аноним 04/06/16 Суб 21:31:12 #622 №761635 
>>760750
Не учи. Похуй как-то вообще. Или тебя по учебе заставляют? Тогда прогревай анус лол.
ХЕЛП ХЕПЛ Аноним 05/06/16 Вск 16:57:49 #623 №762336 
завтра курсак сдавать, а у меня=> Недопустимый путь: "F:\Курсач 0.2.accdb". Убедитесь, что путь указан правильно и имеется подключение к серверу, на котором находятся файлы.
как обновить путь автоматом к базе сразу ко всему?
Аноним 05/06/16 Вск 18:15:46 #624 №762413 
>>759260
1. Да, либо отдельный слот создавать, чтобы он выводил сразу на обе подписи.
2. QtConcurrent может такое, напихаешь задач и запустишь их. Создашь QEventLoop и стартанешь его, после выполнения всех задач скажешь QEventLoop'у идти нахуй со своими ивентами.
Аноним 06/06/16 Пнд 20:45:31 #625 №763148 
Добрый вечер.
Есть программа, где на исходном изображении мышкой выделяю некоторый контур и этот контур, как новое изображение загружается в новое окно.
Сделал так:

private: System::Void pictureBox1_MouseUp(System::Object^ sender, System::Windows::Forms::MouseEventArgs^ e) {
if (isDrag) {
isDrag = false;
pictureBox1->Image = bmp1;
Pen^ p = gcnew Pen(Color::White);
Point endPoint = Point(e->X, e->Y);
int width = endPoint.X - startPoint.X;
int height = endPoint.Y - startPoint.Y;
theRectangle = Rectangle(startPoint.X, startPoint.Y, width, height);
g->DrawRectangle(p, theRectangle);
endP = endPoint;
}
}
private: System::Void button11_Click_1(System::Object^ sender, System::EventArgs^ e) {
int W =bmp1->Width, H = bmp1->Height;

bmpF = gcnew Bitmap(W, H);
for (int i = startPoint.X; i <= endP.X; i++)
{
for (int j = startPoint.Y; j <= endP.Y; j++)
bmpF->SetPixel(i-startPoint.X, j-startPoint.Y, bmp1->GetPixel(i, j));
}
pictureBox16->Image = bmpF;
}

Как сделать, что бы этот контур можно было поворачивать? Что-то никак не могу разобраться.
Аноним 10/06/16 Птн 19:30:45 #626 №766465 
Посоны, зачем нужно это ебаное std::? У меня без этой хуйни все норм компилится и запускается.
Аноним 12/06/16 Вск 19:20:18 #627 №768007 
Анон, а какое самое большое приложение ты запердоливал на крестах, и что оно делало?
Аноним 12/06/16 Вск 19:34:18 #628 №768027 
>>766465
Для сношения вашей матушки, уважаемый.
Аноним 12/06/16 Вск 21:40:26 #629 №768170 
Скиньте книг по multithreading, которые пояснят за устройство, концепции, что происходит на уровне ОС. Ну и картиночек бы еще, но эт необязательно. Пасиба.
Аноним 14/06/16 Втр 14:59:38 #630 №769232 
>>749082 (OP)
Чем писать хеллоуворды на линуксе(убунту16.04)?
comments powered by Disqus

Отзывы и предложения