Этого треда уже нет.
Это копия, сохраненная 28 апреля 2016 года.

Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
1362 Кб, 960x632
Оффициальный™ традиционный® C++ тред #28 #702133 В конец треда | Веб
В крестотред ньюфаг пришел
И спросил: "Антоха,
Как мне кодить хорошо
И не кодить плохо?" -

"У меня секретов нет -
Расскажу, что знаю," -
Анонимуса ответ
В шапке помещаю:

"Кто пихает грязный хак
В лабу воровато,
Тот бездельник и дурак,
Быть им плоховато.

Кто бандитов четырех
Вспомнит даже ночью,
У того весь код неплох
Абсолютно точно.

Кто о тактах не слыхал,
С asm'ом кто не дружен,
У того не код, а кал -
Здесь такой не нужен.

Этот - старый байтоеб,
Бородой заросший.
От крестов он хмурит лоб,
Но пишет код хороший.

Этот - макросы подряд
Лепит без оглядки.
Про такого говорят -
Он грязнуля, гадкий.

Тот - Макконнелла прочел,
Код свой правит вечно.
Из такого выйдет толк,
Сомневаться нечего.

Правила у нас просты,
Помните, нюфани:
Не осилит тот кресты,
Кто халтурить станет..."

Не дослушав, нуб ушел,
Прошептав со вздохом:
"Быть макакой хорошо,
А крестоблядком - плохо".


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

TL;DR

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

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

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

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


FAQ

Мотивация

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

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

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

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

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


Литература

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

  • Для нюфань

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


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

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


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

  • Best practices

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


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

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

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


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

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

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

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


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

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

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

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


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

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

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


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


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

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

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

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


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

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


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

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

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

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

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

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

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

  • boost

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

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

    Литература:


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

  • Qt

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

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

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

    Литература:


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

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

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

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

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


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


21 Кб, 686x356
#2 #702205
>>703071
138 Кб, 400x553
#3 #702206
Освещаю тред богом.
>>702207
#4 #702207
>>702206
А это тут при чём?
#5 #702236
Посоны, как правильно вкатываться в геймдев?

Есть текущая работа (100к+) в ДС, но она связана с промышленной автоматизацией. В геймдев вакансии все - ЮНИТИ ХУЮНИТИ, Сишарп и прочая блевота, а я, все таки, не зря байты ебу. Да и ААА пишется на плюсах.

Пердолю по чуть чуть опенгл, но мне кажется, что это немного не то. С другой стороны, взять UE4, нашлепать в редакторе игру - тож хуета. Что делать?
#6 #702242
>>702236
Переехать в страну где делают игры.
#7 #702247
>>702236
чувак
твоя работа в 10 раз лучше той чем тебе придется заниматься в русском игрострое
просто поверь
занятия типа портировать очередную ios игрулю на андроид или сидеть на саппорте второго уровня какой-нибудь mmorpg - это еще не самое страшное что бывает в нашем геймдейве
>>702283
#8 #702255
аноны.. такая фигня..

задал вопрос..
>>699323

тут идет флудответ про ссылку седа https://linuxtv.org/downloads/v4l-dvb-apis/capture-example.html
так как этот код работает только на лине! а у меня нихуя не линь и эта либа идет нахуй!
что делать.

зы есть /dev/video0 нужно пик стащить (можно пик стащить и скриптом но консольно!) это треш! я не ебу почему все на линь молятся! говно без задач же!
>>702282>>702855
14 Кб, 442x331
Вкатился #9 #702272
>>702133 (OP)
У меня пара вопросов:

1. Как по хардкору WinAPI выучить? Чего почитать/посмотреть. Книги может годные какие есть? Ну так, чтобы сегодня читать сел, а через месяц уже в кнопочки/менюшки мог.

2. Чего учить - Direct3D или OpenGL?
>>702279>>702287
117 Кб, 1680x1050
sage #10 #702279
>>702272

> OpenGL


кросплотформенно вырастешь -- поймешь
>>702316
sage #11 #702282
>>702255

> операционные системы обсуждаются в /s/

>>702291
#12 #702283
>>702247
Я планирую год помариноваться для портфолио и за бугор валить. Без опыта не возьмут. Вот и думаю.
#13 #702287
>>702272
1. Бессмысленно, т.к. никто на винапи кнопочки менюшки не делает уже сто лет как. А вообще Рихтера почитать для общего развития полезно.

2. Opengl
>>702324
#14 #702288
>>702283
А геймдеф зачем тогда?
sage #15 #702291
>>702282
я тебе говорю не о системе.. читай весь пост.
как мне стащить пик с потока типо /dev/video0 без v4l2
уже принимается любой способ от qt до чего vlc
осбатхерт мой.. ну прости!
>>702295>>702314
#16 #702295
>>702291
Сажу выключи, мудило. На самом деле тут наверно никто не знает ответ. Иди на СО, тостер, ЛОР.
>>702301
#17 #702301
>>702295
тут поумнее люди бывают чем в твоем списке..
%я уже вырос из него малясь%%
#18 #702304
>>702283
ну так свалить в йоба-геймдев контору хочу какую-нибудь.
>>702307
#19 #702307
>>702304
А они возьмут хуя который год в техподдержке рашкинско сидел?
#20 #702308
>>702236
го вместе напишем игру
я адекват вроде.. сажу убираю
>>702311>>702363
sage #21 #702311
>>702308
мимо у меня есть наработочки по оптимизации графона
хочу в портфолио его..
#22 #702312
>>702283
Тогда пили свой мега-ёба-ультра-анлимитед-дитейл-воксел-рендерер, для портфолио звучит убедительнее.
>>702316
#23 #702314
>>702291
ffmpeg тебе чем не подходит?
>>702318
sage #24 #702316
>>702312
вот он же
>>702279
sage #25 #702318
>>702314
там также идет через v4l2
и она платформозависима как директикс!
>>702417
#26 #702319
Тут кстати недавно какого-то игродела по имени pufzle искали или как-то так. Нашли?
#27 #702324
>>702287

>Рихтера


А что конкретно, чтобы можно было писать под XP без использования .Net Framework. В моем гугле гуглятся книги только по C# и .Net
>>702365
#28 #702363
>>702308
как ты себе это представляешь? (без шуток, я просто правда не понимаю)
>>702375>>702851
#29 #702365
>>702324
Для большей части софта достаточно стандартной библиотеки и пары спецлиб.

Для всего-на-свете есть qt, для гуя есть fltk, sciter framework, Awesomium, да хуева гора всего. Без .Net
sage #30 #702375
>>702363
на С++ пишем рендер + физику и пару карт на рисуем
код будем держать на гите..
обсудить все аспекты в токсе.
я начал пока рендер писать.. смотрю вот как мои знания термеха вложить в вертексный шейдер и написать модель маниямира для 6ти степеней свободы для каждой модельки.
такие дела..
потом сеть... звук гденить спиздить.
потоки стабилизировать. и вуаля.. програмач тестит q5-hl3-aninemod
>>702436
#31 #702417
>>702318
Какую-то хуйню несёшь: читать из /dev/video0 по-твоему не платформо зависимо?
694 Кб, 245x180
#32 #702436
>>702375

> термех


> вертексный шейдер

>>702457
#33 #702449
Посоветуйте хороший редактор для C/C++. Нужен чтоб консольный, autocomplete, легко ставился.

YouCompleteMe, cppcomplete под vim пробовал. Eclipse и всю эту java не предлагать pls.

Думаю юзать YouCompleteMe, но наверное есть что-от лучше.
#34 #702454
в том то и дело что в /dev/video0 идет все по гайду а в v4l2 только линупс.. всё!
sage #35 #702457
>>702436
ну я что-то не так сказал? угловые позиции -- результат знаний термеха
матрицы поворотов -- идут в вертексный шейдер
логику собери в кудак
#36 #702555
>>702449
Microsoft Visual Studio 2015 + Resharper C++.
Лучше нет ничего. Даже если ты красноглазик.

На работе я один сижу в Студии, все остальные в виме. Бедняги.
#37 #702557
>>702555
а, я проебал слово консольный. Тогда лишь могу рекомендовать выкинуть нахуй консоль и вступить в 21ый век.
>>702632>>702828
#38 #702629
>>702449

> Посоветуйте хорошую летающую тарелку. Нужна чтоб из камней и палок, сверхсветовая скорость, собиралась на коленке.

#39 #702632
>>702557

>выкинуть нахуй консоль и вступить в дерьмо


Пофиксил тебя.
>>702660>>702828
#40 #702651
Может стоит не тут спросить, но: чем отличается watch и star на гитхабе? Звёздочка - это просто лойс как бы, да?
>>702652
#41 #702652
>>702651
В чем отличие лайка от фоллова в любой другой социалке?
>>702815
#42 #702657
>>702555
Вот это ты лолка. Твой решарпер не лучше эклипса. Нахуй на винде тогда сидеть? Особенно, когда проект кроссплатформенный, а проектные файлы - Cmake. Вот это ты аутист, еще и деньги тратишь.
>>702828
#43 #702658
>>702449
На больших проектах(от 400МБ исходников) eclipse и clion будут жрать до 6GB. В сочетании с ssd тебя это полностью устроит - никаких зависаний не будет.
>>702662>>702828
#44 #702660
>>702632
Что поделать, умственно неполноценные неспособны использовать человеческий интерфейс и считают его дерьмом, так что для этих отбитых даунов-аутистов сделали консоль.
#45 #702662
>>702658

> от 400МБ исходников


Это как? Что это должен быть за проект, чтобы в нём было 400 МБ исходников?
>>702664>>702666
#46 #702664
>>702662
наукоемкие йоба-тулы как нехуй делать преодолевают этот порог.
#47 #702666
>>702662

>702658


> от 400МБ исходников


>Это как? Что это должен быть за проект, чтобы в нём было 400 МБ исходников?



Почти 400 мегабайт текста в проекте в котором работаю. Игра для пека.
>>702667>>702668
#48 #702667
>>702666

>702662


>702658


> от 400МБ исходников


>Это как? Что это должен быть за проект, чтобы в нём было 400 МБ исходников?


>Почти 400 мегабайт текста в проекте в котором работаю. Игра для пека.



>>702666

>702662


>702658


> от 400МБ исходников


>Это как? Что это должен быть за проект, чтобы в нём было 400 МБ исходников?


>Почти 400 мегабайт текста в проекте в котором работаю. Игра для пека.



Не считая вспомогательных тулз естественно.
#49 #702668
>>702666
Чо за игра?
>>704386
#50 #702670
Вон в ядре линукса вообще 750MB текста
>>702672>>702678
#51 #702672
>>702670
Во фряхе вообще 1.0G
#52 #702675
В codelite - 383MB
>>702676
#53 #702676
>>702675
Не, пижжу - 254MB
#54 #702678
>>702670
У меня 640.
>>703350
29 Кб, 220x444
#55 #702683
хуясе знатоки повылезали
>>702684
#56 #702684
>>702683
Так не чистые сырцы, наверное. А собранные.
Я могу .git добавить к этому, будет 2 гига вообще.
>>702686
#57 #702686
>>702684
Не собирал. Только читал, лол
du -ch -I .git .
>>702688
#58 #702688
>>702686

>du -ch -I .git .


du: invalid option -- 'I'
Гм.
>>702691
#59 #702689
Подскажите, сложно найти работу в C++ среде? Реквестирую success stories.
Сам я с 2.5 годами опыта.
мимо-ищу-уже-неделю
>>702891
#60 #702691
>>702688
Попробуй --exclude вместо "-I"
>>702692
#61 #702692
>>702691
[~/sources/linux]
user@host $ du -s --exclude=.git
1.2G.
>>702694
32 Кб, 421x607
#62 #702694
>>702692
При этом
>>702696
#63 #702696
>>702694
Походу ты как раз и собрал его.
>>702699
#64 #702699
>>702696
Нит:
[~/sources/linux]
user@host $ make mrproper
CLEAN scripts/basic
CLEAN scripts/kconfig
CLEAN include/config include/generated
[~/sources/linux]
user@host $ du -s --exclude=.git
1.2G.

Ну и как ты объяснишь 642.6 МБ через гуй?

У меня подозрение, что du считает ещё и директории. А гуй — только размер файлов.
#65 #702706
Может у тебя есть есть символьные ссылки и тулы по-разному работают с ними?
>>702708
#66 #702708
>>702706
-P, --no-dereference
don't follow any symbolic links (this is the default)
>>702712
#67 #702712
>>702708

>702706


>-P, --no-dereference


>don't follow any symbolic links (this is the default)


Алиас на комнду в шелле?
Если нет, то ита бах. Репорть, пофиксь, вот это все.
>>702713
#68 #702713
>>702712
Короче, вот
[~/sources/linux]
user@host $ du -s --apparent-size --exclude='.git'
613M.
>>702717
#69 #702717
>>702713

>Короче, вот


>[~/sources/linux]


>user@host $ du -s --apparent-size --exclude='.git'


>613M\t.



Мне кажется, у тебя на диске охуительная фрагментация.
>>702719
#70 #702719
>>702717
А при чём тут фрагментация? Просто дохрена мелких файлов при размере блока в 4 килобайта.
>>702722
#71 #702722
>>702719

>702717


>А при чём тут фрагментация? Просто дохрена мелких файлов при размере блока в 4 килобайта.



Так это же определение фрагментации. Оставшееся место на диске не используется для хранения других файлов.
>>702723>>702724
#72 #702723
>>702722

>на диске


*В блоке
Это тот же механизм, что и paging
#73 #702724
>>702722

>Так это же определение фрагментации.


Ну разве что internal.
Вроде ext не умеет паковать несколько файлов в один блок.
>>702728
#74 #702728
>>702724

>Ну разве что internal.


А какие еще бывают?
>>702731
#75 #702731
>>702728
Ну когда у тебя данные нелинейно на диске размазаны.
>>702732
#76 #702732
>>702731

>Ну когда у тебя данные нелинейно на диске размазаны.


А, понял. Кстати ext4 не умеет block suballocation
#77 #702815
>>702652

А, вот оно что. Спасибо.
#78 #702828
>>702555
>>702557
>>702632
>>702657
>>702658

Бляха-муха все самому писать приходится. Этож пиздец, почему нормальную ide не запилили блять еще? Буду eclipse пользовать, тогда.

И я не только красноглазик, а еще БэЭсДэшник, бля.
>>702831>>702855
#79 #702831
>>702828
Kdevelop
>>702835
#80 #702835
>>702831
Заценю немного позже. Спасибо
#81 #702851
>>702363
так что чувак? ты где?
мыло оставь, хоть попробуем
#82 #702855
>>702828
оо, бсдшник..
помоги ме с этим!
>>702255

мимо в бсд годно идет марс и кутекреатор. но в консоли писать.. вим и скриптов на все случаи жизни на баше.. хотя лол.. можно иде накапчевать на нкурсесе.. чтобы с хоткеями и вкладками.. но это трешак! особенно на стадии анализатор кода не работает . выйдет годный продукт.. лел сам пересел бы туда если бы не работа с иксами в проекте
>>702884>>702885
#83 #702884
>>702855
Интересно. Не сталкивался с этой задачей, но гугол дает линк https://forums.freebsd.org/threads/19127/
Советуют через mplayer
mplayer tv:// -cache 128 -tv driver=v4l2:width=640:height=480:device=/dev/video0 > /dev/null 2>&1

Но это скорее всего хуйня. Есть мысль копать сорсы webcam прог. Но это платформ-зависимо будет.
>>702933
#84 #702885
>>702855

>/dev/video0 без v4l2


туплю.
>>702933
#85 #702891
>>702689
Устроился по блату на 113 тысяч в ДС с опытом работы полгода (пхпшником лал).

Сделал правильно тестовое (1 из ~50 кандидатов, серьезно), потому-что эйчарка спалила мне, что на нем будет (я эту тему поучил пару дней). Прошел 2 собеса, второй был на английском. Ну и взяли. Сижу уже 4 месяца нихуя не делаю вообще, т.к. ждем, пока проект нам отдадут.
#86 #702906
http://ideone.com/BPBcyT

что бы блять в конце не ставил
и system("pause")
и cin.get();
и даже _getch();
постоянно ебанная ошибка
"Вызвано исключение по адресу 0хсссссссссс(ntdll.dll)
Нарушение прав доступа при чтении по адресу 0хсссссссссс"

что у меня не так бл?
>>702915>>704802
#87 #702915
>>702906
даже если убираю все это всеравно эта ошибка
>>702938
#88 #702933
>>702885
>>702884
в принципе utox цепляет камеру в бсд, но смотреть как это в utox сделано -- крайняя мера т.к. тогда срок работы разрастется в недели!
qtlibs не жует видеопоток с камеры. сейчас в поисках гайда от дивелопероа webcamd эти ребята хотябы /dev/video* намутили.. должны же они изигайд оставить!
189 Кб, 1680x1050
#89 #702938
>>702915
бляя!! что за нахер??!!
>>702942
188 Кб, 1680x1050
#90 #702942
>>702938
так.. сссоре.. анализатор отвалился..
билд комплит же!
>>702944>>704778
#91 #702944
>>702942
билд компилит, ошибка на system("pause")
0xC0000005: Нарушение прав доступа при чтении

вот полный код!
http://pastebin.com/PwtES5pB

тут ошибка на 118 строке вышеуказанная..
>>702947>>702952
188 Кб, 1680x1050
#92 #702947
>>702944

>д компилит, ошибка на system("pause")



и рабит, прикинь!
system -- это ты кидаешь команду в шел
>>702948>>702971
28 Кб, 557x316
#93 #702948
>>702947

где?
>>702950>>702952
#94 #702950
>>702948
Енжой ёр сипипи
#95 #702952
>>702944
>>702948
крч.. ща я буду батхетить о мелко мягктих
ставь qtcreator + mingw
не еби себе мозг! чисто MSstudio херня
зы.. вопросик уровня lab1, вангую ошибка вылетает в дебагере, а бинарь ты не пробовал запустить, а он рабочий
#96 #702953
>>702952
и добавлю о
char *a;
cin >> a;
28 Кб, 1190x425
#97 #702954
>>702952
хреновая из тебя ванга
>>702955
#98 #702955
>>702954
это я бинарь запустил
>>702960
#99 #702957
бам
>>702960
#100 #702960
>>702955
это справа или за окнами??
бля ты заебал вайпать тред со мной!
я просто хочу прочитать qr код вебкамерой в frebsd

>>702957
А ТЫ ВООБШЕ ВЫПЕЛИСЬ В ОКНО! БЛЯ
У МЕНЯ ТОТАЛЬНЫЙ ПИЗДЕЦ АНОНА А ТЫ БЛЯ ВАЙПАЕШЬ ЛЮБИМЫЙ ТРЕД. ЗДОХНИ!!!!111АДИН!11
>>702963
46 Кб, 1180x635
52 Кб, 997x343
#101 #702963
>>702960
вот я еще раз отправлю
#102 #702967
>>702952

>Совет на heap corruption - сменить компилятор?


Ты совсем отбитый?
>>702983
#103 #702971
>>702947

>ifstream rstream("test.txt")


>ofstream wsteram("test.txt")


Проиграл
>>702975>>702983
#104 #702975
>>702971
простите, а не соизволите уточнить, уважаемый(нет), с чего именно вы проиграли?
>>702977>>702983
#105 #702977
>>702975
fstream
>>702979
#106 #702979
>>702977
а вы я так понимаю ostream-бог ?
>>702983
#107 #702983
>>702967

>>Совет на heap corruption - сменить компилятор?


>Ты совсем отбитый?


ну да.. проеб

cin.get();
рабочий варик 100% хули он пиздит?

char *a;
cin >> a;
рабочий варик пусть и не тот

бля.. да для hallloword в гуголе гляни и также ебани!

>>702971 лол.. не читал даже до system pause.. так проскролил..

>>702975
с того что ты ебаный обфускатор, вот с чего,
>>702979
бля! когда ты сьебешь туда откуда прикатился? на типичного программиста своего
#108 #702989
1. Выкинь нахуй ввод матриц с клавиатуры, ты что отбитый там? Вводишь ручками в файле и передаешь файл как аргумент программе - вот так делают белые люди.

2. Вместо "using namespace std;" делай "using std::cout;"

3. <conio.h> выкинь нахуй.

4. "delete[] dblPtA;" выкинь нахуй, используй unique_ptr

5. Инкапсулируй матрицы в классе, не плоди убожество.

6. Вместо system("pause") юзай std::cin.get(), как сказал товарищ выше.
#109 #702990
>>702989

> 2. Вместо "using namespace std;" делай "using std::cout;"


> 6. Вместо system("pause") юзай std::cin.get(), как сказал товарищ выше.


В чем разница? Я новенький.
>>702993
#110 #702993
>>702990

>2


Ты переносишь все имена из ::std в неймспейс ::. Если захочешь написать свою функцию sort, тебя ждет сюрприз.

>6


system("pause) платформозависимое говно, которое дергает внешнюю программу через систему. Нахуя этим заниматься, когда нужно просто дождаться ввода любого символа в stdin, что прекрасно делает .get() в istream?
>>703006
#111 #702998
Кстати на счет Рихтера, кто-нибудь его читал строго от начала до конца?
К чему там всякие файлы манифестов, ебала со структурами безопасности. Все эти флаги, ну нахуй они? ИРЛ их кто-то использует? Там ведь все в общем заключается, что твой процесс имеет/нет право что-то читать/записывать, доступ к объектам ядра и т.д. Вот это вот нахуя так подробно все описывать, поясните, кто знает.
>>703013>>704661
#112 #703006
>>702993
На счет 6 понятно, а 2 делает тоже самое, но работает всегда безотказно, так?
>>703011
#113 #703011
>>703006
первое тоже рабтает без отказно.
просто там будет небольшой полипоебизм..морфизм..
>>703017
#114 #703013
>>702998
Я читал. Для общего развития полезно очень.
#115 #703017
>>703011
Если сигнатура будет совпадать, то будет стремная ошибка компиляции.
>>703020
41 Кб, 876x300
#116 #703020
>>703017
Классический пример.
>>703028
#117 #703028
>>703020
интересно что моя любовь к гавнокоду это не дала сделать
мимо делаю мелкий клас для работы с подобными stl штуками.
#118 #703071
>>702205
И такие редкие экземпляры есть? Вау!
#119 #703175
>>702989
Я тебя правильно понял ?
using std::cout;
using std::cin;
>>703194
#120 #703194
>>703223
#121 #703223
#122 #703225
>>702989

> вот так делают "белые" люди не знающие про пайпы

#123 #703323
Есть два стула...

Нужно хранить массив объектов разных типов. Все нужные типы заранее известны, их кострукторы тривиальны.

Что лучше использовать boost::any или свой костыль с union и флагами?
362 Кб, 486x467
#124 #703350
>>702678
640 хватит каждому, базарю.
#125 #703398
>>703323

>Нужно хранить массив объектов разных типов. Все нужные типы заранее известны, их кострукторы тривиальны.


костыль, обычно, хуже
#126 #703483
>>703323
Шо то хуйня, шо это хуйня. Правильные посоны выделят общую для этих нужных типов функциональность в адаптер, а еще лучше приведут их к общему интерфейсу, если есть возможность рефакторинга. И да, тут ты скажешь, что общей функциональности у них - хуй да нихуя, а я, в свою очередь, отвечу, что тогда тебе в принципе не может понадобиться хранить их вместе без какой-либо дополнительной инфы о том, что там за объекты. А если инфа есть - берешь ее и хуяришь в адаптер, чтобы в нем были безопасные селектирующие методы.
>>703761
338 Кб, 1279x932
#127 #703529
>>702133 (OP)
Помогите начинающему
setlocale в правильное место вписываю?
#128 #703537
>>703529
В правильное же. А в чем проблема?
>>703541
#129 #703541
>>703537
Да ни в чём, просто не уверен.
Решил сегодня таки развернуть свёрнутую ещё в январе книгу и попытаться в погромирование с нуля
#130 #703569
>>703323
QVariant
#131 #703574
>>703529

>setlocale в правильное место вписываю?


Ею вообще пользоваться не очень правильно. Но почему — расписывать лень.
>>703577
#132 #703577
>>703574
Русек нинужин, или что?
>>703578
#133 #703578
>>703577
Может и нужен, но сама идея локалей в стандарте зделана через одно место.

Впрочем, лабы погонять, если уж так хочется рюзке язык в консолечке, хватит.
>>703582
#134 #703582
>>703578

>рюзке язык


Задетектил в тебе пассивно-агрессивного хохла.

Так что не так-то с локалями в стандарте?
>>703584
#135 #703584
>>703582

>Задетектил в тебе пассивно-агрессивного хохла.


Пора тебе лечить детектор.

> Так что не так-то с локалями в стандарте?


Всё не так.
#136 #703650
>>703529
ЛАБЫ ИДУТ НА ХУЙ
>>703669
#137 #703659
Котаны, взяли в контору меня, без опыта, пишу под ведро, юзаю c++ builder, это за кресты считается? просто вижу многие примеры и работы на чистых крестах и там все по хардкору с использованием библиотек, а у меня куча готовых функций предоставленных средой и как то это более халявно что ли выглядит..
>>703665
#138 #703665
>>703659
Помню пересел с RAD Studio на чистые кресты и охуел, вместо пары вызовов стандартной библиотеки я должен был обмазываться гигабайтами бустов, сотнями говнобиблиотек и тысячами строк велосипедов вокруг апи, а вместо гуя только сосноль и хуй за щекой.
>>703684
#139 #703669
>>703650
Что это такое, лул
>>703684
#140 #703684
>>703665
Открой для себя Qt вместо помойного vcl, удивишься.

>>703669
Ето ти ди нах са сваими лабами))
>>704537
#141 #703761
>>703483
Таки забыл добавить, что они все уже унаследованы от общего интерфейса, но толку от этого большого нет, в вектор их все равно не засунуть. Просто не хотелось бы выделять память на них где попало и как попало.

Хотя вроде можно без утечек сделать. Попробую так.
>>703763>>703773
#142 #703763
>>703761
Всмысле, пусть будет массив указателей.
#143 #703772
ребяят.. не подскажете где можно взять пописать лабы за елду?
есть хочу, умираю
>>703779
#144 #703773
>>703761
Что, блядь? А пул под каждый тип завести не судьба?
>>703796
#145 #703779
>>703772
Тусуйся ИТТ, висни на ньюфагах с лабами, умоляй дать на аутсорс.
>>703941
#146 #703796
>>703773
Как я раньше не догадался.
#147 #703852
Куда библиотеки кидать, чтобы через #include вызавать ?vs15
>>703897
#148 #703897
>>703852
Куда хочешь. Нужно только в настройках потом их подключить.
>>703903
#149 #703899
Посоны, есть кто обмазывался http://beginners.re/ ? Коллега посоветовал для понимания С++ (я и сам подобного рода материал искал (оптимизация, распределение памяти, как работает программа, вот это всё). Вопрос в том норм ли мне зайдёт (с цпп более-менее дружу), если я не знаю ассемблера, даже все РОН не вспомню?
>>703905>>703925
#150 #703903
>>703897
>>703897
Пнятно, как их подключить ?
Говно, мне анон посоветовал eclipse, а эта программка не запускается совсем, пишет :java was started but returned exit code=13
>>703993>>704084
#151 #703905
>>703899
Достаточно про стэк/хип знать
>>703908
#152 #703908
>>703905
Это ты для чтения этой книги имеешь ввиду или этого достаточно вместо неё, лол?
>>703910
#153 #703910
>>703908
Лол, для чтения книги. А так я сам пропускал части с arm/mips (не моя специализация), так что за них ничего сказать могу.
#154 #703925
>>703899
Годная книга, но вряд ли поможет именно в понимании плюсов. Оно даст лишь понимание во что эти самые плюсы компилятся и как исполняются. Про оптимизации там вообще почти ничего нет.
#155 #703941
>>703779
можешь дать годных линков.. а то на хх только пхп жаба и 1с
#156 #703993
>>703903

> Говно, мне анон посоветовал eclipse, а эта программка не запускается совсем, пишет :java was started but returned exit code=13


Сам решил проблему.

> Пнятно, как их подключить ?


bump
#157 #704082
Пездюки, может кто нибудь пояснить с хуя ли string& копируется? И почему проблема решается именно константной ссылкой?
И почему это настолько гениальная проблема, что в 17-м стандарте добавили string_view
>>704088>>704091
#158 #704084
>>703903

> Пнятно, как их подключить ?


Читай в документации к твоему компилятору/IDE.
#159 #704088
>>704082

>Пездюки, может кто нибудь пояснить с хуя ли string& копируется?


Покажи код.
#160 #704091
>>704082
Когда копируется?
25 Кб, 593x224
#161 #704101
аноны, помогите, треда по C не нашел, поэтому спрашиваю здесь. читаю k&r главу 1.9, в ней написана функция getline, которая записывает строку в массив s[] размером lim, в конце строки добавляя \n и \0.
собственно вопрос, почему массив не переполняется? допустим, создаем массив arr[5]; записываем в массив, пока i<lim-1, т.е. i от 0 до 3 (4 элемента в массиве), когда i=4, выходим из цикла и помещаем \n в 4(последний) элемент массива, а для нуля места не остается
#162 #704104
>>704101

> треда по C не нашел


В шапке:
Старший брат: >>683573 (OP) (OP)
#163 #704118
>>704101

> записываем в массив, пока i<lim-1


Да. При этом очередного с = getchar() не выполнится.

> выходим из цикла и помещаем \n


Условие c == \n не выполняется.
>>704124
#164 #704124
>>704118
наконец-то до меня дошло, пиздец я тупой. спасибо
#166 #704157
>>704146
Ахуеть, на прыщах наконец-то появится нормальная ide! лол
>>704158
#167 #704158
>>704157
Ты не понял. VS как была на винде, так и остаётся.
Этот плагин позволяет по ssh посылать сорцы на удалённую linux-машину и там собирать. Вроде поддерживает удалённую отладку.
>>704163
#168 #704160
Анончики, помогите. Как мне лучше ограничить мой game loop? Проблема в том, что он юзает целое ядро проца, а sleep, как я понял, получает минимальное время на задержку и его использовать нельзя. Как быть?
>>704232
1749 Кб, 800x600
#169 #704163
>>704158
Мне лень читать, но я вижу визуал студию на убунте.
>>704165>>704169
#170 #704164
>>703529
Охуенно. По памяти написал хело ворлд! С 10й попытки, с подсказками дебагера (или как там его), но написал!
Я теперь программист.
#171 #704165
>>704163

>я вижу визуал студию на убунте.


У тебя галлюцинации. =)
#172 #704169
>>704163
нет, это VS на винде, с remote билдом
>>704178
6 Кб, 256x144
#173 #704178
>>704169
Ну вот же убунту.
>>704194
1082 Кб, 1366x768
#174 #704194
>>704178
А вот рач. Дальше что?
>>704206
#175 #704206
>>704194
Откуда на той гифке взялась убунта?
>>704211
#176 #704211
>>704206
Бля. Ну показали они, что прога запустилась удалённо в убунте, хотя они кодят с винды.
#177 #704232
>>704160
Чем ты говоришь sleep плох?
>>704296
#178 #704296
>>704232
ну если у меня есть

current = time()
// Что-то делаю
sleep(1000/60 - (time() - current)),

то поток уснет на дольше, чем нужно. И fps не будет стабильным.
Сразу скажу, что я тупой и если я не так делаю очевидные вещи, то просто поясните как делать.
>>704298
#179 #704298
>>704296
Если у тебя не ОС реального времени то ты никак не сможешь выполнять свой код через точно опредленные промежутки.
>>704435
8 Кб, 381x381
#180 #704348
Пацаны, компилятор оптимизирует такую хуитку или надо выносить за цикл?
#181 #704386
>>702668
Симулятор.
#182 #704405
http://ideone.com/0ZZ68E
1. Строчка №8 передача shared_ptr по значению - норм? На передачу по ссылке ругается.
2. Верно ли я понимаю, что унаследовав от этого класса например класс двунаправленного узла, все методы текущего будут не юзабельны, ибо shared_ptr<Mono<int>> не будет конвертироваться/интрепретироваться в shared_ptr<Bi<int>> ?
#183 #704408
>>704348
Оптимизирует. Не оптимизировал бы, если бы size() был не const методом.
>>704410>>704411
#184 #704410
>>704408
А если мы изменим размер вектора в цикле?
#185 #704411
>>704408
Хотя нет, туплю. Оптимизировать не будет, если в теле цикла вызывается не const метод, и класс не темплейтный, его определения не видно. Тогда компилятор не может сделать вывод, что size не меняется.
#186 #704420
>>704348
Никогда не надейся на оптимизатор. Просто не создавай себе вредных привычек.
>>704421
#187 #704421
>>704420
Так что? Всегда size вмести с i объявлять?
>>704428
#189 #704428
>>704421
Здесь auto поможет.
153 Кб, 681x944
#190 #704430
>>704405
бамп
#191 #704435
>>704298
А если зациклить вызов функции которая запоминает время своего последнего "удачного" ретунра и если достаточно времени не прошло, то выполняет какие-то полезные для игры действия типа расчёта физики, а если время наступило, то рисует новый кадр. В случае отрисовки кадра делает "удачные" ретурн иначе "неудачны". Как обычно игры делают? В какой простой игре посмотреть как это сделано? Дум слишком большой. Мимо проходил.
#192 #704449
>>704348

> 2016


> индекс типа int

>>704453
#193 #704451
>>704405
Ты уверен, что тебе нужен shared_ptr?
>>704466
#194 #704453
>>704449
Быстрее писать, чем size_t.
>>704455
#195 #704455
>>704453
А char[255] быстрее, чем string?
>>704467
#196 #704461
>>704348
С вероятностью 146% v.size() заинлайнит и код превратится в i < v.__size, прям как с отдельной переменной.
>>704477
#197 #704466
>>704451
Нет. Но если нода проебется?
>>704470
#198 #704467
>>704455
Так же. Но привык к char[].
#199 #704470
>>704466
Для чего вообще нодам владеть указателями? Нода должна быть в нескольких списках одновременно?
>>704476
#200 #704476
>>704470
Я пишу велосипеды.
Это же вариант ноды для однонаправленого списка, кто должен владеть указателем если не нода?
>>704485
2 Кб, 362x74
#201 #704477
>>704461
Мол, сам создаст переменную?
#202 #704485
>>704476
Предполагается, что отдельные куски этого списка будут болтаться в программе где попало?
>>704535
#203 #704527
>>704405
Открой для себя typedef, зачем глаза ломать. http://ideone.com/0yVr4f

Создать циклическую ссылку на базе твоей хуйни - нехуй делать, поэтому ты делаешь что-то не так. Тебе нужно или копировать списки, или же выдумывать сборку мусора.
>>704535
#204 #704535
>>704527
Спс. Циклическую ссылку?
>>704485
В основе лежала идея, насоздавать и владеть лишь головой. Ну допустим засуну я в вектор и толку? Списковые операции как выполнять то?
>>704731
#205 #704537
>>703684

> Qt


Существование этого набора велосипедов как нельзя лучше подтверждает мои слова о том, что "стандартные" кресты это неюзабельный кусок дерьма.
>>704541>>704585
#206 #704541
>>704537
Который тред у тебя уже бомбит от C++?
#207 #704585
>>704537
Языки до явы вообще все были куда хуже в плане стандартной библиотеки, а в эпоху создания плюсов наличие libc на пользовательской машине было роскошью, лол. Не стоит забывать что плюсы это легаси, и никакие лямбдочки раз в 10 лет этого не изменят.
>>704587
#208 #704587
>>704585

>Языки до явы вообще все были куда хуже в плане стандартной библиотеки


Бля, ну это вообще жирно. ArrayList, надо же было такое говно выдумать.
>>704589>>704592
#209 #704589
>>704587
Чем тебе не нравится ArrayList, байтоёб?
#210 #704592
>>704587
Да, ебланское название, зато в ней было вообще всё что нужно и ява на этом выехала. Говно сейчас подтвердило, что похуй насколько убог язык – главное чтобы за тебя уже всё сделано было.
>>704603
#211 #704603
>>704592
Для признания всех джаваблядей опущенцами хватит прочесть страниц десять любого их учебника для ньюфагов. Встроенные типы отличаются поведением от классов, вообще пушка.
>>704604>>704608
#212 #704604
>>704603

> Встроенные типы отличаются поведением от классов, вообще пушка.



Ну, в цепепе фундаментальные типы тоже отличаются от не-фундаментальных.

для классов default construction это вызов конструктора без параметров (это неточно), для фундаментальных — NO-OP
>>704755
#213 #704608
>>704603
Это легаси, байтоёб.
#214 #704623
>>702133 (OP)
ОП, это чума! Хотя бы кто-то услышал реквест хорошо/плохо - стиле. Можешь ещё по классике пройтись? У лукоморья, что-нибудь из Евгения Онегина или стихов Маяковского?

Алсо, попробовал передалать стишок про <<травинку и лесок>>.Вышло ничего.
>>704757
#215 #704657
Плюсаны, посоветуйте редактор кода для линукса. Хотелось бы что-то типа notepad++ - с подсветочкой кода и привычными хоткеями (а то я пока не могу привыкнуть к виму).
#216 #704658
>>704657
Саблайм.
>>704660>>704666
#217 #704660
>>704658
Разве что у него хоткеи с KDE-шными пересекаются, так что я в настройках WM для этого окна наружние хоткеи отрубаю.
#218 #704661
>>702998
Хуй знает. Тоже думал почитать (советовали для системного прогр-ния), но там столько всей этой низкоуровневой хуиты, что чуть крыша не поехала. Так что ЦА книги - наверное какие-то лоу-левел виндовс-разрабы.
#219 #704662
>>704101
Пользуйся дебаггером в подобных случаях. По началу будет очень непривычно, но быстро привыкнешь. Тем более в визуал студии дебаггер очень даже охуенный даже в vs 2005
#220 #704666
>>704658
Спасибо. Кучу названий уже видел, но все руки не доходили установить (только gvim инстальнул, шобы к vim'y привыкнуть, но заебал пиздец)
#221 #704668
>>704657
VS Code
#222 #704699
test
#223 #704726
>>704657
Geany. Лёгкий, быстрый, функциональный.
>>705917
#224 #704727
>>704736
20 Кб, 320x466
#225 #704731
>>704535
Бамп второму ответу. Про циклическую ссылку я понял, как против такого бороться?
>>704739
#226 #704736
>>704727
CLion не редактор кода, и вообще платный.

Саблайм хоть и платный, но не ограничен в функционале, разве что каждые полчаса при сохранении файла предложит себя купить.
#227 #704739
>>704731
СМАРТ ПОИНТЕРЫ
М
А
Р
Т

П
О
И
Н
Т
Е
Р
Ы
>>704750>>704934
#228 #704750
>>704739
Сасай хуй
#229 #704755
>>704604
Но область выделения памяти не зависит от этого в крестах. А там - встроенные типы передаются по значению, объекты по ссылке на кучу, отдельный метод для клонирования, ну пиздец же. И эти петухи еше что-то кукарекать смеют про выстрелы в ногу
#230 #704757
>>704623
Стал
синьором,
сидя в крестотреде,
Зарплату
имею
тысяч до ста.
Мой
хуй,
как сюжет в легенде,
Джавабляди
нищей
вошел в уста.
>>704769
#231 #704769
>>704757
Вы любите джаву?
А я на нее срал!
Стране нужны байтоебы
И очень жесткий анал
Товарищ,
Не мусоль
словно клитор,
кнопку
Постирай свитер, побрей бороду
Сделал коммит - посылай всех в пизду
Не сделал - смазывай попку
>>704783>>704847
45 Кб, 1139x387
#232 #704775
Что значит в С++ запись "->"? Нашел на вики в описаниях операторов, но все равно не понял. Может кто-нибудь объяснить и привести пример. Спасибо.
>>704780>>705028
#233 #704778
>>702942

>венгенрская нотация


Ты ебанутый?
>>704779
#234 #704779
>>704778
что-то не так?
мимо автор скрина
>>704796
#235 #704780
>>704775
Это как точка, но если вызывается для указателя на объект, а не самого объекта.
>>704781>>704782
27 Кб, 477x94
#236 #704781
>>704780
ты просто прочитал за анона?!
ппц
>>704782
#237 #704782
>>704780
>>704781
а можно пример, пожалуйста
>>704785>>704786
#238 #704783
>>704769
Ночь.
Опять утечку искать.
Липнут ладони к клаве.
Мусоросборщик
Не стану юзать
Назло б-гомерзкой джаве.
#239 #704785
>>704782
Блять.

Omega lal("2ch");
lal.say();

Alpha *lel = new Alpha();
lel->say();
>>704788
44 Кб, 521x474
#240 #704786
>>704782
бля..
>>704788
#241 #704788
>>704785
>>704786
спасибо, анончики
думал отпиздите за такие вопросы
>>704789
#242 #704789
>>704788
просто совет, если юзаешь ide часто тыкай не ctrl+space
это избавит эту доску от подобных блядскихтвоих вопросов
>>704792
66 Кб, 600x600
#243 #704792
>>704789
чаще тыкай на
быыыыыыыыыстрофикс
#244 #704796
>>704779
Нахуя? Ее придумали чтобы было легче читать код на БУМАГЕ. Я и так вижу что int numB это int.
#245 #704800
>>704796
я не писал эту фигню.. просто пытался помочь анону же.
>>704802
#246 #704802
>>704800
>>704796

ты крч промазал.. это седа
>>702906
#248 #704812
>>704805
ну я это не писал и не рефакторил же.
я обычно пишу переменные которые означаютсмысл её применения а не nunB
>>704813
#249 #704813
>>704812
Я другой анон. Просто хотел сказать, что обычно венгерскую нотацию понимают неправильно.
>>704841
#250 #704841
>>704813
стоп стоп стоп..
я типо юзаю переменные формата
int количесто_огурцов_у_анона
ты говоришь что
int num_of_количесто_огурцов_у_анона
из-за проблем с полиморфизмом
..

анон который вытащил мой скрин говорит что
все мыи так понимаем.. по сути это:
int num_of_a, num_of_b1.. bnum_of_Aamf32 // зашквар


но имхо -- не надо хранить данные в переменных и ебаться с этим!
придумали же полиморизм! и все что не попадает под сигнатуросовпадаемые траблы выдавать из класса с данными функцией.
..
хотя я считаю что вот тебе стоит глянуть в то как растет opengl. Он давно отказался от clearcolor3F подобных функций. еще в 200(0-4) ом году. И думаю что нам не стоит вдаваться в это. Новые фичи С++159 избавят нас от совпадений сигнатур и все будет круто
>>704849>>704850
#251 #704847
>>704769
Очень
по-маяковски, товарищ.
Спасибо.
#252 #704849
>>704841
Вот смотри. Допустим есть переменная
unsigned int penisSize
мы не знаем в чем Size. Поэтому мы пишем
unsigned int cmPenisSize
unsigned int inchPenisSize
и теперь понимает в каких ед. измерения.
>>704856>>704876
#253 #704850
>>704841

>


>но имхо -- не надо хранить данные в переменных и ебаться с этим!


>придумали же полиморизм! и все что не попадает под сигнатуросовпадаемые траблы выдавать из класса с данными функцией.


Поясни. Желательно с примерами
>>704876
#254 #704856
>>704849
Я имею в виду
unsigned int cmPenisSize
или
unsigned int inchPenisSize.
Вообще, это и есть kind, который ставится префиксом в имени переменной.
#255 #704876
>>704849
но вот я ща играюсь с opengl
и такой проблемы у меня не возникает т.к. я мерию все в метрах.
но хотя я понимаю что
unsigned int penisSize = 0.03
будет равносильно
unsigned int penisSize = 0
что крутосыграет на взрыв..
как это 0 см когда 3!
...
...
...
>>704850
ну я не догнал с самого начала о сути венгенрской нотации
но имел ввиду

class penis
{
public:
int GetPenisSize() // В метрах
{
return PenisSize;
}
float GetPenisSize() // тоже в метрах
{
return PenisSize;
}
double GetPenisSize() // а тут уже нахлест сигнатур
{
return PenisSize;
}
private:
double PenisSize; // а тут длинна пениса в метрах
}
...
...
но вот в этом классе лучше всетаки юзать венгенрскую нотацию для члена измеренного в дюймах
и членах в миллиметрах..

и добавим в приват
int GetInchPenisSize()
{
return PenisSize/2.54;
}
float GetInchPenisSize()
{
return PenisSize/2.54;
}
#255 #704876
>>704849
но вот я ща играюсь с opengl
и такой проблемы у меня не возникает т.к. я мерию все в метрах.
но хотя я понимаю что
unsigned int penisSize = 0.03
будет равносильно
unsigned int penisSize = 0
что крутосыграет на взрыв..
как это 0 см когда 3!
...
...
...
>>704850
ну я не догнал с самого начала о сути венгенрской нотации
но имел ввиду

class penis
{
public:
int GetPenisSize() // В метрах
{
return PenisSize;
}
float GetPenisSize() // тоже в метрах
{
return PenisSize;
}
double GetPenisSize() // а тут уже нахлест сигнатур
{
return PenisSize;
}
private:
double PenisSize; // а тут длинна пениса в метрах
}
...
...
но вот в этом классе лучше всетаки юзать венгенрскую нотацию для члена измеренного в дюймах
и членах в миллиметрах..

и добавим в приват
int GetInchPenisSize()
{
return PenisSize/2.54;
}
float GetInchPenisSize()
{
return PenisSize/2.54;
}
#256 #704878
>>704876
боже мама..
я посто хотел взять поток /dev/video0
чем я блядь занимаюсь?
МЕРЮЮ БЛЯДЬ ПЕНИС В ДЮЙМАХ!!!
#257 #704879
>>704876
Ну я понял короче с полиморфизмом. В любом случае есть type, а есть kind. Не путай.
>>704890
#258 #704890
>>704879
ну я понял это итт
но можешь дать коротенький гайд по тем как юзать kind в префиксе переменной? я что-то не могу прогуглить?
>>704896>>704899
66 Кб, 600x600
#259 #704894
>>704876

>приват


в паблик
опять быыыыыыыыыыстрофикс
#260 #704896
>>704890
Да походу эту нотацию уже и не пользует никто. Был скандал, сказали, что афтор нотации долбаеб.
Разницы между type и kind не поняли.
#261 #704899
>>704890
Вообще 99% понимают ее неправильно. Даже рискованно использовать ее.
>>704905
#262 #704905
>>704899
тоесть верно юзать то как тут >>704876
и все? тема закрыта?
>>704948
#263 #704934
>>704739
Что, простите?
#264 #704948
>>704905
А вот непонятно. Вот хочу я иметь два типа CmSize и InchSize, которые являются float. Я пишу

typedef float SizeCm;
typedef float SizeInch;

Далее объявляю класс

class Size {
public:
Size(SizeCm size);
Size(SizeInch size);
SizeCm getSize();
SizeInch getSize();
private:
float size;
};

Size::Size(SizeCm size) {
this->size = size;
}

Size::Size(SizeInch size) {
this->size = size * 2.54;
}

SizeCm Size::getSize() {
return this->size;
}

SizeInch Size::getSize() {
return this->size / 2.54;
}

Не компилится. Как быть?
#264 #704948
>>704905
А вот непонятно. Вот хочу я иметь два типа CmSize и InchSize, которые являются float. Я пишу

typedef float SizeCm;
typedef float SizeInch;

Далее объявляю класс

class Size {
public:
Size(SizeCm size);
Size(SizeInch size);
SizeCm getSize();
SizeInch getSize();
private:
float size;
};

Size::Size(SizeCm size) {
this->size = size;
}

Size::Size(SizeInch size) {
this->size = size * 2.54;
}

SizeCm Size::getSize() {
return this->size;
}

SizeInch Size::getSize() {
return this->size / 2.54;
}

Не компилится. Как быть?
>>704953>>704954
#266 #704954
>>704948
typedef это тебе не newtype какой нибудь. Для компилятора SizeCm и SizeInch - один и тот же тип, поэтому он не может разрешить перегрузку конструктора по одному и тому же типу, ну а перегрузка по возвращаемому типу вообще не поддерживается даже если бы компилятор и считал сайзы за два разных типа
>>704959
#267 #704959
>>704953
Тяжеловесная либа, но буду разбираться.
>>704954
Да, понял уже. Спасибо
>>704960
#268 #704960
>>704959
не тяжелее твоей мамки
>>704995
#269 #704995
>>704960
я тут поскролил.. мамка легче
#270 #705028
>>704775
a->b эквивалентно (*a).b
#271 #705070
>>703529
Это Лафоре? У меня какое-то издание попалось, опечаток дофига, в конце концов листинги из англоязычного переписывал.
#272 #705170
Я копипастил и случайно объебался.
http://ideone.com/B0zKQZ
Я хочу получить указатель на шаблон функии сравнения и передавать ее в функию.
>>705182>>705330
#273 #705182
>>705170
Что за хуйню ты вообще написал? Почитай сначала материал до конца, а только потом пробуй. И не заебывай бедного анона.
>>705330
#274 #705211
Class Pisya
{
void pososat() {}
}

vector<Pisya*> v(228);
v.clean();

1) Вызовется ли конструктор 228 раз?
2) Если да, освободится ли память после клининга или удалятся только поинтеры?
#275 #705218
>>705211

>1) Вызовется ли конструктор 228 раз?


Нет пока не напишешь new.

>2) Если да, освободится ли память после клининга или удалятся только поинтеры?


Только поинтеры.
#276 #705219
>>705211
Почему бы не написать код самому и не проверить?
#277 #705264
Почему в библиотеке C++ такой убогий интерфейс? Пример говна: vector.erase(vector.begin(), position) вместо красивого vector.erase(position). Библиотеку проектировали индусы, которым доплачивают за размер кода?
>>705270>>705308
#278 #705270
>>705264

>iterator erase( const_iterator pos );


>iterator erase( const_iterator first, const_iterator last );



А вот и пиздоглазые подъехали.
>>705273
#279 #705273
>>705270

>>iterator erase( const_iterator pos );


Пиздюк, ты скажи, как вызывать v.erase(4) вместо уебищного v.erase(v.begin() + 4).
>>705279>>705293
#280 #705279
>>705273
Второй раз вижу этот вопрос в этом итт треде. Всегда должен быть итератор, а не int для индексирования массива. Но я не понимаю почему у итератора нет конструктора копирования в int и конструктора который принимает параметр int. Сишники должны были быть довольны.
>>705282>>705283
#281 #705282
>>705279

> в этом итт треде


это как lol(int_bla_bla + 4)
#282 #705283
>>705279

> почему у итератора нет


Будет же пытатся подставлять вместо всех интов все возможные итераторы какие найдет.
>>705290
#283 #705290
>>705283
Так явно можно же вызвать итератор. if(vector<int>::iterator i(4)==int(4))
#284 #705293
>>705273

>конструктора который принимает параметр int


Потому что придется передавать еще и коллекцию в этот конструктор, что мало отличается от текущего решения.

>Пиздюк, ты скажи, как вызывать v.erase(4) вместо уебищного v.erase(v.begin() + 4).


Охуительные у тебя проблемы, скажу я тебе. Просто так сделали и никого это не ебет. Хочешь исправить - сделай proposal и если противоречий не будет, его примут. C++ - это open source, тебе никто ничем не обязан, лалка.
#285 #705303
>>705211

>1) Вызовется ли конструктор 228 раз?


Вызовется. Только конструктор указателя. который ничего не делает и вообще его нет, но для формальности

>2) Если да, освободится ли память после клининга или удалятся только поинтеры?


Вектор вызывает деструкторы для элементов, которые он хранит. В данном случае — деструкторы для указателей. которых также нет и ничего не вызывается. А потом освободит память, занимаемую элементами.
#286 #705308
>>705264

>Библиотеку проектировали индусы


Хуже: русские.
>>705701
#287 #705311
Сап ананасы.
Имеется концептуальный вопрос.
Напейсал я TCP-сервер и клиента к нему на сокетах.

Надо, чтобы клиент среагировал, если сервер закроет сокет по таймауту.
Соотвественно, вопрос, как обычно такие штуки реализуются?

Пока думаю в сторону создания отдельного потока на клиенте, который все время читает сокет и при получении определенного сообщения от сервера, уведомляет юзера, мол, сервер разорвал соединение. После чего закрывает сокет на клиенте.
>>705322
#288 #705322
>>705311
В идеале сервер должен отсылать сообщение клиенту что он отключен по таймауту. А в общем у проблемы проверки наличия соеденения с сервером нет нормального решения.
#289 #705323

>You are given N integers.Then you are given 2 queries.First query consists of 1 integer denoting the position which should be removed.Next query consists of 2 integers denoting the range that should be removed.



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

https://ideone.com/C2RWp3
#290 #705330
>>705182
Я >>705170, похоже, объебался дважды.

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


https://social.msdn.microsoft.com/Forums/ru-RU/25d252f4-b45f-425d-a7cb-48a6a3a6f4b1/-?forum=programminglanguageru
#291 #705634
Нужен свой проект а гитхабе. Что-то из ИБ или ML. Учить дрругой язык времени нет. Проек на пару месяцев. В голову ничего не лезет. Что сделать?
#292 #705639
Сложно ли на ++ или просто на С написать простую программу, тот же блокнот?
>>705642
#293 #705642
>>705639
Нет. Он не для этого. Попробуй лучше на brainfuck'е это написать.
>>705643
#294 #705643
>>705642
Нет, правда. Не могу найти нужную мне пограмму, может выучу какой язык и напишу сам. Просто, если это невероятно сложно и потребует несколько лет, то тогда и пытаться не буду.
>>705647
#295 #705647
>>705643
В гугле искал? А на гихабе? Я слышал винда сразу вместе с блокнотом устанавливается. Попробуй в пуске поискать.
>>705651
#296 #705651
>>705647
Я не блокнот ищу, просто немного похожую программу, и думаю если бы я написал блокнот, то и нужную мне программу написал бы без труда.
>>705653>>705657
#297 #705653
>>705651
А что ты уже умеешь? Может в питонотреде спросишь?
>>705674
#298 #705657
>>705651
Блокнот пишется просто, если не можешь написать блокнот - ты не программист. Сколько времени надо учиться/писать зависит только от тебя. С++ не советую, бери шарп/питон/еще что подобное, они проще.
#299 #705663
>>705657
Ну и вообще, заплатить фрилансеру, чтоб он сделал нужную программу, будет намного эффективнее.
#300 #705674
>>705653
>>705657
Я вот что хотел найти, но не нашёл:
Органайзер.
Вот пик нарисовал, каким должен быть примерный функционал.
1 - окно дат или календарь. Можно форматировать даты.
2 - закладки. На каждую дату или число свои закладки.
3 - собственно тело органайзера, куда я могу писать что хочу. Было бы огромным плюсом если бы там было переключение между обычным текстовиком и эксель таблицей + простенькие форматирования.
Чтобы было портативным и можно было с флешки запускать, при чём на разных ОС - линукс и шиндовс.

Тяжело было бы сделать?
А на ++ я слышал что это самый гибкий язык, и можно написать что хочешь + отличная поддержка самого языка, и разных платформ.
13 Кб, 946x699
#301 #705675
>>705674
Пик отклеился. Смехатично, но думаю ясно.
>>705682
#302 #705682
>>705675

> Смехатично


А то!
#303 #705684
>>705674
Ты уже писал раньше на крестах? Если нет учи питон. А лучше не надо самому это делать.
>>705685
#304 #705685
>>705684
Да в общем не особо, год назад хотел выучить ++ чтобы игры писать. Но на начале учебника забил на это дело, но простейший функционал знаю, остановился на векторах, вроде бы.
Сложной выглядит задача?
>>705687
#305 #705687
>>705685
Да. На 2 года тебе работы.
>>705688
#306 #705688
>>705687
А нормальному программисту?
>>705689
#307 #705689
>>705688
Месяц.
>>705691>>705692
#308 #705691
>>705689
За пару недель можно, если регулярно (но не напрягаясь) работать и не на крестах.
#309 #705692
>>705689
А в чём различие написания программ на С, ++ и питоне?
Как я понял, на них можно написать одно и то же?
>>705694>>705695
#310 #705694
>>705692
Учить дольше. На крестах писать сложнее.
>>705696
#311 #705695
>>705692
Плюсы сложны, в си мало готовых фич.
>>705696
#312 #705696
>>705694
>>705695
Просто, обычно если я выбирал программы, то старался использовать те, которые были написани на С -> ++ -> Python.
Да и я иногда читаю что программанейм была переписана с крестов или питона на чистом С, т.е. для меня С это как знак качества и производительности.
Или я что-то не так понимаю?
>>705705
#313 #705701
>>705308

>Хуже: русские.


Ещё хуже: русские в психушке
>>705702
#314 #705702
>>705701
Евреи в мраморных офисах с душем.
#315 #705704
Кротоны, что быстрее: стд::вектор + стд::сорт или стд::сет, если на руках 5 тыщ элементов?
#316 #705705
>>705696

>производительности


Да, в среднем, но не всегда. Язык на производительность влияет меньше, чем ты думаешь.

>качества


Нет. На си в среднем выше качество программистов. Потому что многие из них - старперы с хх годами опыта. Что к тебе, очевидно, никакого отношения не имеет. Собственно криво написать на нем наоборот намного проще.
>>705711
#317 #705706
>>705704

> стд::вектор + стд::сорт


сет не предназначен для сортировки
>>705713
#318 #705711
>>705705
Ну и добавлю, что на производительность в программах, которые сами по себе несложные и незатратные, всем в принципе похуй.
#319 #705712
>>705674

> А на ++ я слышал что это самый гибкий язык


Тебе явно напиздели, это далеко не так.
#320 #705713
>>705706
скорее, сет всегда отсортирован по определению.
>>705724
#321 #705716
>>705674
Возьми qml. Кресты конечно тоже понадобятся изнутри, но ты избежишь маразма по имени "говнякать интерфейс на крестах".
>>705719
#322 #705717
>>705704
Если доьавляешь элементы один раз, то вектор+reserve+sort+ будет самый быстрый вариант.
Если потом еще надо добавлять, то upper_bound.
Вытаскивать элементы через lower_bound.
#323 #705718
>>705657

>Блокнот пишется просто


Лол, сразу видно, что ты никогда не работал с крестовыми либами для рич текста. Там обычно такой ад с пауками, если пытаешься шаг в сторону сделать.
#324 #705719
>>705718
>>705716
Поясните, что за пауки и проблемы с интерфейсом на крестах?
Я тот ньюфаг.
>>705723
#325 #705721
>>705718

>Блокнот пишется просто


Где там про рич текст-то?
#326 #705722
>>705718
Обычный QLabel, блять.

Разве что ад будет когда захочешь сделать множественный курсор как в саблайме, иначе - все включено.
>>705728
#327 #705723
>>705719
Короче, интерфейс на крестах - это Qt. Хотя по большей части Qt - это стандартная библиотека крестов, без которыми ими пользоваться для прикладных задач практически нереально.

И вот, интерфейс пишется на языке qml - декларативное описание всей хуйни, для функций - жабаскрипт. А вся технология целиком - QtQuick, смешение крестов/qml/жабаскрипта - все это нужно чтобы писать нормальные гуевые приложения.

Можно хуярить по старинке виджетами, но это ад и сто шагов назад тихо на пальцах
#328 #705724
>>705713
Это для интов так.
>>705727>>705735
#329 #705727
>>705724
Для всего же. Там же по хешу ебошится, неважно что внутри, не?
>>705744
#330 #705728
>>705722

>QLabel


>рич текст


арчюю этого:

>ты никогда не работал с крестовыми либами для рич текста

>>705731
#331 #705731
>>705728
QLabel тебе не рич текст?
Оно даже HTML CSS до определенной поры отображать может, разве что минет не делает.
>>705733
#332 #705733
>>705731
Да и блокнот уж точно, а возможно и органайзер целиком сто пудов есть в демках к Qt, ищешь-изучаешь-допиливаешь.
#333 #705735
>>705724
Для всего. Ты путаешь с unordered_set
>>705744
#334 #705744
>>705735
>>705727
https://ideone.com/qfu3Gw Он не может их отсортировать. Но да он всегда отсортирован по определению
>>705750
#335 #705750
>>705744
А компаратор кто определять за тебя будет? Феечка?
>>705752
#336 #705752
>>705750
Именно. В сет его нельзя. У встроенного класса не положено. А в сорт передать можно. Значит сет не предназначен для сортировки.
>>705755
#337 #705755
>>705752
Можно же всегда свою функцию сравнения передать. Так же, как и в сорт.
>>705760
#338 #705760
>>705755
В сорт я могу сначала одну лямбду передать потом другую. А в сет только в шаблоне можно компаратор передавать. Это почти тоже сатое что и в класс вписать равнение.
>>705761>>705766
#339 #705761
>>705760
В сете данные всегда отсортированы, але.
>>705769
#340 #705766
>>705760
То есть ты имеешь в виду, что несмотря на то, что сетом можно отлично сортировать что угодно, он не предназначен для сортировки, потому что синтаксис получается менее красивый, чем у сорта?
>>705769
#341 #705769
>>705761
Нет если класс не предназначен для сортировки. Тогда нужно передать компаротор. А у сета это делается 1 раз. На этапе компиляции.

>>705766
Тоже нет. Полохо не потому что некрасиво, потому что нельзя одни данные двумя компараторами отсортировать в отличии от вектор+сорт.
>>705771>>705772
#342 #705771
>>705769
У тебя не получится не передать компаратор, если ты будешь хранить типы, которые он не знает как сравнивать.
>>705773
#343 #705772
>>705769

>А у сета это делается 1 раз. На этапе компиляции.


И в чем ты видишь проблему-то?

>одни данные двумя компараторами


Два сета.
>>705774
#344 #705773
>>705771
Этот случай был выше. Он просто не скомпилируется.
#345 #705774
>>705772

>Два сета.


Вдвое больше памяти. Или тратить время на копирование.
>>705775
#346 #705775
>>705774
Наконец-то адекватный аргумент. Вот так сразу бы.
#347 #705782
>>705704
Если у тебя все значения известны изначально (загнал пять тысяч потом отсортировал) то лучше использовать вектор, если постоянно добавлять-удалять то сет. У сета выше накладные расходы по памяти, с точки зрения сложности алгоритма - сложность у них одинаковая, но так-то с вектором чуть больше работы потому-что его сначала заполнить нужно а потом отсортировать (сет сортируется при заполнении). Но внутри сета происходит пердолинг с указателями, тоесть в общем работа с вектором будет чуть быстрее, скорее всего. Это если тебе не нужно будет удалять некоторые элементы из вектора.
>>705783>>707718
#348 #705783
>>705782
Блять, для пяти тысяч вся эта хуйня вообще не важна, и писать нужно так, как короче и проще.
#349 #705794
Я всё тот же ньюфаг с органайзером, есть небольшой вопрос...
>>705801
#350 #705801
>>705794
Есть небольшой ответ...
>>705803
#351 #705803
>>705801
Вот что хотел спросить. Я давно искал программу, которая бы делала скриншоты игр и других окон, но все мне не подходили.
А в каком-то треде мне сказали что есть какие-то мелкие скрипты на принтскрин, который захватывают текущее окно и выводят куда мне надо, и в них отсутствует чёрный экран.
Это правда? Легко на ++ написать?
#352 #705853
>>705634
Бамп.
#353 #705860
>>705634

>ML


Напиши факториал/фиббоначи
>>705861>>707933
#354 #705861
>>705860
За пару месяцев?
>>705869
#355 #705869
>>705861
Ну можешь за минуту написать.
Но если есть желание - можешь писать пару месяцев.
>>705876
#356 #705876
>>705869
А ML тут при чём?
>>705877
#357 #705877
>>705876
Просто честно говоря, я слабо представляю, что можно реально написать на этой чисто функциональной параше.
>>705885
#358 #705885
>>705877
Ты щас про язык?
Я про машинное обучение. Ни в ИБ ни в ML не разбираюсь. Хотя шарю в архитектуре компьютера и алгоритмах. За пару месяцев надо хоть чему-то в этом научиться и хоть что-то написать. Будет быстрее если писать буду на крестах.
>>705888
#359 #705888
>>705885

> Ты щас про язык?


>или ML. Учить дрругой язык времени нет.


Я подумал, что ты на ML что то хочешь написать, лол.
>>707935
#360 #705890
Если по машинному обучению...
Ну, напиши прогу, которая будет распознавать макакину капчу.
Хоть с какой то вероятностью. По любому надо будет дохуя параметров и обучать эту парашу.
>>705891
#361 #705891
>>705890
Отлично. И как это сделать? Что перед этим надо знать?
>>705893
#362 #705893
>>705891
Пфф, хуй знает. Но у тебя же есть 2 месяца.

По идее, чистить изображение от помех, бить на блоки/цифры и пытаться обучить свою парашу их угадывать
>>705899
#363 #705898
Сап аноны.
У меня вопрос по поведению функции select.

Использую ее, чтобы проверить готовность файлового дескриптора (на самом деле сокета) на чтение или запись.
Так вот, при первом запуске программы, когда файловый дескриптор еще не был использован, т.е. это просто int, равный 0, функция при проверке этого "дескриптора" возвращает таймаут (результат работы функции select == 0).

Если же я в программе заюзал дескриптор, поработал с ним, корректно закрыл его функцией close(), то при следующей проверке функцией select, она уже вернет -1, т.е. ошибку.

Вопрос, почему так? Мне надо, чтобы никакого таймаута не было в ситуации, когда select проверяет еще не использовавшийся дескриптор, потому что это явный косяк.
>>707935
#364 #705899
>>705893
Не про то. Я же не умею даже с изображениями работать. Нужен курс по которому я разберусь как такие алгоритмы писать и всё такое. Вспомнил ШАД от яндекса. Ушёл гуглить. Есть что-то ещё?
#365 #705917
>>704726
удвою..
geany для питона.. всяких конфиг-хуенфиг файлов.. *.sh фигни для удобства..
а eclipse если файл стоит открытия этого тяжеловеса
#366 #705921
Если map реализован на красно-черном дереве, почему вставка в него - O(1)?
>>705923
#367 #705923
>>705921
Кто тебе такое сказал?
В стандарте вообще написано, что вставка в map за logn. Про красно-черное дерево ничего не написано. Но все реализуют красно-черным деревом.
За константу вставка в unordered_map.
>>705928
#368 #705928
>>705923
Все время юзал, думал, что О(1), ппц.
#369 #705932
На gcc 4.8.4 что можно больше, чем unsigned long long найти можно?
#370 #705936
>>705932
напши свой
#371 #705938
>>705932
напши свой
>>705939
#372 #705939
>>705938
Это, конечно, можно, но я в таком случае лучше на питон пойду
>>705940
#373 #705940
>>705939
это не сложно прикинь!10 строк
>>705941
#374 #705941
>>705940
Вот сейчас не понял. Я думаю, ручками длинную арифметику писать надо
>>705956
#375 #705956
>>705941
вроде берешь выделяешь байтов памяти скока нужно..
и циклично пишешь мол скинуть/прибавить бит сверху в случае переполнения/окончания предыдущего..
..
в unsigned должно работать..
как ты провернешь это? я бля не представляю.. я просто хочу узнать что хранится в ебаном /dev/video0 и бля я походу вкатился к вам на долго! но я код пишу хуевенька
#376 #705958
>>705932
Возьми джяву или опенмп
>>705961
#377 #705961
>>705958

> опенмп


А нет, это другое.
>>705963
#378 #705963
>>705961
Вот нашёл: GMP
#379 #705989
Куда кидать документы .h , чтобы их потом вызывать #include в хелоувордах ?
#380 #706000
>>705989
Куда хочешь. Более разумно под каждую библиотеку отдельное местоположение выделять, но тут возможны нюансы. Нужно потом только указать комрилятору где искать (настроить в ide).
>>706006
#381 #706004
>>705989
Я тупо кидаю в соседний каталог и инклужу "../liba/header1.h"
>>706010
#382 #706006
>>706000
Покажи настройку. Я скинул скинул этот файл в папку с проектом, а мне вс пишет: Unable to start program ...<путь к проекту> The system cannot find the file specified.
ЧЯДНТ?
>>706039
#383 #706010
>>706004
Я новенький. Где они лежат ?
#384 #706039
>>706006
Читай докуметацию к своему компилятору или ide.
#385 #706074
Ананасы, вопрос по синтаксису.
Меня Qt просто в ступор вгоняет своими файлами, с миллионом наследований, пространств имен, что я понять нихрена не могу.

Вот простейший код:
http://pastebin.com/Ti2f3SpX

При коньпеляции выводит:
"%localpath%/mainwindow.cpp:30: error: undefined reference to `test::test()'":

Как мне поправить, чтобы я мог области гуевого приложения видеть самописный класс (test)? Делать отдельный хедер под класс не варик.
#386 #706096
>>705989
За щеку себе кинь, дегенерат.
#387 #706119
>>706074
Что такое test();?
>>706192
#388 #706120
>>706074
Ребята, помогите Даше найти, где определена функция test::test().
>>706128
#389 #706128
>>706120
Это же конструктор. Там где ошибка без скобок напиши.
>>706196
#390 #706129
Занимаюсь олимпиадками, и тут возник вопрос про потоки ввода/вывода.
Насколько я понял, есть сишные stdin/stdout и плюсовые cin/cout. И те, и те синхронизированы с IO-потоками ОС.
cin/cout работают медленно. Люди советуют отключать синхронизацию: std::ios_base::sync_with_stdio(0), но это не всегда помогает.
Так вот, я не могу понять, как подать какие-то данные в stdin. В первую очередь для отладки решений, не меняя кода. В cin можно загрузить, используя cin.rdbuf(), но scanf() их не увидит. Какие варианты?
#391 #706138
>>706129
В старом треде были экспериментики https://arhivach.org/thread/94972/#511941
Решили что cin/cout также хорошо справляются если размер буфера увеличить. В олимпиадках даёт 128 мегабайт и если 1 из них на буфер потратить, то ничего страшного. Даже быстрее сишного варианта работать будет.
>>706154
#392 #706139
Котаны, под винду на MFC гуи мышкой можно натыкать? Дотнет при запуске не потребует?
>>706146
#393 #706146
>>706139
Конечно потребует.
>>706152
36 Кб, 640x427
#394 #706150
>>705989
в гуглодоки или на onedrive
некоторые советуют использовать skype
#395 #706151
>>706074

> с миллионом наследований


пиздишь, максимум одно, когда будешь перегружать какую-нибудь QAbstractHuitaModel

>пространств имен


Тоже пиздишь, там одно пространство имен, qt namespace
>>706204
#396 #706152
>>706146
Какие сейчас есть варианты простого создания GUI приложений под винду на плюсах без дотнета?
>>706162>>706168
#397 #706153
>>706129

>Насколько я понял, есть сишные stdin/stdout и плюсовые cin/cout. И те, и те синхронизированы с IO-потоками ОС.


Есть сишные stdin/stdout и cin/cout читают/пишут с/в них. (Пока ты не запретишь им синхронизироваться).

> cin/cout работают медленно


Что, прямо так медленно, что заметно?

> Так вот, я не могу понять, как подать какие-то данные в stdin.


Берёшь и без задней мысли подаёшь.

> В первую очередь для отладки решений, не меняя кода


Поясни подробнее, чего ты хочешь.
>>706156>>706167
#398 #706154
>>706138
Вроде неплохо.
#399 #706155
>>706129

>Занимаюсь олимпиадками


>cin/cout работают медленно


Всегда знал, что олимпиады по программированию — бесполезное дерьмо для дегенератов.
Пиздец задача: затюнить cin/cout.
>>706157>>706178
#400 #706156
>>706153

>Что, прямо так медленно, что заметно?


Не проходят решения.

>Поясни подробнее, чего ты хочешь.


В задачах на вход подаются какие-то данные. Чтобы не копипастить каждый раз примеры для проверки, нужно, чтобы перед исполнением они уже были в stdin'е.
>>706158>>706160
#401 #706157
>>706155
Не злись, я еще школьник.
#402 #706158
>>706156
Пайпы же.
>>706160
#403 #706160
>>706156

> В задачах на вход подаются какие-то данные. Чтобы не копипастить каждый раз примеры для проверки, нужно, чтобы перед исполнением они уже были в stdin'е.


Сунь в файл и подай программе на вход: ./proga < in.txt
>>706158
Хуяйпы.
>>706170
#404 #706162
>>706152
Qt. Может FTLK посмотри.
#405 #706167
>>706153

>и cin/cout читают/пишут с/в них


И, кстати, ты не прав. Синхронизация идет не между ними, а между общим потоком программы.
stdin and cin connect to the same thing (the program's standard input), as do stdout and cout (standard output) and stderr and cerr (standard error)
http://www.drdobbs.com/the-standard-librarian-iostreams-and-std/184401305
>>706174
#406 #706168
>>706152

> GUI приложений


>на плюсах


Мсье знает толк...
#407 #706170
>>706160

>Сунь в файл и подай программе на вход: ./proga < in.txt


Геморно, я ж с IDE работают.
В идеале как-то добавить в стандартный запуск такую штуку. Буду пробовать.
>>706172>>706186
#408 #706172
>>706170
Что мешает в ide засунуть бля?
#409 #706174
>>706167
Ну и как тогда понимать
27.4.1 [iostream.objects.overview]
1 The header <iostream> declares objects that associate objects with the standard C streams provided for by the functions declared in <cstdio>
#410 #706178
>>706155
Кстати я лучше всех кресты знаю из олимпиадников своего региона. Они дипломы взяли, а итератором по мапу ходить не умеют. А учитель вообще #include <bits/stdc++.h> пишет. Думаю они потом на джаву перекатятся.
>>706212
#411 #706183
test
>>706191
80 Кб, 825x609
#412 #706186
>>706170

>Геморно, я ж с IDE работают.

>>706189>>706356
#413 #706189
>>706186
Во, то, что надо.
#414 #706191
>>706183
Не так. test::test();
>>706196
#415 #706192
>>706119

Конструктор, вестимо.
144 Кб, 1920x1080
141 Кб, 1920x1080
#416 #706196
>>706191
>>706128

Пробовал убирать скобки, не особо помогло.
>>706197>>706213
#417 #706197
>>706196
Ну а definition где для test::test()?
>>706207
167 Кб, 1920x1080
#418 #706204
>>706151

Я прочитал полторы книжки по крестам и нихуя не могу понять этот синтаксис.
Там такого не было. Может книжки сильно старые, хз.
>>706206>>706217
#420 #706207
>>706197

Что ты имеешь в виду? Вон там выше класс определен, че не так?
Я не понимаю.
#421 #706212
>>706178

>#include <bits/stdc++.h>


Что не так?

Мимо призер всероса
>>706234
#422 #706213
>>706196

>Пробовал убирать скобки


Но ведь ты их не убрал.
test *t = new test;
>>706216
#423 #706216
>>706213

>test t = new test;


И в чём отличие от
test
t = new test();
>>706219>>706221
#424 #706217
>>706206
>>706204

Блять, это же конструктор банальный. Сука, какой же я даун.
#425 #706219
>>706216

> test()


Это не тип а функция. Когда пишешь new он ожидает, что ты ему тип назовешь чтобы понять какого типа указатель создавать. А ты ему какую-то функцию скармливаешь которой у тебя даже нет и вообще это конструктор.
>>706226>>706231
137 Кб, 1920x1080
#426 #706221
>>706216

Я просто поленился еще один скрин делать.
Вот, смари.
#427 #706223
>>706221
Где скобки после test?
Тут тебе не дишка, вробе бы так нельзя.
#428 #706224
>>706221
Стоп, а какого хуя у тебя класс в .сpp описывается?
>>706237
#429 #706226
>>706219

Есть идеи, как правильно написать, чтобы класс MainWindow (типа основное окно приложения) увидел класс test?

Короче, изначально я руководствовался вот этой статьей:
http://vasinnet.blogspot.ru/2012/08/recommended-way-to-using-qthread.html
>>706227
#430 #706227
>>706226
Ты ебнутый? Опиши класс в хидере!
Откуда он узнает про него узнутри его самого?
>>706228
#431 #706228
>>706227
Стоп, ебусь в глаза.
>>706233
#432 #706231
>>706219

>Это не тип а функция


http://ideone.com/yO55MW
это https://isocpp.org/wiki/faq/ctors#empty-parens-in-object-decl к динамическому созданию объектов не относится
>>706241
#433 #706233
>>706228
Где сам test() то описан, блять?
Я только определение вижу, а реализации нет.
>>706240
#434 #706234
>>706212
Эта же хуитка не в стандарте, а только на олимпиадных площадках?
>>706239
#435 #706237
>>706224

Какая разница, где его описывать?
Раскидывать его на test.h и test.cpp мне будет весьма неудобно, внутри этого класса должны юзаться функции из того файла, где он на скрине. Я их писать пока не стал, чтобы не смущали.
#436 #706238
>>706221
class test : public QObject {
Q_OBJECT
public:
test();
virtual ~test();

Вот тут после test 2 скобки напиши фигурные {}
>>706254>>706256
#437 #706239
>>706234
Возможно. Но ведь всегда можно и вручную наподключать, если надо
#438 #706240
>>706233

>Где сам test() то описан, блять?


Ему это уже полтреда говорят.
>>706256
#439 #706241
>>706231
Понял. Конструктор по умолчанию.
141 Кб, 1920x1080
#440 #706254
>>706238

Clean all && qmake не помогают, лол.
#441 #706256
>>706254
>>706240
>>706238

В интернетах все твердят про отдельный хедер и цпп с реализацией.
Видимо придется использовать этот геморный вариант.
#442 #706257
>>706254
QObject это что? Конструктор у него виртуальный?
>>706260>>706266
#443 #706259
>>706256
Необязательно. Но в хедере все инлайнится, так что для больших кусков кода будет трешак.
>>706265>>706266
#444 #706260
>>706257

>Конструктор


>виртуальный

>>706261
#445 #706261
>>706260
Стоп, а как делается наследование? Он же только виртуальные функции заменяет.
>>706267
#446 #706263
>>706256
Если тебе нужен доступ к классу только из одного cpp-файла, можешь прямо в нём запилить этот класс. и объявление и реализацию. Только у тебя реализации не было конструктора test()
#447 #706264
>>706256
Чем тебе поможет отдельный хедер в том что ты задекларировал конструктор но не предоставил его реализации?
#448 #706265
>>706259

> Но в хедере все инлайнится


definition внутри классов хоть и имеют неявный inline, к реальному инлайнингу в смысле вставки в место вызова это не обязано приводить.
#449 #706266
>>706257

>QObject это что? Конструктор у него виртуальный?


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

>>706259

>Необязательно. Но в хедере все инлайнится, так что для больших кусков кода будет трешак.



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

Наверное рационально будет мой класс в хедер+цпп, функции тоже в хедер+цпп. А потом хедер с функциями подключить в классе. А класс уже подключить в хедере GUI.
#450 #706267
>>706261
Ты как-то вообще про наследование мало знаешь.
>>706269
#451 #706269
>>706267
Пойду ещё почитаю. Сами тогда ему помогайте.
>>706270
#452 #706270
>>706269
Ему уже давно помогли, но он че-то проигнорировал совет и решил что отдельный файл исправит синтаксические ошибки.
>>706275
#453 #706275
>>706270

В посте >>706254 имеется скриншот с пустой реализацией конструктора, че-т не сильно помогло, если ты об этом.
>>706278
#454 #706278
>>706275
А если отключить варнинг?
>>706289
#455 #706289
>>706278

А это можно как-то сделать? Это ж не warning, а самый настоящий compilation error.

В общем, я ради интереса изобразил то же самое, но с раскидыванием на отдельные файлы. Компилятор схавал без проблем. Придется смириться. Но это уже завтра, хватит на сегодня.
>>706296
#456 #706296
>>706289

>В общем, я ради интереса изобразил то же самое, но с раскидыванием на отдельные файлы.


Ах, да. Qt != C++ же. Хидеры qmake прогоняет через MOC. Когда как для объявления класса в .cpp-файле этого не произойдёт.
>>706300
#457 #706300
>>706296
Я не могу код с qt компилировать другим компилятором? И как библиотеку его подключить не могу?
>>706303
#458 #706303
>>706300
Класс со всякими public slot: не является валидным для C++. Хидер с объявлением такого класса прогоняется через MOC, после чего все эти slot-ы превращаются в валидный C++.
>>706309>>706310
#459 #706309
>>706303
Значит я могу обычным компилятором подключить нужные мне хейдеры из qt если прогоню их через специальный парсер?
#460 #706310
>>706303
Кстати это до препроцесора С++ делается или после?
>>706311
45 Кб, 499x366
#461 #706311
>>706310
Обратитесь к документации.
#462 #706346
Че за хуйня с cin.get()? Пишу ,значит, два числа: одно число, энтер, другое число, энтер, энтер и ответа нет - сосноль закрывается, а когда пишу system("pause"), то она выдает ответ и только если я еще раз нажму, то закроется. Может я что не так жму ? Еще хотел бы спросить: cin>> x >> y; то можно будет два числа просто через пробел ввести ? (это не относится к тому, что я выше написал, там итемы другого класса, здесь хочу узнать про простые переменные int)
>>706355
#463 #706355
>>706346

> ответа нет


Ответ есть, просто твой жалкий человеческий мозг не в состоянии его заметить до того как консоль закроется.
>>706364
#464 #706356
>>706186

Ага, эт тема.
Сделай так же, ток наоборот
[code lang="c"]
#ifdef HER
freopen(...);
#endif
[/code]
и пропиши себе в IDE компилять с -DHER

А вообще щас вроде модно стало одновременно класть input.txt и подавать его же на stdin.
В итоге системе пофигу откуда ты прочтешь, а тебе не надо извращаться
>>706361>>706381
#465 #706361
>>706356

> и пропиши себе в IDE компилять с -DHER


Он не найдёт, где это делается.
проще #if 1/#if 0 прописать
>>706365
#466 #706364
>>706355

> ответа нет - сосноль закрывается


В глаза ебемся или ты совсем не гуманитарий, что можешь прочекать и найти ошибки в коде из тысячи строк за минутку, но не можешь прочесть два предложения? Хуй соси. Несите следующего.
Может я что не так написал, но что я имел ввиду: что я не могу оставить консоль, чтобы ответ посмотреть из-за того, что когда числа нет и я жму просто энтер - она выводит ответ и закрывается.
#467 #706365
>>706361

>Он не найдёт, где это делается.



А ведь я все удивляюсь, как можно хуячить нефиговые алгоритмы и при этом ваще не понимать "как эта шутка работает"
хотя сам был таким ><
20 Кб, 667x346
#468 #706381
>>706356
Уже сделал заебок.
>>706382>>706391
#469 #706382
>>706381
глаза вытекли с кода
>>706386
#470 #706386
>>706382
Олимпиадник же
>>706389
26 Кб, 746x540
#471 #706389
>>706386
Не, я пхпшник. Олимпиадки только начинаю.
>>706391
#472 #706391
>>706389
>>706381

Еще скажи, что у этих скринов общий создатель
>>706393
#473 #706393
>>706391
Да. Это я.
>>706395
161 Кб, 1284x300
#474 #706395
>>706393
Прям проорал
>>706396
#475 #706396
>>706395
Ок, отключу сглаживание для моноширинных шрифтов.
>>706411
#476 #706411
>>706396
надо было всю функцию в одну строчку писать, че
>>706415>>706422
#477 #706415
>>706411
Вообще есть штука __gcd(), но она только на gcc. Приходится костылить.
#478 #706422
>>706411

>надо было всю функцию в одну строчку писать


Так нечитабельно.
#479 #706616
Долго тред в бамплимит не уходит.
>>706624>>706633
#480 #706624
>>706616
У школьников каникулы же
181 Кб, 1280x427
#481 #706633
>>706616
D лучше C++. Дискасс.
#482 #706637
>>706633
Вот когда стану модером, тогда выгоню всех дэфорсеров из крестотреда.
>>706640
#483 #706640
>>706637
Тебя GC удалил, мусор.
#484 #706643
Пиздец, последнюю неделю как раз после d-срача в треде нихуя интересного. Одни лабомрази вкатываются - видимо, очередной модуль в универе закрывают.

Выкатился еще на неделю.
#485 #706648
>>706633
Оба говно
33 Кб, 680x816
#486 #706659
Анон, есть такая дрисня на пике, это решение задачи на maps'ы: https://www.hackerrank.com/challenges/cpp-maps/submissions/code/18953044

У меня возникают подозрения в этой строчке:

>sheet[student] += mark;



Здесь в хэш-таблицу помещается новая пара, если ее не было, и инкрементируется значение, связанное с ключом. STL гарантирует, что при записи нового значения типа int оно инициализируется нулем, а не чем-нибудь еще?
>>706662>>706885
#487 #706662
>>706659
size_t поставь. Точно 0 будет. А вообще просто вызывается T2 value();
#488 #706665
Поцоны, читаю книгу Лафоре ООП, уже 70 страниц прочитал, и сам могу написать без подглядываний только "Привет, мир!". Это нормально?
>>706674
#489 #706674
>>706665

> Лафоре


Ну он там вроде первых страниц 100 именно этим и занимается, наверное норм.
>>706693
209 Кб, 1115x780
#490 #706693
>>706674
Да нет, уже и программу для вычисления площади круга описывает.
Только что прочитал, что 1000000000 можно записывать как 1.0E-9, и нихуя не знаю, как это делать.
>>706701>>706703
#491 #706701
>>706693

>1.0E-9


это 10^-9
>>706707
#492 #706703
>>706693

> вычисления площади круга


Это тот же хелловорлд. Тебе нужно внимательней прочитать тчо он про манипуляторы пишет. Нужно выставить нужный тебе формат числа, что-то типа std::cout << std::fixed << std::setprecision(16) << qwee; Нужно подключить <iomanip> И 10 в девятой будет 1.0Е9 а не 1.0Е-9
>>706707>>706712
#493 #706707
>>706701
Но в книге именно Е.
А так - ошибка.

>>706703
Ничего не понял, что ты мне объясняешь, рано для меня, видимо.
>>706709>>706711
#494 #706709
>>706707

>Но в книге именно Е.


1.0E9
>>706714
#495 #706711
>>706707
Надеюсь ты школьник а не 30-ти летний вкатывальщик.
>>706714
#496 #706712
>>706703

>std::cout << std::fixed << std::setprecision(16) << qwee; Нужно подключить <iomanip>


printf
248 Кб, 1115x780
#497 #706714
>>706709
пик

>>706711
Почему тебя это волнует?
>>706717
#498 #706717
>>706714

>Почему тебя это волнует?


Потому что вкатывальщиков у нас тут хватает.
>>706718>>706724
#499 #706718
>>706717
Наоборот. Школьников хватает.
#500 #706722
Оп тут? Хочу перекат и новый стишок.
>>706736
#501 #706724
>>706717
Какая разница-то между вкатывальщиком 30 лет и вкатывальщиком - школьником?
>>706725
#502 #706725
>>706724
15 лет
#503 #706727
Есть класс с полем а и есть функция-член этого класса с локальной переменой а. Как из этой функции получить доступ к полю класса а?
>>706735
#504 #706735
>>706727
Код покажи.
>>706740
#505 #706736
>>706722
ебать доска быстрая?
Аноны.. я просто хотел узнать о потоке /dev/video0
в последних трех тредах годноты -- веток 5 из 20
хватит топить треды.. т.к. найти годноту надо скролить про то как .h в иде законектить и как сделать lab1_ans=a+b
..
может будем адекватами и не будем раковать хотябы в ставшем мне любимым треде?
#506 #706740
>>706742
#507 #706742
>>706740
Забыл добавить. Он должен вывести 1.
>>706744
#508 #706744
>>706742
this->a
>>706758
#509 #706758
>>706744
A::a идиоматичнее
#510 #706761
>>706633
В какой области?
>>706789
#511 #706764
Поясните, действительно такая гадость возможна?
https://ru.wikipedia.org/wiki/C++#.D0.A2.D1.8F.D0.B6.D0.B5.D0.BB.D0.BE.D0.B5_.D0.BD.D0.B0.D1.81.D0.BB.D0.B5.D0.B4.D0.B8.D0.B5
Приведение типов
Некоторые преобразования типов не интуитивны, хотя могут производиться неявно. В частности, операция над беззнаковым и знаковым числами порождает беззнаковый результат; однако, в аксиоматике теории множеств множество натуральных чисел (N) является подмножеством множества целых (Z), а совместное использование элементов разных множеств допустимо лишь на уровне общего надмножества — то есть интуитивным было бы получение в результате целого (знакового) числа, но в С++ происходит наоборот, и возникает риск труднообнаружимой ошибки[22].

22 http://rsdn.ru/?article/cpp/XXtraps64bit.xml
По ссылке подобного не нашел.
>>706772
#512 #706772
>>706764
http://ideone.com/oFJaj3
Сам посмотри
>>706800
408 Кб, 1092x873
#513 #706774
Это книга такая дырявая, или что?
>>706775>>706776
#514 #706775
>>706774
Всё, понял. Там запятые типа.
#515 #706776
>>706774
long pop1 = 1, pop2 = 2;
Запятые там
#516 #706789
>>706761
Dизайна языка.
>>706813
#517 #706790
>>702133 (OP)
Парни мне нужна библиотека для mvs, чтобы построить графики.
1) График по функции, например y = x;
2) График по таблице, например x = 1, 2, 3; y = 2, 3, 4
Какие библиотеки можно юзать? Желательно, чтоб не сильно геморно прикручивалась.
>>707464
#518 #706800
>>706772
http://ideone.com/0XO6xB
А так все получается нормально
>>706811>>706815
#519 #706811
>>706800
Конечно, потому что ты даешь ему понять, что хочешь инт. Но по умолчанию будет unsigned, как и написано в вики
#520 #706813
>>706789
Да, D лучше
#521 #706815
>>706816
#522 #706816
>>706815
Ты форматируешь unsigned int, как int
http://ideone.com/50NJyG
>>706827
#523 #706827
>>706816
Теперь понял.
#524 #706885
>>706659

>STL гарантирует, что при записи нового значения типа int оно инициализируется нулем


Da
#525 #706915
C++ - язык для байтоебства. Но какие стандартные байтоебские задачи можно порешать?
>>706924
#526 #706924
>>706915
оно должно быть в крови

>>706864
>>706902
>>706927
#527 #706927
>>706924
То есть я должен что угодно уметь превращать в байтоебство?
>>706929
#528 #706929
>>706927
почему бы и нет? нахера озу засирать?
#529 #706931
Посоветуйте книжку по ООП формата:
Теория - пару практических заданий - опциональные советы по практике

В синтаксис и стл уже умею
>>706937
#530 #706937
>>706931
ну на самом деле там да, много тонкостей.. но Бьерн Страуструп же!
..
а по сути трогай ооп больше. Больше вникнешь.
>>706942
#531 #706942
>>706937
Так я просто не знаю, зачем трогать. Мне и в процедурном стиле норм. Проще структурку описать и функций рядом насобачить
>>706948
#532 #706948
>>706942
ну когда пишешь лабу -- да.
но я мимо тот байтоёб который писал игру байтоёбя когда стал работать с большим количеством однотипных, но разных классов/структур. понял что можно взять однотипную вешь и пихнуть её в отдельный класс/структуру, а остальные классы.структуры будут меньше и даже не изменятся!
+ работа с дочерними классами упростится.
..
..
например.. у нас есть бочки ящики оружия..
делаем класс с позицией из вектора vec3 и двумя производными по ней.
унаследуем всё всё от него.
и потом перерасчитываем все разные классы одной формулой!
..
сколько ты будешь трахатся с этой таской в процедурном стиле?
зы я смотивировал?
>>706952>>706995
#533 #706952
>>706948
Не, это я понимаю. Наверное, мне просто это пока не нужно. Хотя мой знакомы даже олимпиадные задачки решает в ооп-стиле
>>706955
#534 #706955
>>706952
ну я щас эклипс подстроил пиздец как под себя от цветов до хоткеев.
мне удобно капец как нажать хоткей и печаткать новый класс одной левой чем в файлике main.цпп что-то городить..
да и пишешь больше 200 строк в файле и открываешь его в ебанутом редакторе (на телефоне в гите) охуеваешь его скролить! а так красиво.. все на своих местах.. понятно
>>706957
#535 #706957
>>706955
Можно вопрос? Ты под чем?
>>706959>>706962
#536 #706959
>>706957
под лизуном
#537 #706962
>>706957
фриэлэсде
или ты о чем?
#538 #706983
Компилятор крашится после ввода
Хотя в онлайн компиляторе все работает
Что за хуйня?
>>706984>>706985
#539 #706984
>>706983
что за компилятор? ос?
>>706989
#540 #706985
>>706983
Код показать не хочешь? Лог ошибок?
>>706989
#541 #706989
>>706984
dev c++
windows 10
>>706985
cpp.sh/6dm3
>>706992>>706997
#542 #706992
>>706989
У меня в gcc под линем все нормально. Проблемы у твоего компилятора
>>707007>>707107
#543 #706995
>>706948
struct vec3 {
float x, y, z;
};
struct box {
vec3 coords;
};
Ну и зачем тут твое ооп?
>>707007
#544 #706997
>>706989
В крестах нельзя делать динамический массив на стеке. В некоторых компиляторах можно (gcc). Выделяй память в куче.
>>707057
#545 #707007
>>706992
gcc FreeBSD
гоу крч срачеос

>>706995
затем что у дробовика есть функция стрелять, а коробку вот ты написал.

struct drobavik_kobain_lololo : box
{
void babah_alax();
}
все. мы делаем дробаш коробкой, которая умеет стрелять. не переписывая коробку
#546 #707009
Как отнять один из элементов массива от среднеарифметического?
sum - a[x]?
>>707010
#547 #707010
>>707009
a[x]-=sum
>>707011
#548 #707011
>>707010
sum-=a[x]
#549 #707017
Сука, ну не правильно высчитывает эта блядина.
Мне надо, чтобы находилось среднее арифметическое а1,..,an без элемента a[x], который вводит пользователь, но он выводит все неверно.
cpp.sh/2x24v
>>707020>>707024
#550 #707020
>>707017

> cpp.sh/2x24v


Ты точно не налажал с нумерацией массива? В программе у тебя с нуля, а вводишь ты что?
>>707021
#551 #707021
>>707020
И делить тогда надо не на n, а на n-1
#552 #707024
>>707017
cpp.sh/4mtl
А что не так?
>>707027
#553 #707027
>>707024

> cpp.sh/4mtl


Ну, если пользователь введет 4, тебе надо какой элемент от начала не считать? 4 или 3?
>>707028
#554 #707028
>>707027
тогда сделай sum-=a[i-1];
>>707030
#555 #707030
>>707028
Ага, и деление на n-1
#556 #707033
Теперь еще и на этот сайт не заходит блядь.
>>707034>>707035
#557 #707034
>>707033
Не нервничай
>>707035
#558 #707035
>>707033
>>707034
Главное, на двач заходит
#559 #707039
Я ебал, легче заново код переписать.
#560 #707057
Вроде сделал рабочий код, теперь осталось решить проблему с компилятором.
Выше мне сказали
>>706997
Но я не понял о чем идет речь.
>>707069
#561 #707058
ОП в треде, скоро все будет. Блядь, зря я рассчитывал, что тренд до завтра дотянет.
#562 #707069
>>707057
Вместо int arr[n]
int звёздочка arr = new int[n];
В конце
delete arr[];
>>707100
#563 #707100
>>707069

>delete arr[];


А не delete[] arr?
>>707104
#564 #707104
#565 #707107
>>706992

> Проблемы у твоего компилятора


Нет.
#566 #707219
Поясните тупому за move семантику. Мы же когда пишем просто ссылку мы не копируем объект. Зачем это вообще нужно?
>>707225>>707276
#567 #707225
>>707219

>Зачем это вообще нужно?


Для move-конструкторов.
998 Кб, 312x176
Мэтт Матьего Деймони #568 #707254
Гайз, доброй ночи.
Вопрос чуть не в тему треда,.
но это мой любимый тред, и я надеюсь парни подскажете.

короче ищу вакансии джуна или стажера на плюсах.
но в городе где ищу - на данный момент таких вакансий не очень много.

Поэтому решил просто писать письма всем компаниям, которые выложили вакансии разработчиков c++.

Подскажите плиз, как в сопроводительном письме правильно напроситься на стажировку\"на работу на полставки" в компанию?
#569 #707258
>>707254

>знаю, что вероятность не очень большая, что прокатит.


>но попробовать хочу - хуже не будет.


>вот только думаю, как бы правильно оформить это дело.

>>707450
#570 #707260
>>707254
Что кроме лаб писал?
>>707268>>707450
#571 #707268
>>707260
никаких суперпроектиков не пилил, если ты об этом.
поэтому и хочу напроситься на стажировку или на полставки.

>просто есть вариант пойти на QA, и потом возможно съебать в девелоперы, но это ведь такой круг, да и QA не особо мне поможет, когда опять буду искать ++..


>поэтому и хочу напроситься хоть на полставки или на стажировку.

>>707450
#572 #707276
>>707219
Бывают случаи, когда скопировать ссылку на объект нельзя. Например, когда ты возвращаешь объект, созданный внутри функции. Если вернуть сслыку, то она будет ссылаться на уже уничтоженный объект. А копию делать может быть очень затратно.
#573 #707288
>>707291>>707294
sage #574 #707291
>>707294
#575 #707294
>>707288
>>707291
Вверх-вниз, вверх-вниз. Туда-сюда, туда-сюдааа.
#576 #707316
как же хочется перекатика
и тред без лаб
102 Кб, 493x500
#577 #707450
#578 #707462
>>702236
UE4 на с++
#579 #707464
>>706790
бамп
#581 #707718
>>705782
Вобщем вектор+сорт конкретно в моём случае лучше, т.к. сначала можно сделать ресёрв, потом нужно сорт+юник+сорт другим компаратором. В конце необходим доступ по индексу, т.е. сет вовсе не подходит, т.к. по нему прыгать нельзя, только взад-вперёд елозить.

Кста, кто-нибудь знает, можно ли в бинарном дереве организовать произвольный доступ со сложностью быстрее чем О(Эн)?
#582 #707933
>>705634
>>705860
Или что-то наподобе left-pad.
#583 #707935
>>705888
>>705898

>просто int, равный 0


0 - это возможно стандартный ввод или вывод, отсюда и растут лапы
Тред утонул или удален.
Это копия, сохраненная 28 апреля 2016 года.

Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
« /pr/В начало тредаВеб-версияНастройки
/a//b//mu//s//vg/Все доски