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

02/12/16 - Конкурс визуальных новелл доски /ruvn/
15/11/16 - **НОВЫЙ ФУНКЦИОНАЛ** - Стикеры
09/10/16 - Открыта доска /int/ - International, давайте расскажем о ней!



Новые доски: /2d/ - Аниме/Беседка • /wwe/ - WorldWide Wrestling Universe • /ch/ - Чатики и конфочки • /int/ - International • /ruvn/ - Российские визуальные новеллы • /math/ - Математика • Создай свою

[Назад][Обновить тред][Вниз][Каталог] [ Автообновление ] 501 | 17 | 163
Назад Вниз Каталог Обновить

Неоффициальный™ нетрадиционный® C++ тред #42 Аноним 30/10/16 Вск 19:44:41  866503  
14561758413050.png (640Кб, 570x636)
shutka.jpg (72Кб, 736x736)
oop-is.png (149Кб, 800x420)
shutka2.png (343Кб, 517x398)
ОП наш прошлый умер…
Да здравствует ОП,
Что принесет нам срачи новые
Горенье и баттхёрт:

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

Коммитет слагает главы
Величеству стандарта,
Сиятельству плюсов,
Замерзших, нахуй, в легаси.

Майкрософт, звеня, раскинет
Корутин пейперы в стандарт.
И модулями всколышет
Замерзших фичей страх.

За крестовым причащеньем
Уйду один в стандарт,
Где спрятан след UB
И прошлого неловкие асинки.

И концептами поманит,
И сопрограммами, тот стандарт.
Что на белом свежем пейпере
Навсегда останется в сердцах.

Старший брат: https://2ch.hk/pr/res/856777.html
Предыдущий тред: https://2ch.hk/pr/res/840964.html


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


Аноним 30/10/16 Вск 20:43:52  866520
Не тонем.
Аноним 30/10/16 Вск 21:10:39  866531
В прошлом треде запости ссылку на перекат.
Аноним 30/10/16 Вск 21:19:07  866539
Перекатился.
Аноним 30/10/16 Вск 22:05:18  866558
Есть убунта и я хочу вкатиться в с++. На чем писать код и чем помпилировать? Слышал про gcc и g++: они нормальные?
Скачал вторую из шапки книгу: Стэнли Липпман, Жози Лажойе и Барбара... - она подойдет для новичка, если я собираюсь программировать на линуксе. Могу я из-под прыщей кодить программы для виндоуса?

Точно, первый опыт хелоувордов был на в10 с вс, поэтому я не понимаю, как писать в блокноте, чтобы потом в отдельном компиляторе скомпилировать программу.
Аноним 30/10/16 Вск 22:31:12  866574
>>866503 (OP)
Плюсы - говно. Куча ненужной хуиты типа шаблонов и множественного наследования, нет делегатов, объектники от разных компиляторов бинарно несовместимы, уродский раздутый стандарт на тысячу страниц. Если бы плюсы не взяли за базу Си, то это говно давно бы померло.
Аноним 30/10/16 Вск 22:37:13  866581
Господа, помогите. Пишу в Qt 5.6, использую библиотеку для отображения оффлайн карты https://github.com/raptorswing/MapGraphics
Подскажите, как реализовать в ней геолокацию ?
Аноним 30/10/16 Вск 22:42:23  866587
>>866558
>Есть убунта и я хочу вкатиться в с++. На чем писать код и чем помпилировать? Слышал про gcc и g++: они нормальные?
Значит Убунту тебе мозгов поставить хватило, а найти в чем код писать нет. Ставь студию в вайне тогда, пердолик

>Могу я из-под прыщей кодить программы для виндоуса?
С этого окончательно проиграл. Ты С++ изучать собираешься или тебе надо просто заебаться? Каждый блядский тред одно и тоже, каждый тред. Ньюфажики лезут изучать С/С++, но студия видимо слишком мейнстрим для них, нужно обязательно пердолиться с мейкфайлами и компиляцией из блокнотика.
Аноним 30/10/16 Вск 22:44:03  866592
>>866574
Ну и почему же это единственный выстреливший наследник си, коих немерено? инб4: потому что ты далбич.
Аноним 30/10/16 Вск 22:50:27  866599
>>866587
>обязательно пердолиться с мейкфайлами
И зачем нужно писать мейкфайл для компиляции хэловорда? g++ hui.cxx — слишком сложно для нюфага?
Аноним 30/10/16 Вск 22:54:04  866603
>>866592
> Ну и почему же это единственный выстреливший наследник си
Зафорсили. А реально язык - кусок говна. Если откинуть божественное наследие Си, то останется один вонючий кал, вроде шаблонов, перегрузки операторов, изуверские способы функционирования конструкторов/деструкторов, отсутствие бинарного стандарта на типы, строковый тип с костылями, и.т.д..
Аноним 30/10/16 Вск 22:56:02  866606
>>866603
Насчет шаблонов ты зря, без генериков совсем хуево. Лучше уж такие чем никакие.
С остальным согласен.
Аноним 30/10/16 Вск 22:57:19  866609
>>866603
>отсутствие бинарного стандарта на типы
Ах да, и это необходимо для мультиплатформы.
Сделанной через жопу, правда.
Аноним 30/10/16 Вск 23:02:47  866612
>>866599
а если у тебя 4 файла?
Аноним 30/10/16 Вск 23:04:38  866613
>>866574
> нет делегатов
А с чего язык должен поддерживать какой-то специфичный "паттерн проектирования"?
Аноним 30/10/16 Вск 23:07:30  866615
>>866603
Ну так из-за наследия си всё говно и льётся. Ты пока что перечислил только нужные фичи. Кстати, что не так с конструкторами/деструкторами?
Не понял насчёт бинарного стандарта типов. Одинаковые размеры на всех платформах? Хуиток вроде cstddef как говна, и опять же — это из няшной проблема.
>>866612
g++ hui1.cxx hui2.cxx hui3.cxx hui4.cxx
инб4: вводить всё каждый раз тоже не надо, да.
Аноним 30/10/16 Вск 23:10:17  866618
>>866612
>4 файла
>хэловорды
>мэйкфайлы
ловите поехавшего блять
алсо один хуй придётся разбираться с мейкфайлами, сборкой под разными системами и конфигурацией билдов, так что это райт вей
Аноним 30/10/16 Вск 23:23:18  866624
>>866615
Пнятно, значит компилировать в g++, тогда где писать. Есть что поудобнее, чем стандартный убунтовский блокнот?
К слову свободная ось стоит скорее для обработки фотографий моего члена в рав, но снова появилось желание вкатиться в дев и поэтому пишу. Еще в каком-то гайде слышал, что для вкатывания в код желательно сидеть на прыщах и все пилить вручную. Еще мне нравится юнити, благо стоит не совсем некроговно и на все хватает ресурсов компьютера, а винда для игрушек.
Аноним 30/10/16 Вск 23:24:31  866625
>>866581
Бамл
Аноним 30/10/16 Вск 23:30:39  866628
>>866606
> Насчет шаблонов ты зря
Шаблоны - это такая же залупа, как и макросы. И претензия к ним точно такая же, как к макросам - не видно кода, который реально выполняется. Даже в отладчике
> Лучше уж такие чем никакие.
Страуструпа можно было простить в начале, когда он выдумывал множественные наследования. Но когда появилась и успешно стрельнула java, которая реально в продакшене показала, что нужно только одиночное наследование, а для остального вполне достаточно интерфейсов - уже не было никакого смысла поддерживать этот ебаный цирк с конями
>>866609
> Сделанной через жопу, правда
Тип int должен быть равен размеру регистра целевой платформы. Из этого всё и вышло. Никогда нельзя сказать наверняка, сколько у тебя будет в short int
>>866613
> поддерживать какой-то специфичный "паттерн проектирования"
Делегаты действительно позволяют использовать объект без знания его структуры. Не нужно, блеать, быть родственником, чтобы скоммуницироваться. Все это поняли, кроме долбонавтов из С++-комитета
>>866615
> Ну так из-за наследия си всё говно и льётся
Стандарт K&R Си - это 100 страниц с примерами.
В отличии от стандарта крестов, которые уже в первой редакции весили 450 страниц
> Кстати, что не так с конструкторами/деструкторами?
Неявные. Это - проблема в сопровождении.
Object t и Object t() инициализируются по-разному, нельзя заранее сказать, какие деструкторы сработают, не заглянув в код
> Не понял насчёт бинарного стандарта типов. Одинаковые размеры на всех платформах?
Все портируемые проекты начинаются с собственных велосипедов, описывающих элементарные типы. Второй, очень важный момент. Объекты, скомпилированные одним плюсовым компилятором, не получится использовать в проекте с другим компилятором. Из-за манглинга имен и отсутствия стандарта на бинарный объект внутри obj-файлов. Экспорт почти всегда си-подобный. И это не будет решаться никогда
Аноним 30/10/16 Вск 23:36:37  866630
>>866628
> использовать объект без знания его структуры
Всмысли? Я использую кучу разных классов не зная их структуры. ЧЯДНТ?
Аноним 30/10/16 Вск 23:43:35  866635
>>866630
Как минимум, тебе нужен хидер класса, чтобы его использовать. А делегат - это указатель на объект + указатель на метод. Т.е. тебе даже его хидер не нужен, чтобы вызвать. Например, если объект живет в какой-то закрытой либе. Это удобно
Аноним 31/10/16 Пнд 00:17:47  866646
>И претензия к ним точно такая же, как к макросам - не видно кода, который реально выполняется.
Почему тогда я могу дебажить начинку STL? Сдается мне ты пиздишь.
>Страуструпа можно было простить в начале, когда он выдумывал множественные наследования.
Хорошо так говорить в 2016 году. Посмотрел бы я на тебя в 95 в время хайпа на ООП.
>Тип int должен быть равен размеру регистра целевой платформы.
А вот за это пожалуй я тебя обоссу, уж извини. Наиуебанская из возможных идей. Только переписали древнюю дристню, которая падала при переходе на х64, теперь ты предлагаешь какой-либо реюз кода между архитектурами вообще по пизде пустить. Лучше уж наоборот отменить int как нечистое наследие сишки и оставить всякие int8_t и т.п.
>Стандарт K&R Си - это 100 страниц с примерами.
Драфт С11 занимает ~600 страниц. Возможно в 80-х это было действительно так. Ну так первые стандарты крестов тоже меньше были. Такой дешевой демагогией нас не проведешь.
>Object t и Object t() инициализируются по-разному, нельзя заранее сказать, какие деструкторы сработают, не заглянув в код
Не понимаю чего тебе не нравится, все очень логично и понятно.
>Все портируемые проекты начинаются с собственных велосипедов, описывающих элементарные типы.
В стандарте есть переносимые типы. Скорее всего всем просто на них похуй. Как что-то плохое.
>Делегаты действительно позволяют использовать объект без знания его структуры.
Охуительные истории. std::function для кого в стандарт добавили? Это без учета бустовых и самописных. Доступных наверное года с 1998, если не раньше.
Аноним 31/10/16 Пнд 00:23:13  866649
>>866628
Шаблоны хороши, когда используются как простые генерики, но в остальных случаях ты прав хотя хорошие аст макросы — очень хорошая вещь.

Жява показала что лучше вообще нахуй выпилить наследование из языка, если не хочется оверинжинирить, страдать раком вроде object slicing-а и тормозить, вот что она показала. Но опять же, подобные избыточные вещи регулируются конвеншеном "чо и как используем" для конкретного проекта.

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

На бинарное несоответствие компиляторов, мягко говоря, насрать.
Аноним 31/10/16 Пнд 00:24:07  866651
>>864645
Перекатываюсь из прошлого треда
Аноним 31/10/16 Пнд 00:26:13  866654
Мне может кто-нибудь объяснить, почему неосиляторы больше всего бомбят именно от множественного наследования?
Аноним 31/10/16 Пнд 00:30:12  866655
>>866649
>Шаблоны хороши, когда используются как простые генерики
А что, есть дебилы которые используют для чего-то еще?
>2ch.mail.ru
Хотя о чем я, мда.
Аноним 31/10/16 Пнд 00:31:11  866656
>>866654
Потому что на редкость кривая хуйня, которая спровоцировала костыли вроде виртуального наследования в языке.

По правде в виду ненужности как и обычного наследования один хуй нигде не используется, кроме срачей.
Аноним 31/10/16 Пнд 00:33:43  866657
>>866655
Стандартную библиотеку открой. Особенно какую нибудь type_traits.
Ржущий_александерску.жпг
Аноним 31/10/16 Пнд 00:52:19  866667
>>866657
>дебилы
>Стандартную библиотеку
Ну так все сходится.
Аноним 31/10/16 Пнд 02:07:14  866718
>>866646
> Почему тогда я могу дебажить начинку STL?
Давай, сходи подебажь её после gcc, сынок. Даже студия научилась показывать экземпляры коллекции примерно в 2012 году
> А вот за это пожалуй я тебя обоссу, уж извини.
Себя обоссы, ладно? Я нигде не писал, что это хорошо
> Не понимаю чего тебе не нравится
Неоднозначность создания объекта. Это хуево со всех сторон
> Охуительные истории. std::function для кого в стандарт добавили?
Нахуй он кому нужен, этот ебаный костыль? Во-первых, указатели на функции итак есть в стандарте, во-вторых, std::function для объектов специфицируется от определенного класса, а это - кусок говна, а не делегат. Делегат здорового языка не требует имени класса, если ты вдруг не знал. Только сигнатуру метода.

Аноним 31/10/16 Пнд 02:12:38  866721
>>866649
> а так если знать какие вообще существуют конструкторы проблем нет
Ты, надеюсь, понимаешь, что идея о существовании нескольких конструкторов сама по себе наркоманская?
> На бинарное несоответствие компиляторов, мягко говоря, насрать
Если писать хелловорлды или собирать всё из сорцов, то конечно, насрать можно на многое.
>>866654
Потомучто адовая хуита. Особенно, если вдруг кто-то захочет сделать наследование от двух классов, у которых в свою очередь, где-то был общий предок.
Аноним 31/10/16 Пнд 02:16:40  866722
Почему я не могу сделать вот так:
pz++;
А должен делать вот так:
(
pz)++;
?
Аноним 31/10/16 Пнд 02:18:02  866723
>>866722
>>866722
> ФИКС
Почему я не могу сделать вот так:
pz++;
А должен делать вот так:
(
pz)++;
?
Аноним 31/10/16 Пнд 02:19:06  866724
>>866723
бля, почему звёзды не ставятся? Ну кароче там у меня перез "p" стоит "*";
Аноним 31/10/16 Пнд 02:22:41  866725
>>866721
>Ты, надеюсь, понимаешь, что идея о существовании нескольких конструкторов сама по себе наркоманская?
Да нет, не вижу ничего наркоманского.
>Если писать хелловорлды или собирать всё из сорцов, то конечно, насрать можно на многое
Если к хуйне придираться — то тем более. Приведи реальный юзкейс проблемы, как с этим ирл столкнуться можно. Все сторонние библиотеки поставляются либо исходниками, либо бинарниками под все компиляторы как тот же Qt. А тащить левую хуиту без поддержки и исходников — нужно быть конченым уебаном.
Аноним 31/10/16 Пнд 02:30:55  866730
>>866722
Можешь, в зависимости от типа pz (с различной семантикой, соответственно).
Аноним 31/10/16 Пнд 02:40:08  866737
>>866628
>нельзя заранее сказать, какие деструкторы сработают, не заглянув в код
Что ты несёшь?
Аноним 31/10/16 Пнд 04:15:49  866750
>>866723
Потому что приоритет операторов.
pz++ дереференс указателя (pz + 1).
(
pz)++ — инкремент значения, на которое указывает pz.
http://ideone.com/kFBawX
Аноним 31/10/16 Пнд 04:18:56  866752
>>866750
Точнее даже, pz++ это инкремент pz и дерефернс этого нового pz, равного старый pz плюс один. В общем, в коде всё видно.
Аноним 31/10/16 Пнд 04:52:20  866757
Что посоветуете для изучения буста?
Аноним 31/10/16 Пнд 04:52:34  866758
>>866752
>•pz++ это инкремент pz и дерефернс этого нового pz, равного старый pz плюс один. В общем, в коде всё видно.
В коде видно, что это не так.
Аноним 31/10/16 Пнд 04:53:10  866759
>>866752
>в коде всё видно.
И вообще ты там за границу выделенной памяти вывалился.
Аноним 31/10/16 Пнд 04:59:06  866760
*pz++ - это мы берем значения по адресу pz в temp, далее увеличиваем указатель на pz, а далее возвращаем значение из temp.
Аноним 31/10/16 Пнд 04:59:29  866761
>>866760
>мы берем значения
кладем значени fix
Аноним 31/10/16 Пнд 05:00:40  866762
>>866758
Да, обосрался я с порядком. Дереференс старого и затем инкремент, лишь последующие обращения будут указывать на (изначальный_pz + 1).
Так, как написано в том посте, будет работать •++pz.

>>866759
>И вообще ты там за границу выделенной памяти вывалился.
Ты про pz[1] после инкремента? Так это специально, чтобы показать, что произошло. (Можно было, конечно, сделать массив из трёх элементов, но выводишь лишь первые два, но не похуй ли, если вся суть в pz[0].)
Аноним 31/10/16 Пнд 06:34:55  866773
Как работать с типом char для массивов? Повсюду гайды как этот тип использовать для строкового массива, но мне хочется поэкономить память (в учебных целях по крайней мере) и использовать char для символьного массива, но у меня вместо цифр одни ascii символы появляются, можете подсказать что делать? Или хотя-бы руководство какое скинуть на такую вроде-бы простую тему.
Аноним 31/10/16 Пнд 08:50:09  866794
>>866773
Что именно ты хочешь?
Покажи пример кода.
Аноним 31/10/16 Пнд 09:20:16  866797
>>866773
>но у меня вместо цифр одни ascii символы появляются, можете подсказать что делать?
std::cout << (int) c
Аноним 31/10/16 Пнд 10:08:54  866809
>>866757
Буст
Аноним 31/10/16 Пнд 10:14:57  866811
>>866725
> Да нет, не вижу ничего наркоманского
Возможностью создать разные конструкторы для присваивания, копирования и создания обязательно воспользуется какой-нибудь фрик, обчитавшийся Александреску. А потом на сопровождении этого говна обязательно обдерут жопу сотни людей
> Приведи реальный юзкейс проблемы, как с этим ирл столкнуться можно.
Есть охуенная либа, собранная, допустим, интеловским компилятором. Допустим, это очень оптимизированный видеокодек, купленный за деньги. Никто, блеать, тебе не даст ни сорцов и не будет делать версии для разных компиляторов. Просто сделают обертки на Си и выдадут с хидер с extern "C". Это настолько типично для коммерческих библиотек, что я удивлен, нахуя ты это спрашиваешь
> либо бинарниками под все компиляторы как тот же Qt.
Видимо, ты кроме Qt ничего не подключал
>>866737
Учи свой любимый язык. Если деструктор не объявлен виртуальным, то потомки его не вызовут. Но если он объявлен, то будет вызываться обязательно. А бывает так, что деструкторы нужно вызывать избирательно. Явного вызова деструктора с варнингом о его отсутствии хватило бы для всего. Но нет, Страуструп пошёл своим путем
Аноним 31/10/16 Пнд 10:50:18  866839
>>866811
>Это настолько типично для коммерческих библиотек, что я удивлен, нахуя ты это спрашиваешь
Потому что в их случае проблемы и нет. Дали сишный апи — тем лучше, откуда угодно вызвать смогу.
>обчитавшийся Александреску
Так что наркоманского-то, шарпофрик? Единственное но тут — генерируемые компилятором, но у тебя всегда есть explicit которого требуют вообще все гайдлайны контор вроде гугла и мозиллы.

И да — Александерску, он про другое. ро ту самую хуёвую часть плюсов которой ты не видел, если считаешь вот это проблемами.

Нужно вызывать деструкторы избирательно — сделай отдельный метод как clear() в векторе и не еби мозга.
Аноним 31/10/16 Пнд 11:05:50  866853
>>866839
> Дали сишный апи — тем лучше, откуда угодно вызвать смогу
Т.е. экспорт класса - невозможен. Об этом я и пишу. В плюсах его не было, нет и не будет. Долбонавты из комитета лучше какой-нибудь буст-хуюст засунут, чем абсолютно необходимую для продуктового софта фичу (т.е. кросс-компиляторный экспорт классов)
> но у тебя всегда есть explicit
> сделай отдельный метод как clear() в векторе и не еби мозга
Вся суть плюсовых фич - сначала их запилить, немного подрочить, написать книгу, а потом запилить способы их обхода.
Аноним 31/10/16 Пнд 11:25:58  866873
>>866853
>Об этом я и пишу
Написал бы нинужна, но напишу так: это именно что говёное наследие си, которое будет исправлено только модулями стандарте так в 20-м, но вы там как нибудь держитесь, лол
Просто взять и запилить эту фичу они не могут из-за легаси, притянуть какую-то хуитку из буста которую один хуй никто юзать не будет понятно что легче.

А способ обхода был таки изначально. И если хочешь чего-то что изначально не задумывалось хуй знает сколько лет назад — не удивляйся что язык такими фишками не располагает в отличие от шарпов, сделанных с опытом плюсовых шишек.
Аноним 31/10/16 Пнд 11:28:24  866879
>>866853
Ты себе объем этой фичи представляешь? Она очень объемная в реализации и не очень полезная по сути. Потому что автору твоего видеокодека намного выгоднее сделать сишный интерфейс и продавать свою либу не только тем, кто пишет на С++, но и на Java, питоне и прочем говне. И, если ему так охота, то можно сделать открытый hpp враппер (точно такой же, какой потребуется для Java, питона и прочего говна).
C++ в этом плане ничем не отличается от любого другого языка, наименьшим общим кратным между всеми языками является C ABI, только и всего.
То ли дело некоторые другие языки, в которых ровно один компилятор, лол. Вот там-то такой проблемы точно нет.

>Object t и Object t() инициализируются по-разному
Вообще-то второе - это объявление функции с именем t, возвращающей Object.
Аноним 31/10/16 Пнд 11:36:29  866891
>>866873
> притянуть какую-то хуитку из буста которую один хуй никто юзать не будет понятно что легче.
А вот это намного удобнее. Сейчас лично мне буст уже не нужен, последнее, что держалось, было filesystem. И это круто.
Аноним 31/10/16 Пнд 11:40:50  866896
>>866873
> это именно что говёное наследие си
Отсутствие экспорта классов не может быть наследием Си. Потомучто в Си нету классов

>>866879
> Ты себе объем этой фичи представляешь? Она очень объемная в реализации
Она очень мала. Сейчас поясню. Например extern "C" говорит, что аргументы функции надо класть в стек задом наперед . Результат работы функции тоже будет на стеке. И этого хватает уже 30 лет для экспорта.
Точно также надо поступить с классами. Например заявить, что у методов класса extern "СPP_PROGRAMMACH" все аргументы кладутся на стек, первый аргумент - указатель на экземпляр класса, и ещё вот так должна быть сделана VMT, на неё указывает ещё какой-нибудь аргумент на стеке. Этого хватит ещё на 30 лет, люди наконец-то бросят писать сишные обертки.
> Вообще-то второе - это объявление функции с именем t, возвращающей Object.
В треде неосилятор. Все в Страуструп
Аноним 31/10/16 Пнд 11:44:23  866899
>>866581
https://github.com/raptorswing/MapGraphics/blob/master/MapGraphics/MapGraphicsObject.h
?
Аноним 31/10/16 Пнд 11:49:44  866903
>>866896
>Отсутствие экспорта классов не может быть наследием Си. Потомучто в Си нету классов
Х И Д Е Р Ы
И
Д
Е
Р
Ы

Суть в том, что при попытке такого вот жопошного экспорта ты делаешь это со всеми кишками. В языке хватает корявого говна, не надо ещё больше необдуманно плодить.
>неосилятор
Тебе об этой хуйне пишет уже 3-й анон, что как бы намекает.

>>866891
Открой для себя какой нибудь Qt и перестань использовать оверинжинирнутые буст и стл корявый. он кроме более широких возможностей как минимум гарантирует нормальную имплементацию, без подводных камней и хуиток конкретной импоементации
Аноним 31/10/16 Пнд 12:14:03  866947
>>866903
> Х И Д Е Р Ы
Что с хидерами не так? Почему при сишном экспорте хватает только хидеров, а для плюсового нужны сорцы целиком, даже если поменялась только версия компилятора?
> экспорта ты делаешь это со всеми кишками.
Для такого экспорта хватить только хидера, чтобы можно было вызывать какие угодно методы, собранные каким угодно компилятором какой угодно версии. Это - как раз именно то, что нужно.
Аноним 31/10/16 Пнд 12:23:27  866961
>>866811
>Если деструктор не объявлен виртуальным, то потомки его не вызовут.
А, вот ты о чём. Не думал, что для кого-то это до сих пор проблема.
> А бывает так, что деструкторы нужно вызывать избирательно.
Например.

И, возвращаясь к >>866628
>Object t и Object t() инициализируются по-разному
Object t(); вообще не инициализирует никакого объекта, это декларация функции.
Аноним 31/10/16 Пнд 12:58:30  866995
>>866811
>А бывает так, что деструкторы нужно вызывать избирательно.
Нет не бывает. Мне вообще сложно вообразить зачем это может в понадобиться, кроме случаем какого-то кромешного говнокода.

>>866961
>Object t(); вообще не инициализирует никакого объекта, это декларация функции.
Типичный уровень "критиков крестов", еще и синтаксис учить рекомендует, лул.

>>866718
>std::function для объектов специфицируется от определенного класса, а это - кусок говна, а не делегат
Ты всегда можешь забиндить this. Странно что я тебе это объясняю.
Аноним 31/10/16 Пнд 13:00:20  866998
Сап, програмач. Учу с++ 2 месяца, сейчас есть задачка в которой нужно будет работать с аргументами командной строки (всего 5 штук). Погуглив узнал как это можно сделать, в связи с чем пришел за советом. Стоит ли самому все ручками разбирать или лучше сразу просто юзать парсер, типа gengetopt?
Аноним 31/10/16 Пнд 13:07:01  867008
>>866995
> Нет не бывает. Мне вообще сложно вообразить
Нет, бывает. В том то и дело, что ты воображаешь о том, что я сам видел и поддерживал
> Ты всегда можешь забиндить this.
Ты наверное не понимаешь, что речь идет не о том, как вызвать метод у потомка от какого-нибудь класса, а чтобы вообще уметь вызывать метод класса, не имея даже его(класса) описания, а только указатель на экземпляр, да? Посмотри на кишки Qt, на которое тут дрочат вприсядку - там есть собственный урод, имитирующий делегатов, но всеравно требующий, чтобы метод вызываемого класса был потомком какого-то там базового класса Qt. То, что я хочу получать события от Qt в классы, которые никак не связаны с Qt и не наследуются от него - авторам Qt в голову не приходит.
Аноним 31/10/16 Пнд 13:32:36  867027
>>866995
>Типичный уровень "критиков крестов"
Где ты увидел "критика крестов", крестодаун? Это была критика "критиков крестов".
>>867008
>я сам видел и поддерживал

> кто-то написал говнокод
> ЭТО ЯЗЫК ВИНОВАТ!11
Ну ясно.
Аноним 31/10/16 Пнд 13:36:16  867029
>>867008
>Ты наверное не понимаешь, что речь идет не о том, как вызвать метод у потомка от какого-нибудь класса, а чтобы вообще уметь вызывать метод класса, не имея даже его(класса) описания, а только указатель на экземпляр, да?
Шарподаун думает, что шарп умеет вызывать методы у неизвестных ему классов через libastral. Шарподаун, просто у .NET CLR есть описание твоего класса, поэтому "вызов без описания" работает.
Аноним 31/10/16 Пнд 13:44:42  867032
>>867027
> кто-то написал говнокод
> Ну ясно, выбрось все и перепиши
Ну охуеть просто. Ты наверное участвовал в проектах, где всё написал сам? Делал что-нибудь, кроме своих лабораторок? Были люди, которые согласились тебе за твое говно заплатить?
>>867029
> Шарподаун думает, что
Причем тут шарп, дятел? Почему это умеют делать любые компилируемые языки с классами, кроме плюсов? Например, тот же древний Delphi?
Аноним 31/10/16 Пнд 13:47:36  867035
>>867008
>В том то и дело, что ты воображаешь о том, что я сам видел и поддерживал
Мои соболезнования, скорее всго ты работаешь с кодом дебилов.

>чтобы вообще уметь вызывать метод класса, не имея даже его(класса) описания, а только указатель на экземпляр, да?
Именно для этого и сделан std::function. Делаешь function от метода, биндишь this, передаешь третьим лицам которые об изначальном классе ничего не знают.
Аноним 31/10/16 Пнд 13:49:57  867038
Понимаю что это спермопроблемы, но всё же памагити: есть проект с dx9, который на десятку не ставится, и его нужно собрать. Гуглинг и сайт мс выдают только статеички как с него слезать, а рефакторить 7клок не вариант, что делать?
Аноним 31/10/16 Пнд 13:54:28  867045
>>867035
> скорее всго ты работаешь с кодом дебилов.
Скорее всего, ты не видел проектов размером более, чем 9к строк и которым более, чем 2 года. Тебе ещё предстоит многое увидеть, если останешься в профессии
> Именно для этого и сделан std::function. Делаешь function от метода, биндишь this
Теперь всю эту залупу передай в либу, написанную на другом компиляторе. А, у тебя ж все шаблонные чудеса происходят на этапе компиляции? Ах, какая жалость.
Аноним 31/10/16 Пнд 14:11:14  867059
>>867032
> Почему это умеют делать любые компилируемые языки с классами, кроме плюсов?
> Причем тут шарп, дятел?
Т.е. ты спрашиваешь меня, "при чём тут шарп", хотя сам не понимаешь, что он не при чём? Шарп я для простоты упомянул.

Теперь отвечу на вопрос "почему умеют": да потому же, что и шарп. Имеют жирный RTTI и жирный рантайм, умеющий лазать по RTTI. Чудес не бывает, бесплатно ничего не даётся.

> Например, тот же древний Delphi?
Понимаешь ли. Ситуация, когда язык пилит одна контора для одной платформы, как то Delphi для wintel, C# для .NET CLR или Java для JVM кардинально отличается от ситуации, когда язык делается независимым от платформы и вендора.

В первом случае хоть блядский цирк с конями в язык запиливай. Во втором случае — это не всегда возможно и желательно.
Аноним 31/10/16 Пнд 14:37:08  867081
>>867059
> Имеют жирный RTTI и жирный рантайм, умеющий лазать по RTTI
Вот давно пора вставить хоть какой-нибудь RTTI в стандарт. Пусть не все будут его использовать, пусть не всё можно будет экспортировать, но чтобы он был, чтобы язык можно было назвать портируемым. До сих пор пользуются экспортом 30-летней давности, пиля безобразные обертки. Это нужно было сделать ещё 15 лет назад. Но мудаки вместо 2-3 страниц описания способа экспорта, предпочитают в стандарты засовывать бусты, которые вообще будет невозможно собрать и использовать на половине плюсовых компиляторов.
Аноним 31/10/16 Пнд 14:41:23  867083
>>867081
>Вот давно пора вставить хоть какой-нибудь RTTI в стандарт
Хоть какой-нибудь там есть.
> чтобы язык можно было назвать портируемым
Портируемо пиши — будет портируемым.
Аноним 31/10/16 Пнд 14:45:50  867084
>>867083
> Хоть какой-нибудь там есть.
Никто им не пользуется. Потомучто в нем нету существенного
> Портируемо пиши — будет портируемым
java-господа тут могли бы тебе опорожниться прямо в рот. Почему, чтобы код, написанный на языке, который считается универсальным, был портируемым, нужно специально по особенному приседать? Может, что-то пора добавить? Что ты об этом думаешь?
Аноним 31/10/16 Пнд 14:48:26  867086
>>867045
>Теперь всю эту залупу передай в либу, написанную на другом компиляторе.
Пошли виляния жопой. Как делегат работает? Работает. О изначальном классе знать надо? Не надо. При чем здесь передача в либу? Ты б еще поплакался что по сети их нельзя гонять.
>Скорее всего, ты не видел проектов размером более, чем 9к строк и которым более, чем 2 года.
Да, да все студенты, один ты порох нюхал. Давай ты лучше приведешь пример когда нужно избирательно деструкторы вызывать, вместе посмеемся.
Аноним 31/10/16 Пнд 14:51:05  867087
>>867084
>Никто им не пользуется.
Рантайм пользуется.
> который считается универсальным
Кем считается? Универсальных языков нет и быть не может.
> Может, что-то пора добавить?
Пора. И пропозалы есть, работа идёт.
> Что ты об этом думаешь?
Думаю, бессмысленно эти проблемы обсуждать со школьниками, которые думают, что еда производится из холодильника, деньги из мамки а методы можно вызывать не имея определения класса.
Аноним 31/10/16 Пнд 15:06:02  867092
С std::type_info ситуация как с std::uncaught_exceptions. Давно уже везде была информация о числе исключений, только в языке её получить нельзя было.
Аноним 31/10/16 Пнд 15:06:03  867093
>>867086
> При чем здесь передача в либу?
При том, что более менее сложный проект состоит из компонентов, написанными другими людьми в другое время и может быть вообще закрытым
> Да, да все студенты, один ты порох нюхал.
Ещё раз: у тебя реально идиотские представления о чужом коде. В проекте, допустим, размером на 1,5млн строк, которому лет так 12-15 можно увидеть просто всё. Это - типичный С++-проект, который внедрен и продается. Там нет и не будет времени переписать даже 10%.
>>867087
> И пропозалы есть, работа идёт
Единственное, что порадовало за кучу лет - это std::thread. Но в половине моих рабочих компиляторов оно не появится никогда.
> методы можно вызывать не имея определения класса.
Делегаты в языках здорового человека -вызывают. Что с ними не так? Типичный use case: есть какая-нибудь охуенная апликуха, которая что-то считает. Сложная, богатая. К ней надо запилить графический интерфейс. От GUI нужно несколько финальных событий и пусть его напишут отдельно. Уместно к выходам гуя прикрутить делегаты и здорово, если гуй ничего не будет знать про классы мощной аппликухи, а классы аппликухи не будут наследоваться от какого-нибудь ебанутого CQtSuperMegaAnscestorOfAllObject.
Аноним 31/10/16 Пнд 15:45:50  867111
>>867093
Я тебе ещё раз говорю. Неявно описания всех классов загружаются в рантайм. В .NET VM или в JVM или ещё куда.

> классы аппликухи не будут наследоваться от какого-нибудь ебанутого CQtSuperMegaAnscestorOfAllObject.
> The object type is an alias for Object in the .NET Framework. In the unified type system of C#, all types, predefined and user-defined, reference types and value types, inherit directly or indirectly from Object.
То, что все классы наследуются от не менее ебанутого Object тебя, почему-то, устраивает.
Аноним 31/10/16 Пнд 15:59:40  867119
>>867093
Если тебе опять не нравится то, что я говорю про шарп, ок: в твоём блядском дельфи тоже ВСЁ наследуется от TObject.
Аноним 31/10/16 Пнд 16:34:18  867145
С++ - параша.
Haskell - намного лучше.
В нём типы, а в ЦэПлусПлус - ООП, а ООП, как известно, ПАРАША!!
(Автор этого поста был забанен. Помянем.)
Аноним 31/10/16 Пнд 17:48:23  867208
http://www.cplusplus.com/doc/tutorial/pointers/

Я заметил что на этом сайте много годных статей которые гораздо проще, понятнее и конкретнее всё объясняют чем в любых книгах которые я читал, есть ли переведённые статьи с этого сайта на русский язык? Уж сколько десятилетий ведь прошло, неужели нету?
Аноним 31/10/16 Пнд 17:54:59  867215
>>867208
Так займись, ебать. Видишь же - ниша пуста
Аноним 31/10/16 Пнд 18:12:16  867230
>>867145
Ну во первых это был вопрос, есть или нету перевод этих статей, мне слабо верится что это до сих пор не перевели. Даже если не перевели и этим займусь я, то куда я это выкладывать буду?
Аноним 31/10/16 Пнд 18:14:54  867232
>>867230
Учи английский.
Ведь, как известно, самыми лучшими программистами становятся гуманитарии.
Аноним 31/10/16 Пнд 21:19:56  867374
Как же заебали вскукареки всяких даунов. Если кресты - хрень, почему на них пилят движки для топовых игр?
Аноним 31/10/16 Пнд 21:40:23  867382
>>867374
У крестов своя ниша. Производительность крестов нахуй не сдалась практически нигде, кроме как игор, эмбеда, и всякого спец-софта
Аноним 31/10/16 Пнд 21:58:08  867392
>>867374
Топовые игры топовые не из-за крестов, а из-за шейдеров и художников. А так хоть на Java перепиши.
Аноним 31/10/16 Пнд 22:06:05  867394
>>867374
Игровые движки, исключительно редкий случай, когда специфика предметной области более-менее укладывается в ОО-парадигму.
>>867382
Бля, причем здесь кресты и производительность? Кресты - неудачная ОО-надстройка над СИ, плюс шаблончики и исключения.
Аноним 31/10/16 Пнд 22:06:49  867395
>>867394
>неудачная
Пруфы
Аноним 31/10/16 Пнд 22:20:46  867408
>>867394
>Игровые движки, исключительно редкий случай, когда специфика предметной области более-менее укладывается в ОО-парадигму.
Не укладывается. Современные движки data-oriented, и пишутся на С++ чуть выше сишки.
Аноним 31/10/16 Пнд 22:22:23  867410
>>867394
>неудачная ОО-надстройка над СИ
За счет шаблонов там можно использовать вполне нормальное ООП с миксинами. Удобнее джавовского.
Аноним 31/10/16 Пнд 22:24:47  867413
>>867394
ты на си ебанешься писать хоть что-то сложное. Оно очень быстро превращается в нечитаемый пиздец
Аноним 31/10/16 Пнд 22:32:33  867416
>>867413
>ты на си ебанешься писать хоть что-то сложное
Ядро ОС - достаточно сложный проект?
>Оно очень быстро превращается в нечитаемый пиздец
С крестами абсолютно та же фигня может быть. Только с С++ еще можно с десяток несовместимых языков наизобретать и запихать в проект, а с си сложно что-то замудрить.
Аноним 31/10/16 Пнд 22:33:32  867417
>>867416
>Ядро ОС - достаточно сложный проект?
Нет
Аноним 31/10/16 Пнд 22:33:38  867418
>>867374
Кресты не хрень, шаблоны и static time duck tymping - это гениальнейшее изобретение, которого нет практически нигде. Под ту же CUDA ни на каком другом языке писать не удобно.
Аноним 31/10/16 Пнд 22:36:44  867419
>>867416
Твои швабодные ядра пишут на сишке всем миром десятки лет, и то постоянно что-то ломается в них. А коллектив из десятка хорошо организованных крестоблядков напишет в недрах корпорации проект такого же уровня за несколько месяцев.
Аноним 31/10/16 Пнд 22:37:58  867420
>>867419
А потом компания обанкротится.
Аноним 31/10/16 Пнд 22:40:13  867421
>>867410
>За счет шаблонов
>>867395
>Пруфы
Ну вот например шаблоны - низкоэффективная переусложненная недофункциональщиность на препроцессоре от СИ. Наверни Template Haskell и охуей.
>>867413
>на си ебанешься писать хоть что-то сложное.
Все сложное как раз на СИ и написано.
Аноним 31/10/16 Пнд 22:41:34  867422
>>867418
>шаблоны
>гениальнейшее изобретение, которого нет практически нигде.
сук, пздц
Аноним 31/10/16 Пнд 22:42:44  867423
>>867421
>Наверни Template Haskell и охуей.
Ты откуда вылез, из 2010? Хаскель он блядь рекламирует в С++-треде. Нахуй никому твой хаскель не нужен, и не нужен будет, потому что говнище это ебаное. TH так тем более, он не нужен самим борщеедам.
Аноним 31/10/16 Пнд 22:43:06  867424
>>867421
>Template Haskell
Быдло, не упомянай это всуе.
Аноним 31/10/16 Пнд 22:48:31  867428
>>867419
>А коллектив из десятка хорошо организованных крестоблядков напишет
А потом десяток других дополнит, а потом придет кто-то еще и поправит, а потом туда придешь ты, и поймешь, что проще повеситься, чем это говно ковырять.
Аноним 31/10/16 Пнд 22:50:26  867430
>>867428
Напоминает нытье из перезвоним-треда. Нормально все.
Аноним 31/10/16 Пнд 22:58:46  867431
>>867430
>Нормально все
Просто ты крестового легаси не видел с разного сорта акробатикой на шаблонах.
Аноним 31/10/16 Пнд 22:59:10  867432
>>867423
>>867424
Ну охуеть, че вы так возбудились-то?
>>867430
Из-за крестоблядков перезвоним треды и появились.
Аноним 31/10/16 Пнд 23:25:39  867446
>>867431
Что значит "не видел"? Я произвожу это говно 8х5 в промышленных масштабах.
Аноним 31/10/16 Пнд 23:49:29  867457
>>866899
Что это значит?
Аноним 31/10/16 Пнд 23:52:51  867460
>>867432
>Ну охуеть, че вы так возбудились-то?
Ты пришел в крестокред, а не я пришел в хаскель-тред. Хаскель-тролинг устарел еще до того, как ты начал программировать. И тут ты удивляешься, а хули тебя хуйцами кормят. Ты быть хоть придумал что-то нормальное.
Аноним 01/11/16 Втр 00:28:51  867473
>>867460
>Сказал хаскель
>@
>Иди нахуй
Понятно короч, местные коестовыблядки ничем не отличаются от местных же хаселофорсеров. Ебанутые неадвекваты, исходящие на визг при отсутствии аргументов.
Аноним 01/11/16 Втр 00:48:42  867485
>>867473
Это называется парадокс Блаба.
Где-то была статья про этот парадокс и раст, от одного из разработчиков тайпскрипта, там основная часть в том, как он пытался доносить людям новые вещи, очень рекомендую.
Аноним 01/11/16 Втр 00:51:57  867488
>>867473
Внимательно прочитай 5-й пункт памятки ньюфагу. Думаешь, для кого он был написан? Для таких идиотов, как ты, которые заходят в тематический тред просто покормиться.
Аноним 01/11/16 Втр 00:57:04  867490
>>867485
Парадокс блаба - это про лисп, из статьи 2001 года. Только, внезапно, лисп как не был нахуй нужен в 2001, так и не нужен в 2016, а кресты как были нужны в 2001, так и нужны в 2016. Вот такой вот парадокс.
Аноним 01/11/16 Втр 01:00:16  867491
>>867490
Из 2001 года и до сих пор верно. А ты, судя по всему, так и не понял о чём она если пишешь такую хуйню.
Аноним 01/11/16 Втр 01:32:25  867506
>>867491
Она основана на ложных предпосылках, что языки ранжируется по фичастости, программист на более фичастом языке круче. Из которой следует, что лисперы - боги программирования (ведь фич в лиспе жопой жуй), а не-лисперы, нихуя вообще в этом мире понять не могут, ведь они не знают всех фич лиспа.
Только, дело-то какое, языки не ранжируются по фичам. У С++ фич больше, чем у С, но это не значит, что С++ лучше всегда и везде. Это разные языки с разными нишами.
Второй момент, что не все фичи одинаково полезны, а некоторые и вовсе взаимоисключащие. Поэтому никакого ранжирования и нет. Лисповые макросы, например, - это мечта аутиста, желающего замкнуть всю разработку на себя. Они - говно. И лисп - говно. Поэтому творение автора было переписано яху на С++. И сейчас никто лисп не использует, хотя казалось бы, в корпорациях могут позволить себе отделы яйцеголовых, но даже tensorflow написан почему-то на питоне. Примерно то же относится к хаскельной изоляции IO. Говнофича, Scala это доказывает.

Вот эти два момента перечеркивают эту статью нахуй. Если в 2001 это было не так очевидно, то сейчас-то хули, пора бы уж поумнеть.
Аноним 01/11/16 Втр 01:35:45  867509
Да чего вы бугуртете-то, заебись же. Крестотред оживает на глазах, скоро шапку перепилим, выкатим новые книжки, нарисуем мемесы про Святую Троицу - заживем! Какая жизнь-то настанет, братцы! Можно будет каждый день заходить в крестотред и читать сотню новых постов срача, ощущая приятный холодок на кончиках пальцев, которые уже рвутся печатать проклятия в адрес хачкелепидоров и залетных байтокрестьян из сишного треда. А потом D-кун ворвется с очередной охуительной историей, и подгорит у всех.
Аноним 01/11/16 Втр 01:59:11  867523
Здравствуйте, можете подсказать как сделать так на С++, вот сделал небольшой пример на C#:

http://pastebin.com/Cf9K9q9P

т.е. мне нужно наследоваться от базового класса находясь внутри него, выставлять классы Female и Male наружу не вариант т.к. очевидно что их там будет много одинаковых.
Аноним 01/11/16 Втр 02:23:28  867531
>>867523
Ну и в чем проблема? Алсо константа так и напрашивается быть static.
Аноним 01/11/16 Втр 02:29:23  867535
>>867531
Вкладываю класс Male или Female в класс Human и ": public Human" загорается красным "недопустимый неполный тип".

public class Human
{
private const int basehp = 20;

class Male : public Human
{

}

class Female : public Human
{

}
}
class Male : public Human
{

};
Аноним 01/11/16 Втр 02:52:41  867545
>>867535
Не очень похоже на C++, ты бы хоть почитал как это все делается, тогда и проблем не будет.
Аноним 01/11/16 Втр 07:36:13  867594
>>867535
проиграл с этого кода
Аноним 01/11/16 Втр 07:56:39  867595
>>866503 (OP)
ylf
Аноним 01/11/16 Втр 08:45:11  867610
>>867535
лолшто
код больше похож на некую смесь сижки с пускулем, классы как минимум объявляются так:

// объявление классов в С++
class /имя класса/
{
private:
/ список свойств и методов для использования внутри класса /
public:
/ список методов доступных другим функциям и объектам программы /
protected:
/список средств, доступных при наследовании/
};

класс в классе это мощно было
Аноним 01/11/16 Втр 08:56:47  867615
>>867535
От класса можно наследоваться только после объявления, ниже }; если он не темплейтный.
Аноним 01/11/16 Втр 08:57:49  867616
>>867610
>класс в классе это мощно было
Можно хоть внутри функции класс объявлять.
Аноним 01/11/16 Втр 09:38:51  867629
>>867616
можно-то можно. но не всегда это выглядит красиво и понятно
Аноним 01/11/16 Втр 10:46:28  867641
>>867506
Ты так нихуя и не понял. Печально.
Аноним 01/11/16 Втр 11:03:07  867645
>>867485
>статья про этот парадокс и раст, от одного из разработчиков тайпскрипта
Смешно там - он глядит на раст с перспективы С++, а Александреску - со стороны D. Александреску верно замечает, что раст "skipped the leg day", поскольку кроме борроу чекера в расте все очень куцее по сравнению с ди, а автор пытается в ответ сравнивать раст с крестами. Становится ясно, что у него тот самый blub paradox, поскольку ди он не видел, и с его перспективы на раст взглянуть не может.
Аноним 01/11/16 Втр 11:05:24  867647
>>867629
>но не всегда это выглядит красиво и понятно
Пока лямбы не завезли, все так их и делали, инплейс структурой.
Аноним 01/11/16 Втр 11:09:48  867648
>>867645
На ди и не надо смотреть — это просто красивые плюсы со всякими хуишечками. Там вообще нихуя отличий кроме синтаксического сахара. ну да, а ещё олександерску работает над О-нотацией в, блядь, языке, когда сам язык до сих пор сырое говно. Как бы намекает, кто же тренеровки ног пропускал-то
Аноним 01/11/16 Втр 11:12:02  867649
>>867093
Везде, где есть делегаты из коробки - есть свой урод, но встроенный в язык.
Собственно в qt ради этого и есть QObject.
Аноним 01/11/16 Втр 11:22:01  867653
>>867648
>На ди и не надо смотреть — это просто красивые плюсы со всякими хуишечками
Про раст можно так же сказать. Но им реально неудобно пользоваться без миксинов, нормального метапрограммирования и с ебущим мозг чекером. Он скорее ближе к сишке, чем к ди и крестам.
Аноним 01/11/16 Втр 11:30:26  867655
>>867457
Хедер почитай, там же всё понятно какие методы вызывать чтобы у карты изменить координаты.

Если твой вопрос заключался в том, как получить координаты в Qt - то используй http://doc.qt.io/qt-5/qtpositioning-index.html

Аноним 01/11/16 Втр 11:32:42  867656
>>867648
D ахуенен.
Единственный минус D - что его не поддерживают многомиллионные компании, и поэтому на нем никто не пишет.
Аноним 01/11/16 Втр 11:49:09  867662
>>867656
Единственный минус ди — отношение к нему его же авторов. Один не хочет выбрасывать свой хуёвенький бэкэнд любимую игрушку, второй работает над О-нотацией в языке и тд.
>>867653
Я же говорю — просто сахар над костылями из плюсов, миксины всё те же корявые шаблоны с красивой записью.

Посмотри например на какой нибудь libdparse, из dcd там сплошь и рядом миксины — и просто сравни это с парсером на любом языке с адт, макросами и паттернматчингом, тем же парсером компилятора раста на расте. %%не настолько кошерно как в окамле с полноценным хиндли-минлером, но всё равно другой уровень.

Попытки оставаться с плюсами даже таким образом — это и есть парадокс Блаба.
Аноним 01/11/16 Втр 11:52:17  867665
>>867656
>D ахуенен.
Говно без задач.
Аноним 01/11/16 Втр 12:02:18  867669
>>867662
>парсером на любом языке с адт, макросами и паттернматчингом
Да, все любят использовать функциональщину для компиляторов. Но это нишевая задача, поэтому кроме компиляторов на функциональных языках мало что пишут. На той же скале в реальных задачах полиморфизм используется гораздо более широко, чем паттерн матчинг.
Аноним 01/11/16 Втр 12:43:04  867691
>>867669
Парсеры — нихуя не нишевая задача, и ими применение всех этих фич не ограничивается. Как можно связать паттерн матчинг с полиморфизмом? Это вообще нонсенс.
Аноним 01/11/16 Втр 13:16:01  867715
>>867691
>Парсеры — нихуя не нишевая задача
Ты в какой-то совсем другой сфере крутишься видимо.
>и ими применение всех этих фич не ограничивается
Конечно, нет. АДТ и матчинг - удобная штука, не спорю.
>Как можно связать паттерн матчинг с полиморфизмом?
Выполняется разный код в зависимости от типа и там и там.
Аноним 01/11/16 Втр 18:51:51  867982
Господа, помогите. Пишу в Qt 5.6, использую библиотеку для отображения оффлайн карты https://github.com/raptorswing/MapGraphics
Подскажите, как отметить на ней точки? Нужно рисовать при помощи QPainter поверх карты, а потом менять тайлы ? Или что?
Картинка для привлечения внимания
Аноним 01/11/16 Втр 20:03:00  868013
>>867648
Ди - это не плюсы, это хуита со сборщиком мусора. Раст в этом плане хотя бы пытается, ди же метит в нишу удобного для С++-программиста сишарпа. Но С++-программистам не нужен шарп.
Аноним 01/11/16 Втр 20:04:30  868017
>>867715
>Выполняется разный код в зависимости от типа
Если есть явный матчинг типа, то это не полиморфизм.
Аноним 01/11/16 Втр 20:06:08  868019
>>868017
Это ad-hoc полиморфизм, самый лучший полиморфизм.
Аноним 01/11/16 Втр 20:10:46  868022
>>867691
Парсеры - нишевая задача для крудошлепов. У нормальных людей парсеры всего, чего можно, уже написаны.
Вот обработка AST, да, часто встречается, и без паттерн-матчинга не очень.
Аноним 01/11/16 Втр 20:20:38  868027
Приветствую, анонимные пользователи анонимного форума двощ. Я пару лет назад брался за плюсы, прочитал в качестве базы Прату читал некоторые "продвинутые" книги из шапки, но потом забил. Вот пересматриваю свои заметки-конспекты по тем книгам, хочу вкатится назад. Нужна практика. Посоветуйте с чего начать.
Инбифо: не спрашивать советы на двоще
сделать бочку@соснуть хуйцов@свичнуться на хаскле
Аноним 01/11/16 Втр 22:43:47  868106
Ввожу три слова в программу, как сделать, чтобы они выводились в алфавитном порядке?
Аноним 01/11/16 Втр 22:49:00  868109
>>868106
запихнуть в std::vector<std::string> и сделать sort
Аноним 01/11/16 Втр 23:03:12  868112
>>868109
Только начал изучать C++. Эта задача выложена в учебнике для ньюфагов Страуструпа на первых страницах. Неужели нет способа проще?
Аноним 01/11/16 Втр 23:03:24  868113
>>868109
Ну, допустим, это будет не в алфавитном.
Аноним 01/11/16 Втр 23:04:00  868114
>>868112
Это и есть самый просто способ.
Аноним 01/11/16 Втр 23:40:32  868125
>>867982
БАМП
Аноним 01/11/16 Втр 23:55:53  868133
>>868114
std::set еще проще, если слова не повторяются.
Аноним 02/11/16 Срд 00:01:28  868138
>>868027
код пиши
Аноним 02/11/16 Срд 03:51:52  868206
>>868112
>Неужели нет способа проще?
Ну можно вручную побуквенно сравнивать.
Аноним 02/11/16 Срд 07:15:47  868225
>>867208
>Русский язык
Аноним 02/11/16 Срд 07:46:16  868232
Как правильно называется "операция взятия адреса"? Т.е. амперсанд перед переменной, что-то я погуглил и не нашёл этого. Я хоть и вчера узнал что такое программирование, но говорить как сеньор хочется уже.
Аноним 02/11/16 Срд 08:10:19  868239
>>866654
Мне не бомбит.
мимопитончик
Аноним 02/11/16 Срд 08:20:25  868243
>>866721
> Наркоманские конструкторы.
Не используй.
> Множ. наследование - хуита
Не используй.
Ведь в крестах "не платишь за то, что не юзаешь". Как вообще можно критиковать излишиства в виду этой пафосной фразы.
Аноним 02/11/16 Срд 11:34:24  868295
>>868232
https://en.wikipedia.org/wiki/Operators_in_C_and_C%2B%2B
Аноним 02/11/16 Срд 13:34:24  868369
>>868138
Я не знаю с чего начать. У меня paralysis by analysis когда думаю свою хуйню написать. А писать всякие олимпиадки, оно нужно вобще?
Аноним 02/11/16 Срд 13:44:16  868383
>>868369
Зайди на апворк и посмотри что людям нужно, что-то подобное запили.
Аноним 02/11/16 Срд 17:00:01  868531
а почему тред о не C#.
С++ устарел и не моден.
Аноним 02/11/16 Срд 18:18:12  868588
>>868531
Бля, точно....
Срочно перекат, блеать!
Аноним 02/11/16 Срд 19:13:15  868627
Перекатываю вопрос.
С какого хуя надо после переопределения оператора () писать хуй()(x), а не хуй(x)?
Аноним 02/11/16 Срд 19:18:06  868631
>>868627
хуй() создает инстанс хуя, у которого вызывается метод - оператор (x).
Аноним 02/11/16 Срд 19:18:46  868632
>>868627
Иначе хуй(х) вызовет конструктор хуя.
Аноним 02/11/16 Срд 19:22:32  868633
>>868631
>>868632
А, и правда, а я и не подумал, что первые скобки - для конструктора.
А если объект создан, то уже всегда пишется хуй(х), да?
Аноним 02/11/16 Срд 21:17:03  868714
>>868633
Да
Аноним 02/11/16 Срд 22:09:51  868744
Ну и петушиный же язык у нас, господа. Прохожу всякие квизы, напрягаю все свои знания и результаты в районе 6-8 из 10. Выше — никак.
Аноним 02/11/16 Срд 22:47:27  868755
В книге уильямса есть такой код — http://ideone.com/F6SywS
Собственно, вопрос по 24-ой строчке, почему место вставки в указано end()? new_lower_chunk.data — это пустой список, .begin() == .end(), так что разницы, собственно, нет, но ведь в точно такой же ситуации на 17-ой строке, вставляя элемент в пустой result, было написано result.begin(), так что это не просто его стиль такой. Чем же он руководствовался, в чём семантика использования new_lower_chunk.data.end() в той ситуации? Или я зря вообще думаю над этим?
Аноним 02/11/16 Срд 23:55:29  868805
>>868744
Просто ты туповатый, это бывает. Разрабатывай очко крестомышление велосипедами на шаблонах шаблонов.
Аноним 02/11/16 Срд 23:57:10  868806
>>868805
>Просто ты туповатый, это бывает
Ставлю очко Страуструпа, что ты обосрёшься на чём угодно сложнее hello world-ов. Небось даже что такое ADL не знаешь.
Аноним 03/11/16 Чтв 10:49:07  868967
>>868806
Это чё, способ определять какую из перегруженных функций вызвать?
Пиздец, понапридумывали ненужных терминов, вместо того, чтобы убрать всякое гавно.
Аноним 03/11/16 Чтв 12:30:59  869008
>>868805
> Разрабатывай очко крестомышление велосипедами на шаблонах шаблонов.
Сложности программирования на темплейтах говорят только об их слабой выразительности: для тривиальных действий нужно написать десяток темплейтов.
И гордиться умением кодить на них это как гордиться умением писать нетривиальные программы на brainfuck.
Аноним 03/11/16 Чтв 13:04:33  869025
>>868805
Сколько ты на http://cppquiz.org/ набираешь, умник?
Аноним 03/11/16 Чтв 20:10:08  869251
Есть какие-нибудь крутые проекты в которых qt используют или он только для гуев в хэлоувордах годится?
Аноним 03/11/16 Чтв 20:16:32  869255
>>869251
Telegram desktop
Аноним 03/11/16 Чтв 21:06:41  869295
14369795792621.jpg (126Кб, 1042x689)
Почему при сложении float а=50,25 и float б=11,17 вместо 61,42 получается 61,419998? Для типа double все норм (Пример из С. Пратта - "Лекции и упражнения по С++. Издание 4, Platinum Edition, стр. 111").

В книге поясняется, что мол потому, что float гарантирует точность лишь шести значащих цифр. Но блядь там же всего 4? Получается, что типа float должно хватать. В чем подвох?
[code]
#include <iostream>
using namespace std;
int main()
{
float a,b;
cout.setf(ios_base::fixed,ios_base::floatfield);

cout<<"a: ";
cin>>a;
cout<<"b: ";
cin>>b;

cout<<"a + b = "<<a+b<<endl;
cin.get();
return 0;
}
[/code]
Аноним 03/11/16 Чтв 22:53:36  869400
Screen Shot 201[...].png (112Кб, 362x621)
>>869251
viber desktop, на маке по крайне мере точно. При чем скорее всего open source версия
Аноним 03/11/16 Чтв 23:42:11  869429
>>869251
Battle.net агент, ЕМНИП.
Аноним 04/11/16 Птн 04:06:41  869521
>>869251
https://ru.wikipedia.org/wiki/Krita
лям строчек кода +-
Аноним 04/11/16 Птн 10:33:18  869580
>>869251
Autodesk Maya, Unity (которая оболочка убунты), всё KDE со всем софтом, UI смарттелеков LG (которые на webOS, весь интеловский тулкит для разработки и профайлинга (которые Intel Studio, Advisor, Profiler и тд), все AMD-шные софтины: от настройщика GPU для пользователя до CodeXL и ещё буквально тыщи свободных и коммерческих софтин, которые как гуглятся по спискам вроде https://wiki.manjaro.org/index.php?title=List_of_Qt_Applications .
Аноним 04/11/16 Птн 12:34:26  869609
Привет, пацаны. Тут такая штука, работаю в эрикссоне, я понимаю, что меня легко можно обоссать. Но я работал на решении трабл репортов от операторов и суть такова, что скоро сменю проект и буду делать апликации для оператора, вроде oss/bss. И тут дело в том, что нужно подготовиться.

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

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

Теперь блядь, надо написать современно на с++11, прогнать clang static code analysys, прогнать lint, purify, purecov, все заюниттестить gtest, valgrind и я тут понял что соснул. Я не умею писать качественный софтвар и не умею все это делать.
Есть у кого может какие книжки или гайды для быстрой пробежки по этим всем технологиям, ибо та же документация по том, как писать фильтр для линта или валгринда, это блядь сотни тонн инфы, есть путь более краткий, нежели курить мануалы лет 5?
Аноним 04/11/16 Птн 13:25:13  869635
>>869609
Из перечисленного курить манулы 5 лет по мне нужно только для с++11 и валгринда.
Аноним 05/11/16 Суб 01:28:46  869935
Через какую прогу пропустить исходники чтобы она их красиво отформатировала?
Аноним 05/11/16 Суб 01:44:47  869941
>>869935
uncrustify
Аноним 05/11/16 Суб 01:59:45  869944
>>869941
Какая-то там сложная инструкция. Что ввести в консоль чтобы он сделал пиздато?
Аноним 05/11/16 Суб 02:06:02  869947
>>869944
Надо сначала конфиг написать.
https://github.com/uncrustify/uncrustify/blob/master/documentation/htdocs/config.txt список настроек
Аноним 05/11/16 Суб 02:06:58  869949
>>869947
Чё-то сложно, проще просто код сразу красивым писать.
Аноним 05/11/16 Суб 02:07:56  869950
>>869944
Да, жаль, он не умеет в C++11. А других таких настраиваемых инструментов нет. clang-format не умеет нихуя, astyle умеет ещё меньше чем clang-format.
Аноним 05/11/16 Суб 02:13:01  869951
>>869950
У меня кстати кланг даже компилировать не хочет и жалуется на что-то в файле iostream в папке /gcc/include/
Аноним 05/11/16 Суб 02:14:22  869952
>>869944
Можешь попробовать тот же astyle. У него есть набор пресетов. Типа --style=kr и ещё какую-то опцию, чтобы он табы вместо пробелов использовал.

Но максимум что он сделает — расставит фигурные скобки с сделает отступы. Никаких изысков типа переноса аргументов функций или выравнивания по бинарным операторам.
Аноним 05/11/16 Суб 06:44:41  870033
>>869609
чувак, ты работаешь в эриксоне
блядь, да ты бог по сравнению с местными уебками, что bsort на крестах осваивают
кого ты собрался здесь спрашивать, лол
Аноним 05/11/16 Суб 06:49:06  870034
>>869008
+1
Аноним 05/11/16 Суб 07:58:10  870042
>>869609
>буду делать апликации для оператора, вроде oss/bss.
А я думал у нас там всё на джяве.
Аноним 05/11/16 Суб 08:18:53  870049
Гуру разработки на плюсах (в макосе) ответьте мне на вопрос, пожалуйста.
У меня сейчас стоит CLion, который использует встроенный эппловский компиллер (xcode) со всеми его вытекающими.
Он сейчас как я понял довольно сильно отличается от обычного g++ линуксового.
Как мне разрабатывать клевый кроссплатформенный с++ код на макосе? Есть идея даже просто докер юзать для компилленга.

Или просто забить и писать под эппловский компиллер?
Конечно с расчетом что с моим кодом будут работать ребята с линукса и т.д.
Аноним 05/11/16 Суб 08:19:46  870050
>>870049
*писать
Аноним 05/11/16 Суб 14:36:31  870223
>>870049
>эппловский компиллер (xcode)
пиздец
Аноним 05/11/16 Суб 14:53:45  870229
>>870049
там разве нет шланга?!
Аноним 05/11/16 Суб 16:07:20  870278
>>870229
Он уже занят.
Аноним 05/11/16 Суб 16:34:40  870303
Крестобояре, придумайте мне задачу на MVC-паттерн.
Аноним 05/11/16 Суб 17:13:26  870324
>>870223
эпловский g++/gcc. эпловская версия. тебя что не устраивает?
Аноним 05/11/16 Суб 17:15:28  870327
>>870324
>эпловский g++/gcc
Они GNU-шные.
Аноним 05/11/16 Суб 17:15:38  870328
>>870049
как я понял надо юзать cross gcc. остается только понять как все это грамотно сделать.
Аноним 05/11/16 Суб 17:19:30  870335
>>870328
Ты долбоёб или что? У тебя из коробки последний clang с поддержкой последнего стандарта, с автоматическим автообновлением и поддержкой вендора, но нет блядьь, хочу писать хуйню и жрать говно.
Аноним 05/11/16 Суб 17:20:54  870336
>>870335
Чё нервный такой?
Аноним 05/11/16 Суб 17:21:18  870338
>>870335
хм. ты мне хочешь сказать что они идентичные?
пиздабольством попахивает.
Аноним 05/11/16 Суб 17:40:46  870344
>>870338
Ты долбоёб? хотя что я спрашиваю
Аноним 05/11/16 Суб 17:43:17  870346
>>870344
ты мне ответь. есть ли разница между gcc, встроенный в макос и gcc.gnu.org ?
что ты тут кукарекаешь.
Аноним 05/11/16 Суб 17:44:08  870347
>>870346
Есть. На gcc.gnu.org он в исходниках.
Аноним 05/11/16 Суб 17:45:06  870348
>>866558
Пишу на сях: gnu nano, ssh, mc, gcc
Аноним 05/11/16 Суб 17:45:37  870349
>>870346
и если я буду писать со встроенным тулчаином код, соблюдая все стандарты. скомпилится ли он линуксоида?
Аноним 05/11/16 Суб 17:46:30  870350
>>870349
Да.
Аноним 05/11/16 Суб 17:47:06  870351
>>870347
только в этом разница думаешь? ох не могу с тебя
Аноним 05/11/16 Суб 17:47:57  870352
>>870350
Удачи тебе с этим. hello world у всех запустится.
Аноним 05/11/16 Суб 17:48:31  870353
>>870346
В OS X компилятор из коробки - Clang. cc и c++ - это clang и clang++, которые идут в стандартной поставке. Это не GCC.
>>870349
Он полностью соответствует стандарту, да. Хотя зависит в первую очередь от используемых средств, а не языка.
Аноним 05/11/16 Суб 17:49:46  870355
>>870351
> не могу с тебя
Не можешь — научим.
>>870352
> hello world у всех запустится.
А goodbye world?
Аноним 05/11/16 Суб 17:53:31  870356
>>870353
ну так речь идет о gcc
Аноним 05/11/16 Суб 17:55:41  870358
>>870353
код с
using namespace std;
bind(...)
выдаст error в макосе.
Аноним 05/11/16 Суб 17:57:36  870362
>>870358
-std=c++11 в ключи компиляции, мань. На линуксе с GCC тоже ошибка будет.
Аноним 05/11/16 Суб 17:58:25  870364
>>870362
>>870355
Хватит кормить жирного пидора, очевидный же троллинг.
Аноним 05/11/16 Суб 18:08:36  870376
>>870362
ничего не изменится
Аноним 05/11/16 Суб 18:10:25  870378
>>869295
А весь пак выложить можешь?
Аноним 05/11/16 Суб 18:31:33  870394
Как f вне класса определить?

http://ideone.com/tgavDi
Аноним 05/11/16 Суб 18:35:26  870398
>>870394
http://ideone.com/obPtvO
Аноним 05/11/16 Суб 19:02:49  870425
>>870398
Спасибо
Аноним 05/11/16 Суб 20:06:24  870471
>>870348
Это для арча применимо? Расскажи поподробнее, я же зеленый.
Аноним 05/11/16 Суб 20:25:36  870480
>>870471
gnu nano - консольный текстовый редактор с подсветкой синтаксиса
mc - midnight commander - консольный файловый менеджер, который удобно юзать
Гуя у меня нет и монитора тоже - сижу удаленно через ssh сам на windows 7
Аноним 05/11/16 Суб 20:29:03  870483
>>870480
> ssh
А реальный комп к которому ты подключаешься где?
Аноним 05/11/16 Суб 20:47:23  870500
>>870480
Спасибо.
Аноним 05/11/16 Суб 20:50:03  870503
Работает.png (64Кб, 1443x817)
Неработает.png (83Кб, 1463x936)
Как сделать, чтобы во втором варианте (где e^x), работало как на первом пике?
Аноним 05/11/16 Суб 21:08:24  870517
>>870394
Кстати, в C++17 завезли auto в шаблоны. Вместо
template<typename T, T t>
можно писать
template<auto t>
Аноним 06/11/16 Вск 01:13:58  870627
Сап, господа. Нужно запилить аналог консольной Dir в винде, чтобы так же выводило дерево файлов и папок, но соответствующих маске. Dir выводит по маске . т.е. все файлы
Как я понял мне нужно разобраться что такое классы и запилить рекурсивный поиск с итератором.
В плюсах шарю на уровне циклов и ввода/вывода массивов, что делать и читать? Желательно подача инфы для мммаксимум тупых вроде меня.

может кто напишет мне, няшки?
Аноним 06/11/16 Вск 01:39:39  870643
>>870627
find . | grep "maska"
Аноним 06/11/16 Вск 01:41:56  870644
>>870480
Как же непривычен gcc на арче по сравнению с g++ бунты. Еще я опробовал gnu nano с подключенным синтаксисом. Синтаксис включен, но все руками вводить заебывает, неужели там нет автозполнений? Например я открываю скобку и у меня открывается вторая, а курсор между ними? Может я чего не так включил или что-то упустил?
Аноним 06/11/16 Вск 02:10:54  870661
>>870643
Не то.

Сделал такую штуку, но пока просто выводит дерево заданного каталога.
[code]#include <stdio.h>
#include <dirent.h>

int main()
{
DIR dir;

struct dirent
entry;

dir = opendir("C://test");

while ( (entry = readdir(dir)) != NULL)
{
printf("%s\n", entry->d_name);
};

closedir(dir);
return 0;
};
[/code]
Аноним 06/11/16 Вск 02:13:59  870663
Аноны, расскажите пожалуйста, почему вы так сильно бомбите от шаблонов? Я сам эмбеддер, работаю сейчас с довольно большими проектами, но написанными на чистых сях. Ради интереса параллельно почитываю про плюсы, и для диванного теоретика вроде меня шаблоны выглядят очень привлекательно. А потом я захожу в тред и вижу тонну хейта и ненависти к этим внешне безобидным темплейтам. Также реквестирую примеры кода, чтобы наглядно убедиться в их уебищности.
Аноним 06/11/16 Вск 04:59:14  870689
Хочу изучить как бинарный код переменных записывается в ячейки памяти и как он там хранится, я хоть теорию по этому делу просмотрел, но хотелось бы на практике глянуть как и что устроено. Подскажет кто?
Аноним 06/11/16 Вск 06:22:29  870698
>>870663
boost mpl
Аноним 06/11/16 Вск 08:07:54  870713
>>870661
Теперь гугли что такое рекурсия.
Аноним 06/11/16 Вск 08:45:26  870714
a.png (575Кб, 532x532)
Хочу написать json либу. Возникла проблема хранения данных. Вижу следующее (не очень элегантное) решение http://ideone.com/dejXeQ . Очевидный минусы - жирный интерфейс Value (с другой стороны лучше чем простыня из dynamic_cast'ов) и работа с вложенными структурами будет просто адски сложной. Пример:
auto name = json["strings"]->object()["name"]->string(); Вместо auto name = json["strings"]["name"] как хотелось бы. %%Пока писал пришла идея сунуть operator[]() в Value). Есть идеи как это все получше сделать или это нормально для языка со статической типизацией? Алсо будет ебля с указателями *Value в контейнерах которые надо будет кому-то уничтожать. Если я, скажем, наследюсь от вектора и пишу самоуничтожающийся контейнер и запрещаю операции копирования (только move, только хардкор), нормально будет?
Аноним 06/11/16 Вск 09:50:59  870730
Screenshot20161[...].png (36Кб, 616x423)
Что я делаю не так? gcc единственный компилятор для шарпа и крестов на арче, во всяком случае им можно компилировать, а у меня нет. Проверил онлайн компилятором - все нормально, а этот не работает. ЧЯДНТ?
Аноним 06/11/16 Вск 09:59:15  870732
>>870730
g++ main.cpp
Аноним 06/11/16 Вск 10:00:12  870733
>>870732
Вот только сам попробовал и получилось, хотел отписаться, что сам до этого дошел. Тогда поясни за gcc - Что он делает?
Аноним 06/11/16 Вск 10:16:55  870735
>>870733
gcc для С
g++ для C++
Аноним 06/11/16 Вск 10:44:55  870744
>>870735
Хм, просто где-то читал, что везде кроме бунты gcc компилирует шарп и кресты. Спасибо.
Аноним 06/11/16 Вск 13:36:53  870791
Хочу изучать программирование. Долго смотрел треды и читал про направление, в конечном итоге пришел к выбору
С или С++
И вот тут я начал теряться. Вроде как Си это чуть ли не основа всего сущего, альфа и омега, но с другой стороны он как я понял устарел, а вот кресты вроде живее всех живых.
А потом аноны, плиз хелп.
Есть ли смысл сейчас вообще изучать Си (не кресты), а если и есть, то стоит начать с С++ или Си?
С меня как обычно, тонны благодарности и нихуя.
Аноним 06/11/16 Вск 13:55:08  870802
>>870791
Си это корявое подмножество C++. Выучишь кресты - выучишь и возненавидишь Си.
Аноним 06/11/16 Вск 14:00:55  870807
>>870735
>gcc для С
gcc это драйвер, им можно и C++ компилировать, если задать нужные параметры.
Аноним 06/11/16 Вск 14:04:15  870809
>>870802
Правильно ли я понимаю, что кресты это офигенный язык кучей возможностей и немного сложноват для мимокрока, но зато откроет огромные перспективы для него (с учётом, что web меня не интересует )
Аноним 06/11/16 Вск 14:12:19  870814
>>870809
>офигенный язык
Нет.
>немного сложноват для мимокрока
Сложен он не столько в обычном смысле, сколько в том что вкатится не сложно — сложно написать что-то рабочее без триллиардов багов.
>кучей возможностей
Да.
>но зато откроет огромные перспективы для него (
Откроет возможность найти работу именно в этой области и участвовать в проектах на нём, ни больше ни меньше, как и остальные мэйнстримные языки.
Аноним 06/11/16 Вск 14:34:58  870826
>>870791
Оба говно. Бери хаскель.
Аноним 06/11/16 Вск 14:48:37  870836
>>870809
>кресты это офигенный язык кучей возможностей
С кучей возможностей нарваться на UB
Аноним 06/11/16 Вск 16:25:00  870889
>>870791
Это плохой язык для обучения программированию. Это хорошая лошадка для зарабатывания денег, так как инфраструктура меняется медленно, а работы много. Начни с чего-нибудь другого.
Аноним 06/11/16 Вск 16:36:55  870899
>>870889
Например
Аноним 06/11/16 Вск 16:41:04  870900
>>870899
HTML5, python, потом, через годик, С, и только потом С++, причем сразу С++11 или какой там стандарт будет.
Аноним 06/11/16 Вск 16:51:29  870905
>>870900
>HTML5
Это шутка такая? Ещё бы хаскель предложил.
Аноним 06/11/16 Вск 17:01:00  870908
>>870905
Нет, преимущества в следующем:
1. Обучает важности текстовых представлений и пониманию независимости редактора и IDE от языка.
2. Интерпретатор есть на любом компе, ничего не нужно ставить, особенно по сравнению с питоном, который на винде не очень.
3. Это взрослая технология с плавным порогом вхождения.
Аноним 06/11/16 Вск 17:10:25  870913
>>867535
Такое возникает когда ошибка в неправильном понимании ООП и наследования в частности.
Пол это свойство человека, а не его подвид.
Аноним 06/11/16 Вск 17:31:26  870933
>>870900
Почему сначала C, а потом С++?
Аноним 06/11/16 Вск 17:35:18  870937
>>870933
С - это прежде всего кроссплатформенная виртуальная машина, его нужно знать вообще всем программистам. А С++ - это довольно конкретный язык, в котором С-подмножество только мешает и нужно знать, чем они отличаются и никогда их не мешать.
Ну и еще так проще, и после изучения С можно передумать и уйти в Java, например.
Аноним 06/11/16 Вск 17:49:24  870947
>>870937
Хм, что если я начну с SICP + Си (и то и то придется пока что на русском изучать)
Аноним 06/11/16 Вск 17:55:07  870954
>>870947
Я посоветовал вкатывальщику в 30 лет делать игры на HTML5, его дичайше проперло и на такой мотивации он быстро вырос. SICP по-моему скукотища для яйцеголовых, удовольствие я от этой книги получил уже с неколькими годами опыта программирования, для начинающего важнее всего, чтобы было интересно.
Аноним 06/11/16 Вск 17:58:20  870957
>>870954
Вроде слышал, что вкатываться просто в рандомный язык и не иметь никакого базового представления о программировании плохая идея, если хочешь действительно вкатится.
Аноним 06/11/16 Вск 18:01:01  870959
>>870957
JS далеко не рандомный язык. Он не самый хороший, конечно, но хотя бы всяко лучше бейсика, на котором начинали поколения американцев старше 40 лет (у нас больше паскаль был в цене).
Аноним 06/11/16 Вск 18:16:40  870967
>>870933
>Почему сначала C, а потом С++?
Потому что он идиот. Если хочешь учить C++, надо учить C++

Но лучше Haskell
Аноним 06/11/16 Вск 18:41:51  870986
Почему в chrono всё так усложним? Теперь чтобы узнать текущее время надо строчку из 120 символов писать. А чтобы засечь время работы программы, то эту строчку надо повторять дважды. С ctime такой ебли не было.
http://ideone.com/FoZoBQ
Аноним 06/11/16 Вск 18:57:43  870998
>>870986
А зачем ты кастуешь now()? Кастуй только разность.
Аноним 06/11/16 Вск 19:05:02  871003
>>870998
Точно. У них же оператор вычитания дэфолтный есть. Спасибо.
Аноним 06/11/16 Вск 20:18:39  871060
>>866624
vim или emacs, но ты не осилишь
Аноним 06/11/16 Вск 22:31:12  871152
Посоветуйте, что почитать про алгоритмы аллокации и различных аллокаторах.
Аноним 06/11/16 Вск 22:42:30  871153
>>870791
Бери питон и не еби мозги.
Аноним 06/11/16 Вск 22:48:28  871157
>>871152
https://www.youtube.com/watch?v=LIb3L4vKZ7U
Аноним 06/11/16 Вск 22:52:26  871159
>>870791
Не выучишь как первый язык, почти все плюсеры начинали с универов, где до того и так знали либо лиспы и алгоритмы(швеция, напрмер) и им остальось лишь выучить обосцанный язык. Другое дело ты, который нихуя не учил.
Тебя сольют на проектах, если устроишься в более-менее норм контору, проэкты очень сложные в большинстве, потому индусов вообще не зовут, в крайнем случае поляков, ты соснешь как математик.

Возьми чего проще, иди в модные фронт-енды, джаваскрипты, питоны, тебе будет легче.
Аноним 06/11/16 Вск 22:54:01  871160
Напомните книгу. В одном из прошлых тредов кидали ссылку на блог человека который эти книги залпом читает. Там была книга про с++ и половина этой книги была про дэбажинг. Забыл сохранить. Помнит кто название или блог?
Аноним 07/11/16 Пнд 00:33:54  871248
>>866903
с stl то что не так лол?
Как вообще можно на с++ без stl писать.
Да и кроме буста альтернативы работе с сетью, кроме сокетов, просто нет лол.
Аноним 07/11/16 Пнд 00:41:24  871249
>>871248
>с stl то что не так лол?
Два аргумента для обозначения промежутка вместо одного.
Аноним 07/11/16 Пнд 00:43:17  871250
>>871248
>с stl то что не так лол?
Деструктор std::future, полученного из std::async ждёт завершения треда и вешает всё.
Аноним 07/11/16 Пнд 00:47:32  871252
smaylik-facepal[...].png (98Кб, 200x191)
>>871248
>с stl то что не так лол?
stateless allocators...
Аноним 07/11/16 Пнд 00:48:40  871253
>>871248
>с stl то что не так лол?
std::max(A, B) возвращает A, если A == A
Аноним 07/11/16 Пнд 00:49:07  871255
>>871253
>A == A
A == B
Аноним 07/11/16 Пнд 00:50:52  871256
>>871249
>Два аргумента для обозначения промежутка вместо одного.
ты же понимаешь, что это сделано для того, чтобы безболезнено заменить один итерабельный контейнер на другой?
>>871250
Ну почему нельзя его просто юзать его в еще одном треде асинхронно?
Аноним 07/11/16 Пнд 00:51:33  871257
f32.jpg (34Кб, 584x388)
>>871248
>с stl то что не так лол?
Аллокатор — параметр шаблона. Вектор, который выделяет память одним аллокатором, не можно скопировать в вектор, который выделяет память другим аллокатором.
Аноним 07/11/16 Пнд 00:52:49  871259
>>871256
>Ну почему нельзя его просто юзать его в еще одном треде асинхронно?
В смысле?
Аноним 07/11/16 Пнд 00:54:13  871260
>>871256
>ты же понимаешь, что это сделано для того, чтобы безболезнено заменить один итерабельный контейнер на другой?
Чтобы можно было взять begin от одного контейнера, а end от другого?
Аноним 07/11/16 Пнд 00:56:09  871261
>>871260
Нет. Ну вот был у тебя вектор, а ты хуяк такой и заменил его на list и все норм дальше работает.
>>871259
Тут я обосрался, не так понял вопрос
Аноним 07/11/16 Пнд 00:57:39  871262
>>871261
>заменил его на list и все норм дальше работает.
А чем использование одного аргумента для обозначения границ итерирования мешает заменить?
Аноним 07/11/16 Пнд 01:01:44  871266
>>871257
Ну копировать вектора такое вообще.
В крайнем случаем можно скопировать вектор в еще один вектор с таким же алокатором, а потом переместить в вектор с другим алакатором.
хотя говорить, что это хорошо не стоит
Аноним 07/11/16 Пнд 01:04:00  871267
>>871262
Ну если тебе нужно от одного элемента списка до другого пройти, в своем каком то велосипедном списке, как бы ты эти границы задал? При том, что ты не знаешь количество элементов между ними.
Аноним 07/11/16 Пнд 01:05:36  871269
>>871267
Парой.
Аноним 07/11/16 Пнд 01:07:44  871272
>>871269
Ну так а в чем принципиальная разница, передать в функцию два аргумента или пару?
Аноним 07/11/16 Пнд 01:09:07  871275
>>871272
В том, что пара — это один аргумент. Её можно возвращать из функции. И передавать в следующую. По цепочке.
Аноним 07/11/16 Пнд 01:11:31  871277
>>871275
Звучит разумно.
Аноним 07/11/16 Пнд 01:18:09  871279
>>871277
Это всё говорит о "качестве" советского образования. Степанов учился в МГУ и разработал STL. Учился бы в Кэмбрижде, тёрся бы рядом с Саймоном Питоном-Джонсом и был бы знаком с ФП — спроектировал бы STL получше.
Аноним 07/11/16 Пнд 01:43:00  871294
>>871248
>с stl то что не так лол?
У каждого она своя, и в одного std::move или оператор = с ним работающий через std::swap, у другого list.lenght() через sts::distance работает, у третьего до сих пор не всё реализовано, тормозит и выделяет память втихую. И это только из того, что как работает, если говорить об архитектуре, кривоте и оверинжиниренге можно ещё 20 таких простынок накатать сходу.
>Да и кроме буста альтернативы работе с сетью, кроме сокетов, просто нет лол.
Их тыщи — даже в том же Qt всё удобно и красиво, с тредпулами и шлюхами, а не чудовищные неотлаживаемые портянки из asio.

Алсо, помню как-то ковырялся в гитхабе фейсбука — все проекты со своей стандартной библиотекой. EA пару лет назад тоже выложила в опенсорс свою. В гайдлайнах мозиллы запрещается юзать STL — тоже своё добро. И так можно ещё долго продолжать — так или иначе это тот ещё показатель.
Аноним 07/11/16 Пнд 01:45:07  871298
>>871294
> list.lenght()
list::size обязан работать константно
Аноним 07/11/16 Пнд 01:50:46  871305
>>871298
После того фейла в стандарте и прописали, лол. Подождём ещё пока асинки человеческие впилят и заживём-то!
Аноним 07/11/16 Пнд 01:51:44  871306
>>871305
>асинки человеческие впилят
Это невозможно.
Аноним 07/11/16 Пнд 01:55:08  871311
>>871306
Значит подождём пока в язык запилят как в том концепте от мс, и начнём как в шарпе кошерно поживать! лет через 20
Аноним 07/11/16 Пнд 01:58:18  871313
>>871311
А, это ты, двуличная порватка. Не запилят "человеческих" async, это фундаментально невозможно.
Аноним 07/11/16 Пнд 01:59:58  871314
>>871294
>ковырялся в гитхабе фейсбука — все проекты со своей стандартной библиотекой.
std::map:
https://github.com/facebook/folly/blob/21d7adcd34a367bd6708a2438161b92307c4b53f/folly/io/async/AsyncSignalHandler.h#L81
https://github.com/facebook/folly/blob/3272dfdbe243e0ac02acca1dd82bc391d1da079a/folly/io/async/SSLContext.h#L455

std::vector тоже вполне используется. Так что не "все".
Аноним 07/11/16 Пнд 02:38:59  871322
>>871253
А в чём проблема и что ему ещё возвращать? B? рантайм еггог? Возвращается же всё равно либо по значению, либо константа.
В питоне, например, тоже A возвращается (ссылка на переданный же аргумент).
Аноним 07/11/16 Пнд 02:40:27  871323
>>871322
>А в чём проблема и что ему ещё возвращать? B?
Да, B.

std::min и max принимают и возвращают ссылки
Аноним 07/11/16 Пнд 05:26:29  871353
>>871323
Но почему B-то? Самый примитивный и распространённый алгоритм (луп с if el > tmp_max: tmp_max = el) вернёт A. Конечно, можно заменить > на ≥, тогда B. Но почему одно считается "правльнее" другого? Разве для этого не должно быть просто договорённости?
Аноним 07/11/16 Пнд 05:41:36  871354
>>871353
Для консистентности.
Пусть A < B.
Тогда min возвращает ссылку на A, max — на B.
А вот если A == B, то min по-прежнему возвращает ссылку на A, а max... тоже на A. Выгледит как говно.
Аноним 07/11/16 Пнд 05:54:57  871358
>>871353
Ну или так: возьмём упорядоченную последовательность (массив, список) A1 ≤ A2 ≤ A3 ≤ ...
Если бы max в случае равенства возвращал ссылку на B, то при проходе по этой последовательности по парам соседних величин min бы всегда возвращал левый аргумент, а max — правый. А так возвращаемую max ссылку колбасит в зависимости от того, больше ли последующий элемент последовательности или равен текущему.
Аноним 07/11/16 Пнд 06:00:56  871359
В общем, "удовлетворительно" Степанову за STL можно поставить. Какая-то работа сделана, но до ума не доведена. Как дипломная работа, которую начали писать за две недели до защиты.
Аноним 07/11/16 Пнд 09:29:17  871387
>>871354
>А вот если A == B, то min по-прежнему возвращает ссылку на A, а max... тоже на A.
И? A не является минимальным (максимальным) значением списка?

>>871358
>возвращаемую max ссылку колбасит в зависимости от того, больше ли последующий элемент последовательности или равен текущему.
Ну в этом, вроде бы, и смысл max'а, что он находит наибольший, а не последний, не?

И почему имеено min должен возвращать левый, а не max, кстати?
Аноним 07/11/16 Пнд 09:38:12  871388
>>871359
Интереса ради, хотелось бы ещё увидеть, где min/max реализованы так, как ты говоришь. Я как-то не заострял на этом внимание и обычно было всё равно, какой из двух вернётся, так как интересовало лишь значение.
Аноним 07/11/16 Пнд 12:00:46  871420
>>871160
Бамп
Аноним 07/11/16 Пнд 15:16:40  871518
>>871387
>И? A не является минимальным (максимальным) значением списка?
Я ещё раз говорю: дело в (не)консистентности. Можно вообще было сделать это implementation defined. Вопроса, почему оно defined не возникает?

>>871387
>Ну в этом, вроде бы, и смысл max'а, что он находит наибольший, а не последний, не?
А в случае равенства он должен возвращать правую границу. Тогда его поведение будет совместимо с min.

> И почему имеено min должен возвращать левый, а не max, кстати?

Можно, конечно, в случае равенства min-ом возвращать правый, а max-ом — левый. Но всё же по-дефолту используется сравнение <, а не > и естественно желание сохранить непрерывность min и max до равенства.
Аноним 07/11/16 Пнд 15:21:07  871521
О, вот. Нагуглил очень сильный аргумент в пользу того, чтобы max возвращал правый аргумент:
> the pair (min(x,y), max(x,y)) is either (x,y) or (y,x)
http://stackoverflow.com/questions/26584510/why-does-stdmax-return-the-wrong-value
Аноним 07/11/16 Пнд 15:25:11  871524
>>871388
rust.

Я плотно не изучаю этот язык, но иногда заглядываю туда на тему "а как там сделали X". И каждый раз вижу, что всё, что в це-крест-крест сделали неправильно, там переделывают правильно. min и max не стали исключением.

В общем, ребята учатся на чужих ошибках =)
Аноним 07/11/16 Пнд 15:42:52  871537
Оказывается, Степанов покаялся за свой max:
(It is hard for me to blame people who do so: after all, they just follow the C++ standard
specification of max written by me. It took me several years to see that I was mistaken.)
http://stepanovpapers.com/notes.pdf#page=63

Обсуждение правильного поведения min и max с 61-й страницы. http://stepanovpapers.com/notes.pdf#page=61
Аноним 07/11/16 Пнд 16:49:52  871590
>>871537
Спасибо.
Аноним 07/11/16 Пнд 20:32:02  871721
>>871590
На здоровье.
Аноним 08/11/16 Втр 08:13:31  872038
Более менее прошёл теорию в C++, хочу начать делать gui программы на Qt, но не могу его понять, хоть и говорят что у него хорошая официальная документация, но она хороша только как энциклопедия по классам и всему аналогичному. Может быть посоветуете хороший туториал чтобы войти в Qt? Я пробовал смотреть "Шлее М. Qt профессиональное программирование", но исходя из названия там всё слишком профессионально, а ничего другого по Qt я не нашёл.
Аноним 08/11/16 Втр 08:38:46  872044
Посоветуйте проектов на гитхабе почитать с грамотным кодом.
Аноним 08/11/16 Втр 08:42:14  872045
>>872044
https://github.com/torvalds/linux
Аноним 08/11/16 Втр 09:47:27  872075
>>872044
github.com/Microsoft/cpprestsdk
github.com/aws/aws-sdk-cpp
топчик
Аноним 08/11/16 Втр 09:58:42  872078
>>872075
Вот за это спасибо.
>>872045
А вот это для спермобляди уже слишком, без травы не разобраться.
Аноним 08/11/16 Втр 11:03:27  872111
>>872038
Шлее - самая лучшая книжка по Qt. Если её не понял, значит ты просто не достаточно хорошо знаешь С++.
Аноним 08/11/16 Втр 11:05:35  872113
>>872038
Будешь смотреть на названия книг не читая их — не далеко уйдёшь.
Dmitry 08/11/16 Втр 15:26:58  872204
>>866618
Да, это
Аноним 09/11/16 Срд 21:05:58  873120
Я добавил в код метода класса отладочную печать cout. Почему она не выводится в консоль? 24 и 36 строки
http://ideone.com/q2FrH9
Аноним 10/11/16 Чтв 00:18:43  873265
>>873120
Наверное, потому что ты не вызываешь эти методы? На идеоне твой код не компилируется, если ты вдруг не заметил.
Аноним 10/11/16 Чтв 01:43:17  873297
>>873265
ideon не имеет функционала для многофайловых проектов. Этот файл один из трёх.
добавлю ещё два недостающих, собирал в кьюте.
http://ideone.com/PsPa2i usetime1.cpp
http://ideone.com/G4xX0E mytime1.h
Аноним 10/11/16 Чтв 01:54:03  873300
>>873120
Пробовал написать using std::cout и using std::endl в начале кода? Авоська и заработает, раз уж пизда по сиаутам.
Может быть, вообще пересоздай проект.
Кстати, раз уж зашёл такой разговор, задам интересовавший меня вопрос: почему куча студентов с моего потока (но с более хардкорных спецух) поливает говном "using namespace std" и говорит, что может произойти какой-то ниибись конфликт имён? В книгах НИХУЯ такого не видел.
Аноним 10/11/16 Чтв 01:55:40  873301
>>873300
>Кстати, раз уж зашёл такой разговор, задам интересовавший меня вопрос: почему куча студентов с моего потока (но с более хардкорных спецух) поливает говном "using namespace std" и говорит, что может произойти какой-то ниибись конфликт имён?
Мамкины максималисты и каргокультисты. Шли их нахуй.
Аноним 10/11/16 Чтв 12:02:30  873394
>>873300
Представь, что мы работаем над одним проектом но над разными его частями. Я написал свой ОСОБЫЙ вектор для своих класов и засунул в свой неймспеейс. А потом приходит общий код и:

using std;
using yobanamespace;
vector<yobaclass> v
vector<yobaclass> vv;

Не тоже самое, что и

std::vector<yobaclass> v
yobanamespace::vector<yobaclass> vv;
Аноним 10/11/16 Чтв 18:17:07  873561
>>873394
В сишечке ты тоже любишь ОСОБЫЕ printf'ы писать?
Аноним 10/11/16 Чтв 18:43:47  873571
>>873300
В .cpp файлах нарм, в ․h не пишут.
Аноним 10/11/16 Чтв 19:09:13  873581
>>873394
>Представь, что мы работаем над одним проектом но над разными его частями
Очень актуально для laba3
Аноним 10/11/16 Чтв 19:43:34  873601
>>873581
Тебя к горшку с малолетства приучали или когда паспорт выдали?
Аноним 10/11/16 Чтв 19:46:42  873602
>>873601
> нет аргументов
> пошли аналогии
Гуманитарий, плиз.
Аноним 10/11/16 Чтв 20:23:34  873623
>>866599
у make есть автоправила. если у тебя в директории лежит hui.cpp и ты наберёшь make hui, то вызовется g++ hui.cpp
или, к примеру, make CXXFLAGS=--std=c++11 hui -- уже с флагами
Аноним 10/11/16 Чтв 20:28:02  873627
>>873623
Можешь создать Makefile с одной строчкой:
CXXFLAGS=-std=c++11
и просто набирать make hui. Без этих CXXFLAGS в командной строке.

Почему-то ньюфаки думают, что наличие Makefile или наличие в нём чего-то отключает implicit rules
Аноним 10/11/16 Чтв 22:16:22  873675
>>873627
А если ещё добавить строчку
all: hui
то можно будет просто набирать make
Аноним 11/11/16 Птн 13:00:56  873932
В C# можно сделать метод static и иметь доступ к методу этого класса без создания объекта класса, в C++ так нельзя сделать?
Аноним 11/11/16 Птн 13:02:28  873933
>>873932
Кто тебе мешает-то? Можно.
Аноним 11/11/16 Птн 13:17:58  873938
>>873933
http://pastebin.com/tgwS5qPN
что-то не работает, подскажите новичку
Аноним 11/11/16 Птн 13:31:13  873944
>>872075
И как в этом разобраться? Ничего не понятно.
Аноним 11/11/16 Птн 13:41:58  873945
>>873938
у тебя не видно класса Method из класса FirstClass.
Пропиши до FirstClass:
class Method;
Аноним 11/11/16 Птн 13:46:39  873946
>>873945
а где и как прописать?
Аноним 11/11/16 Птн 13:48:37  873949
>>873946
Сука ты тупой?
Гугли forward declaration
Аноним 11/11/16 Птн 14:29:38  873966
>>873601
Проще выучиться или переучиваться?
Аноним 11/11/16 Птн 14:54:48  873972
Крестохуесосы, почему все ваши гуй-фреймворки такое говно?

Всяким Qt/Gtk/etc хуй знает сколько лет, ничего даже близко похожего на WPF нету. QML — говно для мобилок, не больше.

Разве что sciter радует, хотя он и почти не связан с плюсами. Но его главный минус — количество ебли, несопоставимое даже с ручной сборкой какой нибудь Qt.
Аноним 11/11/16 Птн 15:01:44  873975
>>873972
>Qt говно
>WPF заебись
бля ахахахаха
Аноним 11/11/16 Птн 15:10:52  873983
>>873975
Т.е. по делу сказать нечего?

Чем кутя лучше? Тем что нет нормального WYSIWYG редактора? Кривая хуита вместо IDE, которая нихуя не умеет? Или ещё куча плюшек, начиная от общей оверинжинирнутости которая идёт больше из косяков языка конешно, заканчивая тем, что нет даже нормальных средств для создания банальных хуиток типа dockable-виджетов?
Аноним 11/11/16 Птн 15:20:24  873987
>>873983
С тобой по делу не хочется говорить, потому что ты выдал свою утиную натуру в первом посте. Наплел абсолютной хуйни, а потом захотел конструктивного диалога.
Аноним 11/11/16 Птн 15:24:44  873993
>>873987
То есть по делу ты банально ничего и не можешь сказать, манявратор.
Ладно, у кути есть небольшое преимущество — кроссплатформа только вот оно таковым является ровно до попытки сделать что-то выходящее за рамки стилей системы/наличия встроенных виджетов, которых там с гулькин хуй
Аноним 11/11/16 Птн 15:39:55  874007
>>873993
>Крестохуесосы
>такое говно
>говно для мобилок
>количество ебли
>Кривая хуета
>оверинжинирнутости
На будущее: если хочешь, чтобы с тобой говорили по теме - будь вежлив и конструктивен. Изучи, пожалуйста предмет, прежде чем делать какие-то выводы. Пока я в тебе вижу восторженного студента, который прибежал в тред после пар по дотнету.
Ты не заглянул даже в доки (dockable виджеты делаются одной строчкой), не разобрался что такое qml, не осилил визуальный редактор. Да что уж говорить, ты даже не осилил понять, что qt это фреймворк.

Отвечаю тебе только потому, что мне скучно на работе :)
Аноним 11/11/16 Птн 16:03:50  874017
>>874007
> (dockable виджеты делаются одной строчкой
Если бы ты хоть раз работал с этой хуйнёй - не писал бы этого. Очевидно у тебя знакомство с кутей на уровне "загуглил, всё няшно". Даже отвечать на это смысла нет.
>не разобрался что такое qml
Сразу видно google-driven-developer-a, который опять ни разу с этим не работал но зачем-то что-то утверждает. QML - это говно для мобилок прежде всего потому, что из готового в нём всё ТОЛЬКО для тачскринов, вообще все контролы и виджеты. В старых версиях ещё были нативные вещи вроде тулбаров окон - сейчас их выпилили нахуй, даже нормальный список не сделать - резиновая мобильная параша.
Для десктопного софта что-то уровня си без библиотек.
>не осилил визуальный редактор
В нём банально нет н-и-х-у-я. Ни в кумэловском который даже половину своих же встроенных конртролов отрисовать не может и знать не знает о их пропертях, ни в кутешном особенно добивает то, какими костылями там расположение виджетов присобачивается, и как "каштомизация" кастрированного QSS, который кастрированный CSS без cascading - кастомизация на изменении цвета заканчивается.
> что qt это фреймворк.
В первую очередь гуевый. Я вот не видел пока проектов, использующих Qt как какой нибудь буст чисто ради фреймворка.

Ну вот и поговорил с диванной маней, мне кстати тоже скучно на работе.
Аноним 11/11/16 Птн 20:01:19  874135
>>871160
Бамп
Аноним 11/11/16 Птн 23:23:19  874241
Скажу сразу, я не ньюфаня, есть более менее годный опыт программирования(не только на крестах), но не было возможности вникнуть достаточно глубоко. И когда появилось свободное время решил хорошенько засесть именно за C++. Собственно вопросов несколько:
1) Я не до конца понимаю эти приколы с pointer/reference, если для переменных это ясно, то для классов и прочего не совсем понятно. А также все эти приколы с abstract, virtual, override, interface, прототипирование. Есть какие-то годные пояснения/примеры. (В книжках обычно не очень хорошо освещается этот вопрос).
2) На сколько я понимаю, изучения Qt - очень важная вещь, если намереваться связать свою жизнь с крестами. Собственно, более-менее разобрался, что это такое, но документация отвечает на вопрос для чего это нужно, а не как это сделать. Гайдики/ютьбики или устарели или малоинформативны, если действительно что-то годное?
3) Ну и последний вопрос, что еще было бы неплохо знать? Есть вообще какой-нибудь стек технологий для джун/мида?
P.S. Шапку читал, но возможно не очень внимательно.
Аноним 12/11/16 Суб 04:31:41  874331
>>874241
>Скажу сразу, я не ньюфаня
Да-да, из дальнейше написанного это так и прёт.
Аноним 12/11/16 Суб 10:18:41  874362
>>874331
Ссылки в шапке частично мёртвые, хотел книжки скачать — и нихуя на дропбоксе
Элемент класса в наследнике Аноним 12/11/16 Суб 13:46:11  874439
Аноны, нужна помощь. Как использовать элемент класса в наследнике? Выдаёт ошибки " 'int One::a' is protected" и "within this context"

#include <iostream>

using namespace std;

class One {

protected:

int a;
public:

One (){
a = 0;
}
One (int xa){
a = xa;
}
One (const One &v){
a = v.a;
}
~One ();

void input () {
cin >> a;
}
};

class Two : public One {
public:

void out (One b) {
cout << b.a;
}
};

int main (){
One b;
Two d;

b.input();
d.out(b);

return 0;
}
Аноним 12/11/16 Суб 13:50:08  874441
>>874439
#include <iostream>

using namespace std;

class One {
protected:

int a;
public:

One (){
a = 0;
}
One (int xa){
a = xa;
}
One (const One &v){
a = v.a;
}
~One ();

void input () {
cin >> a;
}
};

class Two : public One {
public:

void out (One b) {
cout << b.a;
}
};

int main (){
One b;
Two d;

b.input();
d.out(b);

return 0;
}
Аноним 12/11/16 Суб 15:30:17  874507
Есть ли где нормальная информация про многофайловые программы?
Аноним 12/11/16 Суб 19:50:58  874706
Сап, двощ. Помогите разобраться.

Ошибка
Вызвано исключение: нарушение доступа для чтения.

this было nullptr.

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

Вот кратко код:

...
//создаю в main объект
getline(cin, s_name);
getline(cin, s_last);
cin >> p;
Guest new_guest (s_name, s_last, p);
...
/ вызывается метод этого объекта
void Guest::take(Hh
H) {
int n;
n = H->settle(this);
}; */

Вопрос почему не создается ссылка на место в памяти, выделенное для этого объекта? Почему нельзя получить адрес?
Аноним 12/11/16 Суб 19:52:00  874709
>>874706
быстрофикс Hh*
Аноним 12/11/16 Суб 23:29:29  874916
>>874709
По отрывку причин не видно.
Навскидку - возможно, до вызова метода ты где то портишь память (объект то на стеке).
Аноним 13/11/16 Вск 11:48:13  875064
Не знаю уже что делать! VS2015 е работает, не могу найти решение в интернете. Помогите. Нажимаю на отладку ЛЮБОГО приложения он сначала. говорит. что проект устарел и просит провести сборку, затем fatal error C1083 Не удается открыть файл включение: stdio.h: No such file or directory.
Как же я заебался безуспешно искать решения в интернете. Прошу, помогите!
Аноним 13/11/16 Вск 11:53:23  875065
>>875064
Он не создает файл в debug и сам на это жалуется. Хз что делать
Аноним 13/11/16 Вск 12:17:25  875071
Снимок.PNG (15Кб, 579x297)
>>875065
Аноним 13/11/16 Вск 17:39:22  875177
>>875071
Дай угадаю: ты довен и у тебя название юзерской папки на кириллице?
Аноним 13/11/16 Вск 18:00:12  875186
>>875064
Лог сборки в студию
Ну, естественно, он не создаст даже объектный файл, если не может найти заголовочных файлов...
Аноним 13/11/16 Вск 21:25:10  875270
16885.jpg (85Кб, 300x448)
Что можете по этой книге сказать http://www.ozon.ru/context/detail/id/33852757/? Хочу приобрести её. В данный момент на половину прочитал сворованную версию пикрилейтед, но там нету очень многих моментов, да и устаёшь от решения тяжёлых примеров.
Аноним 13/11/16 Вск 21:30:54  875274
>>875270
Золотая книга. Бери, конечно.
Аноним 13/11/16 Вск 21:40:52  875280
>>875274
Спасибо, а может быть ещё что можешь посоветовать? Куплю в дополнение
Аноним 13/11/16 Вск 23:05:03  875310
Я знаю, что многие считают, что ВУЗы не нужны программистам и проч и проч. Но все же? Какой вуз лучше для программиста. Я, например, знаю основы крестов, перехожу на жаву. на которой собираюсь в дальнейшем работать, учусь в 10 классе. Я не знаю куда поступать. Английский на уровне b1, в свободное время занимаюсь им и программированием. Все отлично с алгеброй. Куда поступать? Советовали Спбгу пм-пу, чтобы в свободное время прогал. Знаю о существовании ИТМО, например. Что мне выбрать? Что можете подсказать по этому поводу?
Аноним 13/11/16 Вск 23:45:36  875319
>>875310
Российское образование это адъ. Я поучился полтора месяца, забил хуй и забрал документы.
Аноним 14/11/16 Пнд 00:21:48  875334
>>875319
И не потому, что ненужно, а из-за античеловеческого отношения, как и в любом порахинском гос. учереждении.
Учи немецкий и едь в германию.
Аноним 14/11/16 Пнд 01:03:35  875355
>>875280
Лучше скачай в Интернете книжки и посмотри как они тебе.
Не понравятся - удаляй, понравятся, то покупай если хочешь.
Я так делал с некоторыми книжками.
Аноним 14/11/16 Пнд 07:05:17  875402
>>875310
Выбирай Итмо. На кт заебут да и вряд ли поступишь, остается на выбор ПИ и ЕНФ. На ПИ проги больше. По поводу ПИ - с предметами по специальности - прога, инфа, етц полное самообразование, преподы молодые ( 22-24 года) им вообще похуй они приходят иногда почитать лекцию,если с работы основной отпустят, все учишь фактически сам. При этом на матмехе прога вообще на нуле, учат паскаль с дедами. На пм пу даже не думай идти. Матан у нас ведет препод с матмеха,вполне сносно. С дискреткой правда все плохо, ведет некомпетентный мужик, который все с листочка очень тихо читает и нет практик.
В общем суть такая - учат хуево везде, что спбгу, что итмо, все ботаешь сам.
Аноним 15/11/16 Втр 11:58:22  875921
Объясните тупому, почему рекурсивная функция

int sum(int n)
{
if ( n > 0 )
return n + sum ( --n );
else
return 0;
}

при sum(6) возвращает 15 (то есть 1+2+3+4+5) и теряет 6 по дороге?
Аноним 15/11/16 Втр 12:11:09  875929
>>875921
Потому, что лучше не использовать модификацию значения если оно уже использовалось в этой строчке.
Вот так будет работать
n + sum ( n - 1 )
Аноним 15/11/16 Втр 12:21:43  875935
>>875929
То есть это происходит потому, что операция уменьшения значения произошла раньше чем само сложение?
Аноним 15/11/16 Втр 12:37:00  875950
>>875921
>return n + sum ( --n );
Undefined behavior потому что.
Чем компилируешь, кстати? GCC и клэнг в таких случаях даже разные результаты выдают.
Аноним 15/11/16 Втр 18:46:02  876172
>>875402
спасибо
Аноним 15/11/16 Втр 18:50:10  876178
>>875921
потому что --n, очевидно же
Аноним 15/11/16 Втр 19:39:17  876232
Вопрос:
Есть поток, создаваемый CreateThread. Есть функция DWORD, в общем все стандартно. В эту функцию я передаю вектор. Получается что-то вроде:

hThread = CreateThread(NULL, 0, thread, &arr, 0, &IDThread);

thread - сама функция. Все вроде заебись, внутри потока работаю с этим вектором, но мне нужно вернуть полученное обратно в arr. Каким образом это можно сделать, так чтобы не создавать ГЛОБАЛЬНЫЙ ВЕКТОР?
Аноним 15/11/16 Втр 19:51:18  876246
как изменить конструктор по умолчанию, созданный средой Visual Studio?
Аноним 15/11/16 Втр 23:16:36  876408
>>875950
gcc + параметр на c11
Аноним 15/11/16 Втр 23:18:59  876411
>>876178
я в воскресенье не шучу открыл книжку по c++ и мне не очевидно. поясни пожалуйста
Аноним 15/11/16 Втр 23:47:52  876428
Вечер в хату,поясните что не так с регулярками в плюсах.
Имеется строка :

regex reg("_0x45a8\[\d+\]", regex_constants::ECMAScript);

Во время компила , визуалка выдает несколько предупреждений:
"warning C4129: [: неизвестная escape-последовательность"
"warning C4129: d: неизвестная escape-последовательность"
"warning C4129: ]: неизвестная escape-последовательность"
и неправильно его интерпретирует. В чем проблема , где я обосрался ?
Аноним 15/11/16 Втр 23:54:53  876432
>>876428
1. Регулярки в плюсах - хуйня.
2. Гугли инфу про эти самые регулярки в плюсах.
Твой вопрос лежит на поверхности и найти информацию про него - изи.
Аноним 16/11/16 Срд 00:04:34  876437
>>869295
Все правильно. Значащие цифры до запятой тоже считаются.
0.0001 <<<4 значащих
50.0001 <<<6 значащих
Аноним 16/11/16 Срд 00:08:55  876440
>>876432
Думаешь я не гуглил эту проблему , на cplusplus .com ясно написано ,что экранирование - стандартное , при помощи "\".
Аноним 16/11/16 Срд 00:57:47  876458
>>876411
--n не только передается функции, но еще и меняет значение самого n
Аноним 16/11/16 Срд 04:33:59  876497
>>876411
>>876458
То, что он сказал, но главное:
Порядок выполнения несвязанных/независящих друг от друга выражений не определён. То есть, в (4/2) + (6/2) может первым выполниться как 4/2, так и 6/2.
Хуёво, наверное, сформулировал, но смысл ясен, надеюсь.
Аноним 16/11/16 Срд 04:55:32  876501
>>876428
\\[ \\d \\]
или используй raw string literals
>>876440
>cplusplus .com ясно написано ,что экранирование - стандартное , при помощи "\".
Да. И показан пример экранирования.
Аноним 16/11/16 Срд 04:56:33  876503
>>876232
> с++-тред
> вопросы по winapi
kek
Аноним 16/11/16 Срд 06:08:33  876510
>>876501
Спасибо,Антоша, я дурак ,не досмотрел.
Аноним 16/11/16 Срд 07:59:57  876517
>>876458
>>876497
спасибо аноны
Аноним 16/11/16 Срд 09:56:42  876530
>>876503
у вас тут 90% треда вопросы по лабам от студентоты. Нахуй ты меня грузишь?
Аноним 16/11/16 Срд 12:06:38  876567
>>876530
Это ты меня грузишь.
Аноним 16/11/16 Срд 12:40:05  876585
Для тех , кто хочет вкатиться советую не париться с отдельными компиляторами , компановщиками и редакторами а юзать IDE . Лично я использую вижл студию.
Аноним 16/11/16 Срд 14:27:45  876648
>>876585
лично я начал с Dev-C++ а потом прикрутил нужное к Sublime ибо он няша и субъективно быстрее
Аноним 16/11/16 Срд 17:21:56  876723
как сложно устроиться джуну в ДС, по сравнению с джавой?
Аноним 16/11/16 Срд 17:49:02  876739
>>876723
В 3.86 раз сложнее.
Аноним 16/11/16 Срд 18:14:21  876753
>>876723
на 12ти миллионный город меньше 10ти вакансий джунов на кресты..
Аноним 16/11/16 Срд 21:28:01  876874
>>876753
В беларуси 0 вакансий, только что проверил. а все дело в том, что:
>>876723
Сама специфика плюсов не предпологает джунов. Хотя бы потому что на плюсах простые задачи не решаются, да и простые задачи по меркам Java или C# становятся сложнее и требуют понимания специфики языка.
Аноним 16/11/16 Срд 22:38:13  876929
Ite-here.jpg (28Кб, 630x771)
>>866503 (OP)
Кстати по поводу третьего пика. Кто-то знает были где-то попытки создать (эзотерический?) язык, где объекты сами бы интерпретировали поступающие к ним вполне рандомные сигналы?

Это ведь единственный способ сделать ООП и в частности крестопарашу пригодными к продакшену.
Аноним 17/11/16 Чтв 05:49:00  877051
Что qt такое сложное? Не могу вкатиться.
Аноним 17/11/16 Чтв 10:55:58  877101
>>877051
Иди вагоны разгружать, это просто.
Аноним 17/11/16 Чтв 12:58:08  877170
>>876929
В продакшене практически всё с ООП, выбегай из манямирка.
Аноним 17/11/16 Чтв 22:49:51  877582
Друзья, посоветуете почитать\посмотреть что-нить интересное по модерновому проектированию?

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

Александреску и Макконела читал
Аноним 18/11/16 Птн 00:33:15  877652
>>877170
Ограничено в области пользовательского интрерфейса да. Да и там полная помойка, если код пишется не инструментом дизайна интерфейса, а ручками.

Вопрос остаётся.
Аноним 18/11/16 Птн 00:37:18  877654
>>877582
> модерновому проектированию
> не говно
У велосипедиста всегда будет выходить говно.
Аноним 18/11/16 Птн 01:50:12  877673
>>877582
какие тебе друзья
ты в парашном треде на парашной доске
иди нах, в общем
Аноним 18/11/16 Птн 11:33:49  877754
>>877652
А еще бекенды и фронтенды, да и серваки зачастую нагруженные. Что покрывает 70% всей области. Ну вообщем давай беги обратно в манямир, а то как узнаешь правду - ахуеешь и суициднешься.
Аноним 18/11/16 Птн 14:16:14  877803
Програмач. Я нуфаг с убунтой в машине. Какой лучше выбрать компилятор для с++ и как его установить.
Аноним 18/11/16 Птн 14:38:17  877808
>>877803
sudo apt-get install build-essential поставит тебе g++
Аноним 18/11/16 Птн 14:41:20  877812
>>877808
masterchan@ubuntu:~$ sudo apt-get install build-essential
E: Не удалось получить доступ к файлу блокировки /var/lib/dpkg/lock - open (11: Ресурс временно недоступен)
E: Не удалось выполнить блокировку управляющего каталога (/var/lib/dpkg/); он уже используется другим процессом?


Почему и как?
Аноним 18/11/16 Птн 14:46:46  877815
>>877812
Синаптик открыт или другой менеджер пакетов, установи через него.
Аноним 18/11/16 Птн 14:48:07  877816
>>877815
Я нуфаг. Объясни.
Аноним 18/11/16 Птн 15:41:43  877842
>>877816
Проследуй в /s там объяснят.
Аноним 18/11/16 Птн 15:43:38  877843
>>877842
Уже установил. Спасибо.
Аноним 19/11/16 Суб 06:29:58  878178
Посоветуте иде для только вкатившегося. Visual studio какой то сложный, слишком много всего
Аноним 19/11/16 Суб 12:24:57  878241
>>878178
Это лучшее, что есть. Ебаться со всяким говном типа CODE BLOCKS ты будешь сильно больше
Аноним 19/11/16 Суб 13:53:05  878269
>>878178
CLion используй, его вроде знатно причесали после 2016.2 версии
Аноним 19/11/16 Суб 14:34:55  878277
>>878269
>CLion
Cygwin/MinGW на винде => говно без задач по определению
>>878241
Двачую
Аноним 19/11/16 Суб 14:44:16  878282
хацкеры посоветуйте какой учебник купить для чайника как я.
Аноним 19/11/16 Суб 14:49:28  878283
>>878277
>Cygwin/MinGW на винде => говно без задач
Минг-то с чего?
Аноним 19/11/16 Суб 18:50:59  878400
>>878282
>хацкеры
Лал. Местная петушня даже не знает, что инструкция mov полна по Тьюрингу. C++ не нужен, все можно реализовать через mov и индексные таблицы.
Аноним 19/11/16 Суб 19:45:50  878430
>>878400
> инструкция mov полна по Тьюрингу
нипонел
я думал машина Тюринга должна уметь не только писать, но и читать, причём раздельноо
Аноним 19/11/16 Суб 20:03:04  878442
>>878400
и много тебе это знание помогает, умник?
Аноним 19/11/16 Суб 20:31:56  878463
>>878442
https://github.com/xoreaxeaxeax/movfuscator
Аноним 20/11/16 Вск 00:56:18  878615
14795895564100.jpg (15Кб, 434x155)
попробую еще здесь спросить
отцы помогите тотал нюфагу вкатитсяможет что-нибудь получится
в поставке clang++ из коробки я так понял нет стандартных библиотек, а в GCC:g++ есть.
можно их как-нить с консолидировать чтоб и clang все появилось
Аноним 20/11/16 Вск 01:31:12  878637
>>878615
поставь, блять, студию, и не еби мозг с тем, чего ты еще с полгода-год не будешь понимать.
Аноним 20/11/16 Вск 04:41:04  878667
>>878615
Попробуй iostream.h
Аноним 20/11/16 Вск 09:40:18  878687
>>878615
Ви болен в .срр файл компилить?
Аноним 20/11/16 Вск 10:58:52  878701
>>878615
попробуй поискать на диске файл iostream. Если он присутствует, значит у тебя где-то пути неправильно прописаны
Аноним 20/11/16 Вск 11:17:17  878714
14795895564100.jpg (32Кб, 353x183)
ddddd.jpg (23Кб, 378x96)
>>878701
>>878687
>>878667
вроде разобрались, у него почему-то таргет с из начальной установки стоит на msvc библиотеки.
когда меняешь ему таргеты эти он сразу начинает видеть все GCC инклуды и библиотеки.
странно кароч.
Аноним 20/11/16 Вск 11:22:58  878719
>>878714
причем это как я понял по интернетам началось с последних версий, типо они специально вроде как компилят на msvs чтоб оно сразу работало на msvs, только не понятно как подключать clang к msvs.
Аноним 20/11/16 Вск 11:32:20  878721
>>878719
Это в последних студиях такой функционал появился.
Аноним 20/11/16 Вск 12:25:59  878740
>>878667
Дебил...
Аноним 20/11/16 Вск 13:40:04  878767
>>878637
+1
хотя пусть страдает, пацам меньше конкуренции если еще одна хуитка не осилит
Аноним 20/11/16 Вск 15:05:21  878818
>>878277
Хуй его знает что там с MinGW, меня на линупсе только CLion спасает. А вот, к слову говоря, в ебучей студии за дцать лет разработки так и не сделали ебучую линию переноса и ебаные стыдливые табы по дефолту стоят вместо пробелов. В 2013 студии MSVC не поддерживала дефолтные перемещающие операции, да и еще хуева туча косяков (касательно компилятора), а работать приходилось, потому что ебаная CUDA работала только с той версией.
Аноним 20/11/16 Вск 16:44:17  878876
>>878818
> табы по дефолту
Ну хоть что-то в студии сделали нормально.
C++ — гавно, потому что... Аноним 20/11/16 Вск 16:46:20  878877
... для вызова виртуальных функций нужно городить несусветные кастыли ( http://ideone.com/QjLkII )
#include <cstdio>

struct ass {
virtual void f() { printf("%s with %p\n", __PRETTY_FUNCTION__, this); }
};

int main()
{
ass ass;
void pvtbl = reinterpret_cast<void>(&ass)[0];

printf("%p\n", &ass);
reinterpret_cast<void(
)(void*)>(pvtbl[0])(&ass);
}

Крестухи, вы правда думаете, что кто-то будет пользоваться вашим гавноязыком после этого?
Аноним 20/11/16 Вск 17:08:58  878900
Есть тут те, кто юзал libfuse?
Аноним 20/11/16 Вск 17:10:28  878902
>>878900
Я. Но совсем чуть-чуть.
Аноним 20/11/16 Вск 17:23:26  878913
>>878902
Посему, когда я в СВОЕЙ замене write вызываю p write с отличным размером count'а, все ломается и не хочет сохранять. Я хз, как фиксить, ибо и trancate'м менял размер файла, а толку 0
Аноним 20/11/16 Вск 17:25:53  878915
>>878913
Нихрена не понял.
Аноним 20/11/16 Вск 17:37:11  878918
>>878915
Ну я создаю свою фс. Переписываю функцию, которая вызывается fuse'ом вместо системного вызова write. В мою функцию, помимо прочего, передаются указатель на массив char'ов, из которого пишем, и количество данных, которые пишем. В ней я выполняю некоторые действия над данными, а потом системной функцией pwrite записываю в файл. Проблема в том, что если в pwrite я передаю больший размер данных, чем в мою функцию, хз почему система не хочет сохранять файл. Пробовал в начале моей функции менять размер файла, но безуспешно. В итоге уже тут спрашиваю хз, пытался норм сформулировать
Аноним 20/11/16 Вск 17:39:44  878920
>>878918
Ок, на словах понятно. Покажи код теперь.
Аноним 20/11/16 Вск 18:30:10  878974
Анончик, читаю сейчас "Как программировать на С++" Дейтелов, потом думаю обмазаться Страуструпом. Всё правильно делаю, или есть ещё варианты?
Аноним 20/11/16 Вск 18:35:21  878991
>>878974
Есть вариант обмазаться говном.
Аноним 20/11/16 Вск 18:39:27  879000
>>878991
Это я ещё давно сделал. Что дальше, сенсей?
Аноним 20/11/16 Вск 18:40:11  879002
>>879000
Начать его жрать.
Аноним 20/11/16 Вск 18:40:58  879003
>>879002
Я из /b пришел, умник. Думаешь, не жру?
Аноним 20/11/16 Вск 18:42:06  879004
>>879003
Я в /b/ несколько лет не захожу, не знаю, что там нынче в моде. Особенно после перехода сего форума под крыло mail.ru
Аноним 20/11/16 Вск 18:43:10  879005
>>879004
Всё как всегда, жрём и обмазываемся, жрём и обмазываемся
Аноним 20/11/16 Вск 19:28:14  879060
>>878920
такое, например, норм робит

int fs_write(const char path, const char buf, size_t size, off_t off, struct fuse_file_info ffinfo) {
dosth(1, const_cast<char
>(buf), size, vfsData->key);
int ret = pwrite(ffinfo->fh, buf, size, off);
return (ret < 0 ? -errno : ret);
}

но если же только уменьшить size, уже не дает сохранить
int ret = pwrite(ffinfo->fh, buf, size - 8, off);

использую свою фс как копию реальной папки, но не думаю, что проблема в этом
Аноним 20/11/16 Вск 19:51:03  879091
>>879060
>size - 8
А если size < 8 ?
Аноним 20/11/16 Вск 19:56:00  879098
>>879091
на всех тестах было больше восьми
суть не в этом. Хоть я наоборот увеличу size, хотя я до этого вызову ftruncate - результат тот же не сохраняет
Аноним 20/11/16 Вск 19:56:36  879100
>>879098
хотЬ я до этого вызову
быстрофикс
Аноним 21/11/16 Пнд 11:04:30  879429
>>878877
Че?
http://ideone.com/hwJQ5N
Аноним 21/11/16 Пнд 11:28:54  879435
>>879429
Это в C++14 появилось?
Аноним 21/11/16 Пнд 11:40:54  879441
>>879435
В С++03
Аноним 21/11/16 Пнд 12:26:50  879461
>>879441
Спасибо!11
Проверим познания крестухов Аноним 21/11/16 Пнд 21:53:56  879837
Я тут уже вбрасывал код с прямым доступом к vtable. Известно, что виртуальные функции попадают в vtable в порядке их объявления в классе. Я определил деструктор первым и после него функцию. Но дёргать их через vtable я могу по 0-му и 2-му индексу. Если я пытаюсь вызвать функцию по первому индексу, код валится. Вот код http://ideone.com/hDGNjK
#include <cstdio>

struct ass {
virtual ~ass() { printf("%s with %p\n", __PRETTY_FUNCTION__, this); }
virtual void f() { printf("%s with %p\n", __PRETTY_FUNCTION__, this); }
};

int main()
{
ass ass;
void pvtbl = reinterpret_cast<void>(&ass)[0];

printf("%p\n", &ass);

reinterpret_cast<void(
)(void)>(pvtbl[0])(&ass);
reinterpret_cast<void(
)(void*)>(pvtbl[2])(&ass);
}

Внимание, вопрос: что за хрень по 1-му индексу?
КРЕСТУХИ! Аноним 21/11/16 Пнд 22:13:08  879847
Ребят, тут на днях решил поковырятся в исходниках одной дудосилки на плюсах, открыл такой - а там, сука, 1000 нативных тредов запускается, причем там вызывается функция с сокетами в блокирующем режиме... Это нормально у вас вообще?
Аноним 21/11/16 Пнд 22:33:05  879859
>>879837
а нахуя структуру то юзать вместо класса?
Аноним 21/11/16 Пнд 22:35:06  879861
>>879859
Неправильный ответ.
Аноним 21/11/16 Пнд 22:35:16  879862
>>878877
ч=о за хуйня? нахуя так делаь то? ass.f() отменили что-ли, долбоеб?
Аноним 21/11/16 Пнд 22:36:10  879864
>>879859
Т.е. он даже по форме некорректный, т.к. вопросы тут задаю я.
Аноним 21/11/16 Пнд 22:40:09  879866
>>879862
> ass.f() отменили что-ли
Да.
Аноним 22/11/16 Втр 00:58:23  879930
Наше время пришло! Готовьтесь остаться на помойке истории.
Аноним 22/11/16 Втр 08:46:09  880024
>>879930
Сейчас даунята хаскел подучат и и упадут зп до 70к к 2к18
Аноним 22/11/16 Втр 11:40:39  880070
>>880024
Если не сильнее. Haskell же довольно простой язык по сравнению с C++
Аноним 22/11/16 Втр 15:52:35  880183
>>879837
>Внимание, вопрос: что за хрень по 1-му индексу?
Например компилятор сгенерил функцию которая возвращает typeid.
Аноним 22/11/16 Втр 17:13:54  880245
>>880183
Насчёт того, что указатель на std::type_info лежит в vtable ты прав. Но он лежит по -1-му индексу. Неплохое наблюдение, но ответ неверный. Попробуй ещё.
Аноним 22/11/16 Втр 17:16:39  880248
>>880183
http://ideone.com/p1VM1J вот, адрес type_info и что лежит по -1-му индексу.

> компилятор сгенерил функцию
Тут ты тоже прав, это генерирует компилятор и это функция. Мембер-функция (очевидно, раз она в vtable)
Аноним 22/11/16 Втр 22:21:38  880508
>>879847
Такую же парашу можно и на питоне написать. Это не минус языка
Аноним 22/11/16 Втр 23:36:16  880559
Есть что-то действительно годное и современное по Qt? Интересует работа с виджетами и иже с этим.
Аноним 23/11/16 Срд 11:47:04  880750
>>866603
Чем плохи стандартные строки? Их используют миллионы разработчиков, и никто не жалуется.
Аноним 23/11/16 Срд 14:18:16  880826
Аноны, как прикрутить sqlite3 к консольному приложению (на win)? Что и куда положить? sqlite amalgamation скачал , динамическую библиотеку x86/x64 тоже.

Пользую MinGW в портабл режиме, на рабочем компе ничего ставить нельзя поэтому установка Visual Studio. Динамическая библиотека вроде должна быть совместима с gcc.

#include "sqlite3.h"
#include "sqlite3ext.h"
прописал.

Как динамическую библиотеку подключить?..
Аноним 23/11/16 Срд 16:20:02  880896
>>880070
Двачую адеквата
Аноним 23/11/16 Срд 16:31:31  880906
>>880070
Если бы платили за сложость языка (а не решаемых задач) — всевозможные яваиндусы и питонисты сдохли бы с голоду.
Аноним 23/11/16 Срд 16:54:47  880920
подскажите ньюфагу, как хуярить хранилища объектов
Аноним 23/11/16 Срд 16:58:03  880921
>>880920
Ногами.
Аноним 23/11/16 Срд 17:15:49  880924
>>879930
>эти три вакансии, одна из них - рофловая
:)
Аноним 23/11/16 Срд 17:17:07  880926
>>880559
Читай шлее, а дальше доки.
Аноним 23/11/16 Срд 17:29:44  880931
анон, что-то я туплю
как написать функцию, которая заполняет поля структуры через scanf и как лучше эту функцию принимать, через указатель?
http://pastebin.com/3ndaKRfH
в VS выделяет book в сканфах и пишет expression must have a class type
Аноним 23/11/16 Срд 17:48:17  880944
>>880559
на qt щас гуй делают декларативненько, что в принципе правильно
с++ тут ни при делах
если "современно" хочешь канеш
Аноним 23/11/16 Срд 19:58:08  881039
Анон, есть одна программа для декрипта виженера. Нужно при помощи нее расшифровать индивидуальное задание, чтобы от меня отъеблись в вузе, и дальше идти писать ДНС-сервер для ботнета. http://pastebin.com/dpk0sr9f Не хочется вникать в эту ебанину.

Программу писала какая-то мразота, поэтому она падает в функции vector<int> dist(string &mask, string &text) на строчке vector<int> dist(index_number.size() - 1);, потому что вектор vector<int>index_number = index_entries(mask, text); оказывается нулевой длины. Хуле тут вообще не так? Сука, как пригораю от этого говна. Даже мои кодесы на винапи более портабельные, чем высеры мразей, которые это выкладывают.

Проект: http://rgho.st/6fgH5wjNd
Аноним 23/11/16 Срд 20:01:39  881041
>>880931
>expression must die
Аноним 23/11/16 Срд 20:11:45  881052
>C++
Не может в управление памятью
Не может в LALR грамматику
Как следствие, не может в человеческий синтаксис
Не может в денотационную семантику
Не может в настоящие макросы (с темплейтами отсос - не могут в квазицитирование)
Следствие - не может в человеческий полиморфизм (не говоря про higher-order), только убогое кодовысерание.
Не может в referential transparency
Linear typing

Зато может в:
Нетипизированную еблю с указателями
Аппликативный порядок
УТЕЧКИ УТЕЧКИ УТЕЧКИ
Зловонную кучу Стандартов не реализованных в полном объеме ни одним компилятором
Стандарты наполовину состоящие из undefined behavior и implementation-defined
Следовательно, миллиард практически не диагностируемых "приятных" неожиданностей.
Аноним 23/11/16 Срд 20:14:21  881055
>>881052
Обсос бугуртит, пока малварщики делают деньги, не беспокоясь обо всей этой быдлотеоретической ебале. Поссал на твое блядское ебло, мразь.
Аноним 23/11/16 Срд 20:41:29  881076
>>881039
Ебаный в рот, что за тварь это писала? Когда у этой твари, у этой жопоногой падлы строки передавались через стэк, я везде понаставил ссылки, но, сука, теперь в одной из функций строка делается нулевой. Ааааа, какой дегенерат это писал.
Аноним 23/11/16 Срд 21:15:59  881105
>>881052
То самое чувство, когда насрал - а тебя игнорят.
Аноним 23/11/16 Срд 21:21:58  881107
>>881052
Студенная былина, сударь.

>>880248
Ответ, кстати, легко гуглится. Все больше убеждаюсь, что умение писать правильные запросы к гуглу намного важнее для программиста, умения решать олимпиадные задачки
Аноним 23/11/16 Срд 21:28:40  881114
>>881107
>Ответ, кстати, легко гуглится.
Может озвучишь?
Аноним 23/11/16 Срд 22:53:20  881168
Настоло время переустанавливать перекатывать шиндовс.
sage Аноним 23/11/16 Срд 22:55:39  881171
Топим старое говно...
Аноним 23/11/16 Срд 22:57:44  881175
...и идвигаем прогресс в новое:
ПЕРЕКОТ
https://2ch.hk/pr/res/881172.html
ПЕРЕКОТ
https://2ch.hk/pr/res/881172.html
ПЕРЕКОТ
https://2ch.hk/pr/res/881172.html
ПЕРЕКОТ
https://2ch.hk/pr/res/881172.html
Аноним 23/11/16 Срд 22:58:28  881176
ПЕРЕКОТ
https://2ch.hk/pr/res/881172.html
ПЕРЕКОТ
https://2ch.hk/pr/res/881172.html
ПЕРЕКОТ
https://2ch.hk/pr/res/881172.html
ПЕРЕКОТ
https://2ch.hk/pr/res/881172.html
ПЕРЕКОТ
https://2ch.hk/pr/res/881172.html
ПЕРЕКОТ
https://2ch.hk/pr/res/881172.html
ПЕРЕКОТ
https://2ch.hk/pr/res/881172.html
ПЕРЕКОТ
https://2ch.hk/pr/res/881172.html
ПЕРЕКОТ
https://2ch.hk/pr/res/881172.html
ПЕРЕКОТ
https://2ch.hk/pr/res/881172.html
ПЕРЕКОТ
https://2ch.hk/pr/res/881172.html
ПЕРЕКОТ
https://2ch.hk/pr/res/881172.html
ПЕРЕКОТ
https://2ch.hk/pr/res/881172.html
ПЕРЕКОТ
https://2ch.hk/pr/res/881172.html
ПЕРЕКОТ
https://2ch.hk/pr/res/881172.html
ПЕРЕКОТ
https://2ch.hk/pr/res/881172.html
Аноним 26/11/16 Суб 20:42:00  882657
ананасы, подскажите пожалуйста, как в qt 5.x изменить цвет у кнопки не используя setStyleSheet

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

Топ тредов
Избранное