Двач.hk не отвечает.
Вы видите копию треда, сохраненную 7 мая 2016 года.

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
361 Кб, 1009x1300
Оффициальный™ традиционный® C++ тред #29 #707568 В конец треда | Веб
Владей собой среди макак глумливых,
Кресты хулящих за нехватку фич;
Терзая код профайлером пытливо,
Рантайма эффективность увеличь.
Пусть ненамного - важно лишь стремленье,
Тобою байтов взнузданный полет;
Смотри на них со страстью, вожделеньем,
Пусть на тебя глас Бьерна снизойдет.

Храни дизайн, не став рабом паттернов,
Тестируй, не завязнув в TDD,
В давнишнем коде вдруг почуяв скверну,
Не забывай о собственном труде.
Останься тверд, когда твой храм оплеван
Статьями не осиливших глупцов;
Когда стандарт меняется, и снова
Ты должен изучать язык с основ.

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


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


#2 #707570
Сагану даунов.
#3 #707589
>>707568 (OP)

>хулящих


>взнузданный


Кто-нибудь кроме опа знает такие слова?
>>707591>>707649
#4 #707591
>>707589
Я знаю.
У опа ошибка.
Должно быть взнузданных, потому что взнуждаешь байты а не полет
>>707616
#5 #707594
ОП, успеешь к юбилейному треду стишок на инглише написать для разнообразия?
>>707604>>707616
#6 #707604
>>707594
Не благодари.

Vladey a mocking among macaques,
Crosses for blaspheming the lack of features;
Terzi code profiler curiously,
Runtime efficiency is increased.
Let not much - it is only important aspiration,
Thee bytes bridled flight;
Look at them with passion, lust,
Let your voice on Bjorn descend.

Keep the design, without becoming a slave to the patterns,
Tested, not zavyaznuv in a TDD,
The long-standing code suddenly sensed the filth,
Do not forget about your own work.
Stay firm when your temple spat upon
Articles do not overpower the fools;
When the standard is changed, and again
You have to learn the language with the basics.

Be adamant with dzhavapetuhami,
Be indifferent to the purity of borscht,
Be generous with the one-eyed snake slaves
They libu throwing with his master's shoulder;
Be patient platinum issues
To lazy to govnolabami be strict.
Then you'll be the king among the debris,
Then, my son, you will Krestobog.
#6 #707604
>>707594
Не благодари.

Vladey a mocking among macaques,
Crosses for blaspheming the lack of features;
Terzi code profiler curiously,
Runtime efficiency is increased.
Let not much - it is only important aspiration,
Thee bytes bridled flight;
Look at them with passion, lust,
Let your voice on Bjorn descend.

Keep the design, without becoming a slave to the patterns,
Tested, not zavyaznuv in a TDD,
The long-standing code suddenly sensed the filth,
Do not forget about your own work.
Stay firm when your temple spat upon
Articles do not overpower the fools;
When the standard is changed, and again
You have to learn the language with the basics.

Be adamant with dzhavapetuhami,
Be indifferent to the purity of borscht,
Be generous with the one-eyed snake slaves
They libu throwing with his master's shoulder;
Be patient platinum issues
To lazy to govnolabami be strict.
Then you'll be the king among the debris,
Then, my son, you will Krestobog.
>>707607
#7 #707607
>>707604

>Then, my son, you will Krestobog.


Охуенчик.
#8 #707616
>>707591
И так и так можно же. Взнузданный ~ обузданный, а обузданный в отношении процесса это вполне себе часто применяемый оборот. Например, чаще говорят "обуздать гнев кого-то", чем "обуздать гневного кого-то". Хотя это уже метафора такая скорее, но энивей. В принципе, тут можно было бы и поменять, да, размер не пострадает даже, но тогда смысл чуть-чуть другой становится, не "ты обуздал полет байтов", а "ты обуздал байты и они летают себе на поводках". Крестотред - самый филологичный тред зекача, лол.
>>707594
Боюсь, что тогда получится говно. Я, конечно, могу в ангельский, но не настолько, чтобы пилить стихи уровня Лозинского на нем.
>>707619>>707815
#9 #707619
>>707616
Один анон статистику собирал по грамотности, там кресты тоже победили.
Мэтт Матьего Деймони #10 #707630

>


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

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

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


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

:
- Анон, Что кроме лаб писал?
- никаких суперпроектиков не пилил, если ты об этом. поэтому и хочу напроситься хоть на стажировку, хоть на полставки.
>>707642
102 Кб, 493x500
Мэтт Матьего Деймони fix #11 #707635
просто есть вариант пойти на QA,.
Но сомневаюсь, потому что если в итоге все равно хочу свалить в девелоп, то QA ведь не особо мне поможет, верно ведь?
#12 #707642
>>707630
Ищи мелкие компании без NDA-практики, дальше просто пиши прямым текстом предложение поработать за еду. Мало кто отказывается от почти бесплатного junior junior developer.
#13 #707649
>>707589
Ну "хулить" знают все, кроме, может быть, родившихся позднее 2000.
71 Кб, 639x639
#14 #707815
>>707616

>Боюсь, что тогда получится говно. Я, конечно, могу в ангельский, но не настолько, чтобы пилить стихи уровня Лозинского на нем.

#15 #707832
>>707568 (OP)

>чистоте борща


Борщ это что?
>>707835>>707836
#16 #707834
Ребята. Может кто-то видел гайд по /dev/video0 на крестах.
я просто слишеом много ищю и вайпаю этим эти треды чтобы игнорить эту тему. Здесь же есть красноглазики и понимающие потоки!!!
>>707845
#17 #707835
>>707832
Это такая окрошка, но чем-то похожа на холодник.
>>707837
#18 #707836
>>707832
Еда такая.
#19 #707837
>>707835
Что под этим словом подразумевалось в ОП-стихе?
>>707838
#20 #707838
>>707837
Очевидно, Haskell.
>>707843
#21 #707843
>>707838
Какие-то вы путанные, товарищи крестобляди.
#22 #707845
>>707834
Чего ты всех доёбываешь тут?
>>707857
#23 #707846
Аноны, помогите зеленому. Нужна прога, что б при ее включении она вставляла в поле ввода определенный набор символов. С меня печенье
>>707854
#24 #707854
>>707846
Очевидный AutoIt.
>>707873
#25 #707857
>>707845
пойми..
живу в общаге.. и тут у меня сервак под бсд для моих целей важных хранение дцп и я надеюсь что мои коды запуска атомных ракет никто не стащит благодаря i3lock но всякие прохожие лапают пек ирл по сетке я спокоен вроде ну и я просто хочу стащить скрин с вебки того кто трогал i3lock и лил мне не e-mail. и на linux решение есть.. но в бсд нет! и надо писать! самому!
>>707859
#26 #707859
>>707857
добавлю что пек для кодинга на цпп и сервак -- одна железка
21 Кб, 686x356
#27 #707864
лучше поздно чем никогда
>>707870>>707874
#28 #707870
>>707864

>пик


Зачем ты так? Мне теперь труселя стирать
#29 #707871
>>707568 (OP)
А при наследовании какие конструкторы проигрываются?
Папкин и дочерний при вызове дочернего?
>>707942
#31 #707874
>>707864
Этот анон задал вопрос и пропал. Ему двое ответили, а он молчал. Спасибо я вместо него сказал. Это немного не настоящий случай. Наверно он всё таки не такой тупой был.
>>707946
#32 #707942
>>707871
Только собственный, папкин нужно самому вызывать в дочернем
>>708144>>708299
#33 #707946
>>707874
Ну ладно.
>>707947
#34 #707947
>>707946
Больше не будешь его постить?
>>707991
#35 #707955
Посоветуйте книжку, чтобы вкатиться в современные плюсы. Много лет назад читал первое издание страуструпа, еще без шаблонов, с overload и iostream.h.
>>707986
#36 #707986
>>707955
В шапке все книги хуевые, да еще и на английском многие. Правильно, что ты на них не обратил внимания. Лучше читай Ишкову, "Изучаем C++ на задачах и примерах". В России про C++ отличные книги пишут, это все знают. Еще могу порекомендовать Белова, "Основы программирования на языке C++ Builder". Ну а если из иностранных, то самая-самая лучшая книга это Рао, "Освой самостоятельно С++ за 21 день".
>>708004>>708007
#37 #707991
>>707947
Посмотрим.
#38 #708004
>>707986
ето троллинк?
#39 #708007
>>707986
Ну толсто же. Да и где в шапке книги?
>>708032
#40 #708032
>>708007
А шапка-то волшебная, попробуй страницу обновить.
>>708041
231 Кб, 1101x785
#41 #708038
Господи! Да я же программирую! Оно работает!
Первое упражнение Лафоре С++. Оцените говнокод
#42 #708041
>>708032
Обновил, ебаная магия. Но вопрос-то стоял как "книжка для продолжающих". Нахуя мне объяснения, кто такой if, зачем нужен виртаульный деструктор, и чем ссылка от указателя отличается? А вот, например, зачем нужен nullptr, и как компилируются эти ваши шаблоны, я бы почитал. На самом деле, штрауштрупа principles and practice 2015 года скачал, все правильно сделал?
>>708057
#43 #708048
>>708038

> float


Это тебя Лафоре такому научил?
>>708052>>708348
#44 #708052
>>708048
Именно, а что не так?
>>708379
#45 #708057
>>708041
А теперь ткни МОАР под литературой для ньюфагов и узри.
#46 #708112
Что почитать по всяким подводным камням C++? Ну типа там порядок вызова конструкторов базовых классов и проч.
#47 #708134
>>707568 (OP)
В раздел заходя, первым делом ищу ваши треды, чтоб насладиться стихами, излечить раненную душу
#48 #708144
>>707942
спасибо
#49 #708228
>>707568 (OP)
Это кто питона глаза лишил, рысь?
#50 #708267
Итак, задам свой вопрос сюда как C++ кодер.

Для начала - на случай своего ухода на фриланс - насколько фриланс на С++ перспективен?

Ну и второй вопрос - джуниор с Украины с образованием по программистской специальности и двумя годами опыта но опыта не особо удачного. Подробности описывать долго... Так вот - скажите критерии по которым можно определить потяну ли я на миддла?
Хочу в общем-то съебать в Харьков(личные причины почему именно туда) из меньшего по размеру(и зарплатам программистов) города и думаю на какую зарплату я могу рассчитывать. Сейчас получаю 400 баксов, хотя не устраивает не столько зарплата сколько то что в последнее время меня перекинули разрабатывать на iOS и Objective-C из-за отсутствия проектов на С++.
>>708288
#51 #708288
>>708267

>насколько фриланс на С++ перспективен?


Нинасколько.

>Так вот - скажите критерии по которым можно определить потяну ли я на миддла


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

>Хочу в общем-то съебать в Харьков


Пытаться съебать без оффера - хуёвая идея, лучше сначала поищи области где есть именно подобные проекты по твоему вкусу, если тебе принципиально.
>>708293
#52 #708289
И да - единственная возможность фриланса на плюсах на апворке и всякой удалёнке. На второе (как возможно и на первое) без хорошего портфолио не попадёшь.
#53 #708293
>>708288

>Нинасколько.


Вот этот вопрос особенно интересует. Почему так? Мало проектов? А почему их мало?
И если уж действительно так - то что из наиболее близкого перспективно для фриланса. Та же решетка перспективна?
>>708304
#54 #708299
>>707942
При создании объекта унаследованного класс сначала вызывается конструктор родителя, затем потомка. Или о чём он спросил?
#55 #708304
>>708293

>А почему их мало?


Потому что у языка ниша такая. Попробуй пораскинуть мозгами.
>>708306
#56 #708306
>>708304
Ладно, ок... Жду ответа на другой вопрос:

>И если уж действительно так - то что из наиболее близкого перспективно для фриланса?



И матерю свой родной вуз за обилие матана и недостаток изучения языков программирования.
#57 #708348
>>708048
Что не так-то, алё?
>>708379>>708656
#58 #708372
Подскажите, почему нельзя сделать std::vector<char const* const>. Компелятор ругается, но сложно понять на что именно.

Я даже не могу сделать std::vector<const std::string> или std::vector<const std::int>.
>>708414
#59 #708379
>>708052
>>708348
Видимо подразумевается недостаточная точность 4-х байтного флоата
>>708606
#60 #708395
>>708038
У меня вопрос - как оно не выругалось на "7, 481"? На всякий случай скажу что число с плавающей точкой вводится как "7.481". А оно у тебя делит на 7.
>>708406>>708475
#61 #708406
>>708395
https://msdn.microsoft.com/uk-ua/library/zs06xbxh.aspx - а, ну да, всё правильно.
>>708407
#62 #708407
>>708406
В смысле правильно что не выругалось. Есть такая операция, но тебе она сейчас не нужна.
#63 #708414
>>708372
Вектор требует копируемость и присваиваемость элементов.
Зачем тебе вектор констант? Почему не констатный вектор? Ну или array попробуй, там, вроде бы, можно константы
#64 #708423
Сап, аноны. Нид хелп. Кто может переписать программу с этого непонятного языка (маткад вроде) на плюсы?

Нихуя в маткадах не понимаю, код там дан полностью, нужно лишь переписать под си, буду благодарен

http://study.sfu-kras.ru/DATA/docs/ProgramTheory/recurs/hp_eiler.htm
#65 #708475
>>708395
Спасибо, чет упустил
#66 #708502
>>708423
Это типа ответ? Хули такой мелкий?
>>708504
634 Кб, 1080x1525
#67 #708504
>>708502
Пик забыл.
#68 #708508
>>708038
А setlocale(LC_ALL, "Russian") ты тоже у Лафоре нашёл?
>>708851
#69 #708528
Кстати, давно хотел узнать у местных - кто как относится к ПЕРЕперегруженным оператором вроде << у cout и всяких стримов, которые превращают код в растянутое дерьмище.

Мимо юзающий printf и перегружающий только арифметические операторы.
>>708536>>708555
18 Кб, 2936x104
#70 #708529
Вбрасываем запоминающиеся цитаты из книг.
#71 #708536
>>708528

>printf


Ты че там делаешь, ты че ебанутый?
>>708542
#72 #708542
>>708536
Ох блядь. Если бы я увидел у себя в коде cout << hui << zalupa или stringstream piska; piska << "kek " << goabaw; - убил бы нахуй вместе с мамашей и обоссал бы обоих, скинув позже с балкона, ровно как и людей с ООП головного мозга делающих геттеры и сеттеры НА КАЖДЫЙ СУКА выпук, даже когда поле полностью редактируется извне и не модерируется классом.
#73 #708552
>>708529
Люто бешено проиграл!
#74 #708555
>>708528
Твой printf - говно, в него не выведешь содержимое любого класса.

А я привык хуячить в концольку для дебага всю внутреннюю хуйню - массивы, деревья, сеты - все нахуй.
>>708566>>708601
#75 #708566
>>708555
Только в cout это тоже не вывести, если не запилить заранее этот функционал.
>>708568>>708575
#76 #708568
>>708566
В cout нет, а в qDebug - как два пальца обоссать.
>>708577
#77 #708575
>>708566
Просто крестоебы слишком тупые и не смогли запилить принтф как в джяве.
>>708577
#78 #708577
>>708568
В кудебаге то же самое (разве что кутейные типы нормально форматируются на выводе).
>>708575
Да тебе и в крестах никто не мешает на каждый выпук прописывать функцию toString в классе.
>>708588
#79 #708587
Нахуя нужно RPC, когда можно сделать обычное API?
#80 #708588
>>708577

> В кудебаге то же самое (разве что кутейные типы нормально форматируются на выводе).


В кудебаге работает со всеми кутейными типами и классами, а в куте есть типы и классы на абсолютно все случаи жизни, а для своих просто перегрузишь этот стрим.
#81 #708601
>>708555
Иди ебись с мютексами при выводе через cout в несколько потоков
#82 #708606
>>708379
Совершенно очевидно, что подразумевается тормознутость и ненужность float всюду, кроме эмбеддеда с действительно маленькой памятью. Вычисления-то все равно на даблах проводятся.
>>708611
#83 #708608
>>708529
В какой это книге?
>>708625
#84 #708611
>>708606

>тормознутость и ненужность float


Схуяли он тормознее?

>Вычисления-то все равно на даблах проводятся


Если ты их делаешь на х87, а не на SSE с флоатами.
>>708632
#85 #708625
>>708608
Прата, в шапке есть
#86 #708632
>>708611
Ну так у него не SSE было, а просто объявлена единственная float. Моветон-с.
>>708651
#87 #708651
>>708632
А потом ты такой делаешь objdump и видишь, что операции даже с единственным floating point компилятор делает с помощью SSE, а не на FPU.
>>708805
#88 #708655
>>708423
бамп
>>708657
#89 #708656
>>708348
Да все норм, просто если бы у Лафоре был дабл а ты решил вписать флоат то это не сильно идея. Хотя флоаты конечно не стоит использовать, если нет каких-то особых причин.
#90 #708657
>>708655
Все тоже самое, только вместо стрелочки =. И в последней строке ретурн, даже если он там не указан.
>>708670
3 Кб, 585x162
#91 #708670
>>708657
где otv нихуя не понятно же.
>>708677
#92 #708677
>>708670
Верхний это рекурсивный вызов функции Eul, средний вызов функции augement, последний - return otv.
#93 #708747
У меня вопрос - я верно понимаю что плюсы в последнее время сдают позиции?
>>708751>>708758
#94 #708748
Сука блять, хули в QtCreator дебагер такой уебишьный? Мне что, писать в QtCreator дебажить в MVS ?
>>708752>>708769
#95 #708751
>>708747
Смотря в какой области.
>>708759
#96 #708752
>>708748
пиши тоже в MVS
>>708762
#97 #708758
>>708747
Они на плаву только из-за легаси, причём не только в виде кода.
>>708759
#98 #708759
>>708758
А в виде чего ещё?
>>708751
А можешь по областям расписать?
>>708784
#99 #708762
>>708752
Но QtCreator удобней!
#100 #708769
>>708748
Чем хуевый?
Я пока заметил минус, что он не показывает элементы динамически созданных массивов.
>>708787
#101 #708784
>>708759
Плюсы ориентированы на производительность. Игры, бекенды, ембедед. Было есть и будет. Вопрос скорее к популярности этих областей.
мордокнига на плюсах, азаза
>>708786>>708807
#102 #708786
>>708784
Я тут недавно на хх нашел ребят у них и фронтенд на крестах.
>>708794>>708807
#103 #708787
>>708769
>>708769
Показывает ебическое нагромождение типов при шаблонах, и нужно развернуть 100500 вложений, перед тем как добраться до значения, не показывает значение переменных вне зоны видимости. Где вотч?
>>708788
#104 #708788
>>708787
Там же gdb, не? Должен уметь
#105 #708794
>>708786
Десктоп или веб?
У нас на девайсах пока что связка ядра на плюсах и гуи на яве/обжц/свтфт. Но уже глядят и пробуют Qt
>>708811
#106 #708805
>>708651
Где пруфы, Билли?
>>708810
#107 #708807
>>708786
>>708784
Тащемта, и макаба на крестах.
мимоинсайдер
>>708809
#108 #708809
>>708807
Olopepe к успеху пришел?
#110 #708811
>>708794
hh.ru/vacancy/14737881
#111 #708851
>>708508
Нет, в гуголе, а что?
>>709295
#112 #708854
Как заставить скомпиленую в студии софтинку не требовать всякие mscvp100500.dll?
>>708875>>708899
#113 #708875
>>708854
Зафигачить релиз версию?
>>708899
#114 #708899
>>708854
>>708875
Нет, не так просто. Надо в настройках компиляции проекта изменить MD (для релизной версии) и MDd (для дебаг-версии) соответственно на MT и MTd.
>>708907>>711901
#115 #708907
>>708899
Вот это помогло, спасибо.
15 Кб, 196x266
#116 #709117
Только начал изучать кресты, сильно не бить.
Не могу понять на данном примере, вот если книжек 10-20 это терпимо.
А если их 100500? Создавать 100500 переменных? А если изначально не знаю сколько будет книжек? Как тогда быть?
#117 #709120
>>709117
Надо создать массив этого типа
>>709123>>709133
#118 #709123
>>709120
Book book[100]; так?
>>709130>>709203
#119 #709130
>>709131>>709133
#120 #709131
>>709130
а потом через цикл for заполняешь
>>709133
#121 #709133
>>709120
>>709130
>>709131
спасибо, я понял
#122 #709142
>>709117
Создаешь вектор, динамически его заполняешь, в векторе хранишь указатели на книги, если книг очень много - используешь пул.
#123 #709175
>>709117
cost не должна быть float - деньги все равно целочисленные, как ни крути
>>709185
#124 #709185
>>709175
Более того - она еще и неотрицательная.
#125 #709203
>>709123
Нет, используй std::array.
>>709207
#126 #709207
>>709203
Но нахуя?
#127 #709295
>>708851
Если дошёл уже до упражнения, где надо выводить значок фунтов, то расскажи как сделал, а то я каждый раз переключал локаль, а позднее вообще убирал русские символы из листингов.
#128 #709300
Мне пару тредов назад посоветовали написать змейку, я наконец до нее добрался. http://pastebin.com/xgXFAx84 если у кого-то есть немного времени и желания покритикуйте, а то я, поди, лютого говна понаписал и даже не в курсе.
#129 #709339
>>709300
Начнем с того, что ебаный шакал - скрипт сборки кто за тебя писать будет?
Держи http://pastebin.com/uj7jXJFf

Во вторых - символ в терминале не квадратный, а узкий-высокий, что вытекает в пиздец высокую скорость по вертикали.
>>709357>>709528
#130 #709357
>>709339
Какой еще скрипт? Накой он мне? Я ж просто код просил покритиковать. Про вертикальную скорость я знаю, но пока решил так оставить.
>>709381
#131 #709381
>>709357

> Я ж просто код просил покритиковать.


Как ты предлагаешь "критиковать код", не собрав эту хуиту, не поработав с ней и вообще не зная, блять а компилится ли она вообще?
#132 #709385
>>709300
1. direction надо через енум сделать. какие нахуй 0, 1, 2, 3?
2. placeFood: зачем юзаешь сяшный ранд, а, нигодяй? юзай плюсовый генератор
2.1 зачем делаешь for (auto x : snake)? ты же по значению x передаёшь, передавай по ссылке auto& x
3. .h это сяшные хэдэры. в плюсах они .hpp или .hxx
4. Game() ctor: чему не через лист инициализации заделан?
5. и зачем в мэйне создаёшь объект Game на хипе? у тебя джава головонога моска?
делай Game game{}; и обращайся к методам через точку. и тогда delete gm не нужен
#133 #709389
>>709385

> 3. .h это сяшные хэдэры. в плюсах они .hpp или .hxx


Не пизди, hpp или hxx это что-то виндовое и нераспространенное.
Везде и всюду .h В крестах
>>709392>>709448
#134 #709392
>>709389
Хотя, в opencv таки hpp.

Но в Qt везде .h.
>>709402
#135 #709402
>>709392
Дело вкуса. Можно сделать хоть .hui
>>709404
#136 #709404
>>709402
Об том и речь. Нехуй доебываться.
#137 #709416
>>709385
4 не понял. Где почитать как надо делать?
>>709420>>709448
#138 #709420
>>709416

Забей, тебе просто ябут мозги насчет С++11.
#139 #709435
>>709385

>Игра про змейку


>Нет класса змейки


Дальше не читал
#140 #709439
>>709300
list поменяй на вектор. list не cache friendly. И с вектором в памяти норм одним куском будет, а не как со списком.
>>709470
#141 #709448
>>709416
>>709416
http://en.cppreference.com/w/cpp/language/initializer_list
на рашкованском понятие может по другому называться.
У тебя Game() { peremenaya1 = huita; peremenaya2 = drugayaHuita; }
что лучше сделать Game() : peremenaya1{ huita }, peremenaya2{ drugayaHuita } {}

>>709389
приличные люди .h для сяшных либ используют. http://stackoverflow.com/questions/152555/h-or-hpp-for-your-class-definitions хотя каждый обмазывается тем, чем хочет
>>709451
#142 #709451
>>709448
Ящитаю, что Qt - вполне приличные люди, и придерживаюсь их кодестайла.
>>709455
#143 #709455
>>709451

> Qt - вполне приличные люди


> boost идеален


> "единый" синтаксис инициализации через {} не сломан


начальник
НАЧАЛЬНИК
он обосрался
>>709458>>709459
#144 #709458
>>709455

> "единый" синтаксис инициализации через {} не сломан


Че?

>boost идеален


Чебля? Эта наркоманская хуита, которую читать невозможно, в которой ошибки на километры туалетной бумаги из шаблонного говна - это идеален?

Да вы ебанутые.
>>709460
18 Кб, 300x210
#145 #709459
>>709455
а по тебе видно, что ты пограмист, да
>>709460>>709475
#146 #709460
#147 #709470
>>709439
С вектором сложнее будет же. У спика в начало впихнул, с конца выпихнул и доволен, а вектор весь переебывать придется, не?
>>709569>>709585
#148 #709475
>>709459
А по тебе видно, что ты мозахист. Без шуток.
#149 #709500
Помогите. Как эту хуйню закрыть теперь?
Теперь не могу стрелочками перемещаться по строкам вверх-вниз, а это окошко листает какие-то варианты.

И ещё, где решения скачать для упражнений?
И какого хуя уже во 2й главе задания не соответствуют тому, чему обучался?
65 Кб, 1059x530
#150 #709506
>>709500
Ой, забыл
>>709507
#151 #709507
>>709500
>>709506
Esc нажми, ну ёбанарот
>>709512
#152 #709512
>>709507

Дак нажимал же, не пропадала чому-то.
Сейчас вроде норм всё.
#153 #709518
>>709500
Блять, и в этом треде еще предъяву кидают, что мол в ди-тред никто не заходит, а тут всегда аншлаг?

Да потому что там таких даунов нет.
8 Кб, 184x184
#154 #709525
>>709300

> curses.h

#155 #709528
>>709339

>- скрипт сборки кто за тебя писать будет?


pkg-config --cflags ncurses
pkg-config --libc ncurses
>>709544>>713781
#156 #709544
#158 #709574
Объясните что значит указатель на какой-то тип, например [code]int * ptr[/code] это указатель на int?
>>709577
#159 #709577
>>709574
Эээ, да?
>>709629
#160 #709578
Говноеды, поясните по-хардкору, почему СТЛ критикуют за то, что нельзя от контейнеров унаследоваться, мол деструкторы невиртуальные?

Нахуй вообще в данном случае для наследования нужны виртуальные деструкторы? Один хрен ни в векторе, ни в мапе нет ни одного виртуального метода. И нахуй надо наследоваться от вектора, что бы потом его удалять через указатель?
#161 #709583
>>709569

> наследоваться от контейнера


совсем дебил?
#162 #709585
>>709470
для списка можно написать аллокатор, который будет намного дружественнее к кешу, чем однокусочный вектор, в СТЛ есть чтобы делать аллокаторы, можно даже на шаред поентерах
>>709587
#163 #709587
>>709585

>написал сраную змейку


>начали пиздеть про кэш и аллокаторы


Пиздец. А автогеном гланды из задницы вырезать не пробовали?
>>709590
#164 #709590
>>709587

> гланды в заднице


ты точно щеловекх?
>>709592
#165 #709592
>>709590

>через задницу


Ты же понял все, зачем петросянишь?
#166 #709608
>>709295
Только что дошел, и тоже хрен знает, как его выводить.

Ты-то как сделал, подробнее если?
>>709615>>709640
#167 #709615
>>709608
Букву p поставьте и не ебите мозг.
>>709623
#168 #709623
>>709615
Да походу так и сделаю.
Без пердолинга его не вывести, а Лафоре не объяснил, как это сделать, пидор старый
#169 #709629
>>709577
как понять "указатель на int"?
>>709637
#170 #709637
>>709629
Указатель - переменная, которая хранит адрес другой переменной.
Указатель на int - переменная, которая хранит адрес другой переменной типа int.
>>709643
2 Кб, 247x36
#171 #709640
>>709295

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


>>709608

>Только что дошел, и тоже хрен знает, как его выводить.


>Ты-то как сделал, подробнее если?



Спермопроблемы-спермопроблемушки
#172 #709643
>>709637

>Указатель на int - переменная, которая хранит адрес другой переменной типа int.


Если у меня например [code] int *ptr [/code] то какой тут >адрес другой переменной типа int?
>>709646>>709647
#173 #709645
>>709578
Это петушки критикуют же, аналогично тому, как критикуют отсутствие рефлексии. Вообще, когда появляется желание взять и расширить не фреймворковый, а, сука, библиотечный класс, это сразу говорит о терминальной стадии ООП межушного ганглия и неумении в нормальные паттерны с композицией.
>>709649>>709781
#174 #709646
>>709643
Ты не инициализировал указатель.
#175 #709647
>>709643
Ты сам должен это указать
int a = 10;
int* ptr = &a; // ptr указывает на a
>>709650
#176 #709649
>>709645

> и неумении в нормальные паттерны с композицией.


>Я знаю кунг-фу, дзюдо, карате и кучу других страшных слов

>>709653
#177 #709650
>>709647
А если сделать int a = (int)(&a); ?
>>709651
#178 #709651
>>709650
Очевидная ошибка компиляции, в (int)(&a) a еще не определено.
>>709656
#179 #709652
Есть ли смысл читать SICP если учишь кресты?
>>709655
#180 #709653
>>709649
Странный ты какой-то. Это же не rocket science, а сраные основы проектирования, их все знают, кроме совсем необучаемых и ньюфагов.
>>709658
#181 #709654
>>709578
Если деструктор не виртуальный и ты наследуешь от класа няша, свой класс тульпа, и работаешь с тульпой через указатель на няшу, то деструктор будет вызываться няшный. Соответственно няшный кусок тульпы удалиться, а все потомковские данные тульпы будут где-то висеть. Строго говоря, тульпа и не разрушена и не существует.
>>709686
#182 #709655
>>709652
Если хочешь выучить матан, то да.
>>709663
#183 #709656
>>709651

>ошибка компиляции


Смеялись всем комитетом. http://ideone.com/1QqLL2
>>709659
#184 #709658
>>709653
Речь о том, что они тут не к месту.
Можно эдак и на паскале процедурном писать и кукарекать, что вокруг просто все дауны и не понимают в паттерны.
#185 #709659
>>709656
Блять, но как?
И что там будет? Разве это не выстрел себе в ногу?
>>709664
#186 #709663
>>709655

> SICP


> матан


У даунов "матаном" называется всё, что они не поняли?
#187 #709664
>>709659
Это UB, так как адрес не обязан влезать в int. На 64 битах он, в общем случае, и не влезает.
>>709666>>709670
#188 #709665
>>709295
Фух, решил.
Оцените код.
>>709667
#189 #709666
>>709664

>test.cpp: In function ‘int main()’:


>test.cpp:5:18: error: cast from ‘int*’ to ‘int’ loses precision [-fpermissive]


> int a = (int)(&a);

>>709668
391 Кб, 1236x871
#190 #709667
>>709665
Бля
>>709690>>709860
#191 #709668
>>709666
Ну да.
#192 #709670
>>709664
Это да, но такие ошибки из другой оперы же. Если, скажем, сделать
[code lang="cpp"]void a = (void)(&a);[/code]
, то все будет заебца, ибо внутри инициализирующего выражения уже работает декларация самого имени.
>>709673
#193 #709673
>>709670

> то все будет заебца, ибо внутри инициализирующего выражения уже работает декларация самого имени.


Охуеть блять, и чо, можно написать int a = a?
>>709774>>712747
#194 #709686
>>709654
То, что ты говоришь - это понятно.
Вопрос в том - нахуя работать с тульпой через указатель на няшу, если у няши вообще ни одного виртуального метода нет?

Например, вот внезапно захотелось сделать вектор::пуш_бэк_эррей( массив& ), хуй с ним отнаследовались, добавили метод май_мега_вектор::пуш_бэк_эррей. Нахуя нам вообще указатель на стд::вектор, если в нём нет нового метода?
#195 #709690
>>709667
Что это за среда разработки?
>>709692
#196 #709692
>>709690
Visual Studio же.
>>709695
#197 #709695
>>709692
Благодарочка от ньюфага
#198 #709705
>>709578

>Говноеды, поясните по-хардкору, почему СТЛ критикуют за то, что нельзя от контейнеров унаследоваться, мол деструкторы невиртуальные?


Идиоты какие-то критикуют. Наследование он контейнеров не нужно.
>>709711
#199 #709711
>>709705
Что не мешает СТЛ быть говном.
>>709776
#200 #709774
>>709673
Я точно не уверен насчет того, будет ли это ошибкой/UB, но как минимум unspecified будет точно. А в случае с инициализацией адресом все абсолютно точно норм, адрес известен уже на этапе линковки.
>>709780
#201 #709776
>>709711
Не пизди. Довольно годная вещь. Единственная ее проблема - это многословность.
>>709779
#202 #709779
>>709776
Го-в-но.

Годная вещь - это Qt или phobos, последний вообще мечта.

А многословность - это огромный минус, на самом деле. Суть эволюции языков - уход от многословности, потому что ну блять - читать нереально, ни самому (когда вернешься переписывать через пару месяцев и уже нихера не помнишь), ни другим, кто твой код читать будет.
>>709783
#203 #709780
>>709774
Таки компилится, без единого варнинга.

За сишку и двор втреляю в ногу в упор, епта.
>>709782>>709784
#204 #709781
>>709645
Выводы у тебя не верные. Используя какой-нибудь адаптер, ты все равно логически расширяешь библиотечный класс. Тут суть в методах: хочешь ли ты делать это в рантайме и таскать RTTI со всеми объектами или ты хочешь хуячить максимально оптимизированный код. Тащемта рефлексия в C++ тоже будет.
>>710365
#205 #709782
>>709780
Не может быть без варнинга. Это access к неинициализированной переменной.
>>709784>>709785
#206 #709783
>>709779
Это ты тот даун, что вечно за Qt топит?
>>709787
#207 #709784
>>709780

>Таки компилится, без единого варнинга.


>>709782

>Не может быть без варнинга.



Ну вот, я же говорил:
prog.cc: In function 'int main()':
prog.cc:1:22: warning: 'a' is used uninitialized in this function [-Wuninitialized]
int main() { int a = a; }
>>709786
42 Кб, 856x501
#208 #709785
>>709782

> Не может быть без варнинга.

>>709786
#209 #709786
>>709789
#210 #709787
>>709783
Это ты тот даун, который любит ковыряться в говне, лишь крошечная часть которого в консоли ошибок будет выглядеть навроде 1> A=std::allocator<std::pair<const boost::interprocess::ipcdetail::sync_id const ,boost::unordered::iterator_detail::iterator<boost::unordered::detail::ptr_node<std::pair<const boost::interprocess::ipcdetail::sync_id,void >>>>>
?
>>709791
#211 #709789
>>709786
Энивей - у меня компилит без варнинга, сам видишь.
Алсо - в результате 0, вроде компилер не должен инициализировать переменные, но видать на практике таки инициализирует?
>>709790>>710368
#212 #709790
>>709789

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


Потому что ты не включил их.
>>709789

>Алсо - в результате 0, вроде компилер не должен инициализировать переменные, но видать на практике таки инициализирует?


Не инициализирует.
#213 #709791
>>709787
Насколько я помню, в прошлый раз ты сполна напился моей живительной урины. Почитай предыдущее обсуждение. Сейчас мне даже комментить лень.
>>709792>>709793
#214 #709792
>>709791

> Владей собой среди макак глумливых,

#215 #709793
>>709791
У вас segmentation fault, бери вилку и чисти говно.
#216 #709860
>>709667
Код - говно, даже правильность ввода не проверяешь
>>710012
157 Кб, 312x272
#217 #709862
#218 #710012
>>709860
Нахрена ее проверять? Просто вводи правильно.
#219 #710245
Нихуя не понимаю в этом QML.
Вот есть у меня два окна, получаем main.qml + main.qml.ui и foo.qml + foo.qml.ui
Как мне из main.qml вызвать окно, описанное в foo.qml.ui ? Обращаюсь по айди, пишет undefined reference. Использую loader, так оно просто встраивает окно в main.qml, а не создаёт отдельно.
>>710398
#220 #710365
>>709781
Рефлексии не будет. Никогда. Будут только опциональные костыли, напижженные из полустандартных библиотек, ядро в этом плане никак не изменят. Можете скринить.
#221 #710368
>>709789
Он имеет право инициализировать, но не обязан. Unspecified behaviour же.
#222 #710398
>>710245
Тебе нужно два окна чтоле?
>>710407
#223 #710407
>>710398
Да, одно окно поверх другого, но не диалог а именно окно.
>>710415
#224 #710415
>>710407
А диалог разве не окно, лол?

Хорошо, ща проверю и скину.
>>710438>>710476
#225 #710438
>>710415


import QtQuick 2.5
import QtQuick.Window 2.2

Window {
width: 800
height: 600
visible: true
title: 'window1'

Window {
title: 'window2'
width: 100
height: 100
visible: true
}
}
>>710442>>710476
#226 #710442
>>710438
Алсо странно, раньше окном становился любой корневой Item - Rectangle, да что угодно. А сейчас у меня получилось что-то увидеть только с корневым Window. В последних версиях Qt чего-то ужесточили?
#227 #710476
>>710415
Ну диалог вроде не от окна наследуется
>>710438
Да, это работает, но как сделать то же самое, при условии что в одном файле нужно создать экземпляр окна, объявленного в другом файле?
>>710502
#228 #710502
>>710476

> Да, это работает, но как сделать то же самое, при условии что в одном файле нужно создать экземпляр окна, объявленного в другом файле?


Ну ты свой "экземпляр в другом файле" от Window унаследуй главное, а из какого он там файла - какая разница?
>>710717
#229 #710717
>>710502
Накидал на пастбин, так проще будет:
http://pastebin.com/URte161x
>>710868
#230 #710760
Нужно сделать кнопку неактивной, если набираю текст в TextEdit. В редакторе слотов отправителя делаю TextEdit, сигнал TextChange, принимает кнопка, а слота disable() нету, как это сделать в редакторе слотов? А не из программы с помощью connect.
#231 #710833
Накидайте годных мануалов по cmake с примерами. А то из их документации нихуя не понятно что как использовать, проходится по гитхабу искать.
>>711050
50 Кб, 491x429
#232 #710855
Анон-программист оцени мой алгоритм, я правильно думаю?

Имеется 22 lvl, студент 4 курс до конца обучения еще 1 год специалист, устроен в одну контору где программирую, но нормальная работа начнется только в июлю, а сейчас просто хожу раз-два в неделю сижу за пекой и делаю тоже самое, что и дома разрабатываю графический интерфейс на Qt для баз данных.

Что хочу: стать первоклассным специалистом по C++. И вот возник вопрос как лучше этого достичь?
1. Читать книги, одновременно программировать проги?
2. Не читать книги, а постигать тонкости языка через разбор чужого кода?
3. Прочитать Струструппа, а потом двигаться по варианту 2?

В конторе, к слову, предложили вариант 2 аргументируя, что не стоит книгами забивать пока свою голову и лучше научится практическим умениям, а потом только уже копаться в тонкостях языка.
>>711053>>711449
#233 #710868
>>710717
Ты хочешь по нажатию кнопки открыть еще одно окно, причем из другого qml файла, верно?
>>711112
#234 #711050
>>710833
Martin, Hoffman - Mastering CMake
>>711101
#235 #711053
>>710855
Книгу Майерса "Effective modern c++" однозначно нужно прочитать, а остальное смотреть по мере необходимости.
>>711208
#236 #711101
>>711050

>Mastering CMake


Я хуею. "Мастеринг системы сборки". Не говорит ли это о том, что инструмент переосложнен? Так же как и гит. Охуели совсем по книге на каждую ссаку выпускать. Скоро будет "мастеринг линакс консол".
#237 #711104
>>711101

>Скоро будет "мастеринг линакс консол"


Ну привет, манька. Консоль - это просто интерфейс к системе, такая книга есть и дает знание всего линукса в деталях.
#238 #711112
>>710868
Да, так и есть.
>>711137>>711141
#239 #711113
>>711101

>Так же как и гит


Алсо книга довольно простая и разделы о интерфейсе пользователя занимают страниц 15. Вся остальная книга описывает внутренности гита и всякие фишечки про продвинутой настройке.
#240 #711137
>>711220
#241 #711141
>>711112
Спрашивай если че. Я 2 года писал на qml.
>>711220
150 Кб, 500x713
#242 #711208
>>711053
Спасибо.
#243 #711220
>>711137
>>711141
Да, сработало, благодарю.
Удобная вещь этот QML в теории, но, чувствую, я ещё поебусь с ним.
>>711221
#244 #711221
>>711220
Когда пришлось писать на виджетах после QML - я проклял все.

QML уменьшает количество кода и ебли раз в 10, без преувеличения.
>>711235
#245 #711235
>>711221
Ещё вопрос подъехал:
Хочу чтобы окно при закрытии не уничтожалось, а просто становилось невидимым. Типа:
onClose{
visible = false
}
Как в этом случае сказать системе, чтобы она проигнорировала onClose, после того как я его обработал?
>>711238>>711244
#246 #711238
>>711235
Лично у меня из QML onClose никогда не работал, я всегда в крестах класс, унаследованный от QQuickWindow там событие отлавливал. Для другой цели, правда - чтобы выдать что-то вроде диалога "вы действительно хотите выйти".
>>711243
#247 #711243
>>711238
Хотя, таки работает... Просто нужно модуль версии 2.2 грузить.

Ок, ща попробую.
#248 #711244
>>711235
Собсно, так:

onClosing: {
close.accepted = false
visible = false
}
>>711250
sage #249 #711249
Валите нахуй со своим QML из крестотреда.
>>711251
#250 #711250
>>711244
О как, неплохо. И хорошо что можно через лоадер обращаться напрямую к членам компонента, а то я уж думал сигнал придётся пилить.
>>711252
#251 #711251
>>711249
Ты даун. А QML работает из крестов, целый модуль Quick называется.

И двигло жабаскриптовое это крестовый QQmlEngine
>>711300
#252 #711252
>>711250
Ну тык, qml это одна из лучших вещей которые были созданы за последнее время. Жалко конечно, что Qt сделаны на базе крестов. Думаю, за 5-10 лет они непременно с них спрыгнут.
>>711266
#253 #711266
>>711252
И куда же они спрыгнут?
>>711268
#254 #711268
>>711266
Да хоть на ту же дишку. Многие вещи тогда из Qt можно будет выкинуть нахер, вроде строк, контейнеров, сети, QVariant, xml - кучу всего.

И тащить можно будет гораздо меньше модулей.
>>711269
#255 #711269
>>711268
Плюс нахрен не нужен будет moc, свой QObject, сигналы и слоты...
#256 #711300
>>711251
Прикинь, браузерные движки жса тоже в основном на плюсах все написаны. И виртуалка явы, ровно как и дотнета. Но они здесь не обсуждаются.
>>711301
#257 #711301
>>711300
Зато здесь обсуждаются лабы и "как закрыть эту хуйню в VS"
>>711302
#258 #711302
>>711301

>как закрыть эту хуйню в VS


Нажми Yes
>>712096
#259 #711313
Есть тут кто юзает вижуал? Сделал простенькую программу для личного пользования, но не пойму как сделать релиз билд. Написано что: ...
Всё понял, спасибо.
>>711574
#260 #711404
Все ушли нахуй?
>>711410>>711413
#261 #711410
>>711404
Ты что то хотел?
#262 #711413
>>711404
Пошли помогать создавать новый проект в студии нюфагам. Зато 30 перекатов, не то что в ди треде.
#263 #711449
>>710855
1. учишься, читая чужой legacy-говнокод
2. становишься первоклассным специалистом по C++
3. ???
4. PROFIT!
плюсы это всего лишь язык. а прикладная область у тебя какая будет, манька?
мимо-мидл-21лвл
>>711526
#264 #711484
>>708529
Кроме того, создание видеоигр и нас самих делает счастливыми. Я не думаю, что написание компилятора может сделать кого-нибудь счастливым человеком. (с) Андре Ламот
#265 #711495
Как правильно учить буст?
Разбираюсь с исходниками эмулятора WoW 2.4.3, помимо всего прочего очень много кода на бусте, приходится очень много гуглить, каждый гуглёж заканчивается новым, всё нарастает снежным комом.
#266 #711519
>>711495
Составь список используемых модулей, изучи модули.
>>711520
#267 #711520
>>711519
Это уже в процессе.
#268 #711522
>>711495
Можешь дать ссылку на сырцы эмулятора?
366 Кб, 600x486
#269 #711526
>>711449
Спасибо за ответ.

Связанная с техникой. Скорее всего создание интерфейса для радиоэлектронных устройств. К слову - это прибыльно на поприще программистов или есть более профитные области?
В идеале хотелось бы уехать из своей мухосрани после окончания вузика, имея год работы в конторе, в ДС и там в течении пяти лет заработать на квартиру. Потом свалить обратно в свою мухосрань и работать удалено. Как думаешь реализуемо?
#270 #711574
>>711313
Всё таки есть вопрос: если без установленного вижуала на компе запустить .ехе, скомпилированный с вижуала, компьютер требует вижуальыне библиотеки. А как сделать так, чтобы ростенький С++ код в .ехе запускался без них?
>>711576>>711901
#271 #711576
>>711574
очевидно, что не юзать вцредист зависимые либа, а стандартную СИ библиотеку и нативный винапи
>>711577
#272 #711577
>>711576
Я, вроде бы, не юзаю. Я в этом не мастер, но я подключил только:
#include <iostream>
И там у меня код на 10 строчек.
>>711581
#273 #711581
>>711577
Visual studio > 6 автоматом линкует с новыми версиями Си билиотек, можешь попробовать статическую линковку, но там может быть проблема с динамическими библиотеками которые потом захочется подключить.
Либо юзать 6 вижуал студию она вроде нативный мсвцрт.длл юзает. Или какой-нить простой IDE и MinGW
>>711582>>711596
#274 #711582
>>711581
А без этих программ никак не скомпилировать программу?
Я себе простенькую сделал для хапоминания и генерации паролей, и еще хотел бы её на линукс сделать.
>>711585>>714518
#275 #711585
>>711582
Если программа простенькая, то проще не морочиться , а просто линкануть статически с VC рантайм библиотекой из твоей студии.
#276 #711596
>>711581

> Или какой-нить простой IDE и MinGW


Тогда оно слинкует с libmingw или как его там.
>>711598
#277 #711598
>>711596
mingw по умолчанию msvcrt.dll линкует вроде.
>>711599
#278 #711599
>>711598
Хуй там.
>>711601
#279 #711601
>>711599
MinGW provides a complete Open Source programming tool set which is suitable for the development of native MS-Windows applications, and which do not depend on any 3rd-party C-Runtime DLLs. (It does depend on a number of DLLs provided by Microsoft themselves, as components of the operating system; most notable among these is MSVCRT.DLL, the Microsoft C runtime library. Additionally, threaded applications must ship with a freely distributable thread support DLL, provided as part of MinGW itself).

вижу, что минигв бандл либы только для мултитред приложений.
>>711602
#280 #711602
>>711601
Я Qtшные проги компилил, возможно что они всегда мультитред.

Но чужие либы оно однозначно тянет.
>>711612
26 Кб, 542x341
#281 #711612
>>711602
#include <iostream>

int main()
{
std::cout << "Hello, world!\n";
}

Что я делаю не так. Всего две зависимости?
#282 #711663
Так так так, что тут у нас. А тут у нас CLion богомерзкий.
Помогайте, посоны. Когда ввожу строку в нем, например:
http://pastebin.com/yREBsUX0
Так вот, ясно видно там, как выстрелила строчка

> background: #


Как сделать, чтобы этот хуев придурок не вытягивал их туда?!
>>711666
#283 #711666
>>711663
куда ты? он юзабельным будет самое раннее года через два.
>>711671
#284 #711671
>>711666
Трипл не пиздит.
Честно говоря, тоже так думаю. Вот все надеялся, что что-то новое выйдет, а за год сильно ничего и не поменялось.
Видать, пока что лучше использовать VS с решарпером.
#285 #711673
cpp.sh/6lsgv
Что не так? Не могу понять что за ошибка.
>>711674>>711675
#286 #711674
>>711673

>> int FindMax(Item );


в конце

>> int FindMaxPos(Item );

>>711678
#287 #711675
>>711673
FindMaxPos же
>>711678
#288 #711678
>>711674
>>711675
ругается на nullptr и 31 строку
"i does not name a type"
Насчет nullptr, я так понял что что-то с компилятором и надо что-то там подключить.
>>711680>>711681
#289 #711680
>>711678
http://cpp.sh/82mn

Заменил просто название функции и все заработало.
>>711684
#290 #711681
>>711678

>>Насчет nullptr, я так понял что что-то с компилятором и надо что-то там подключить.



У тебя там auto эио c++11 стандарт, наверно в настройках компиляции старый выбран
>>711684
#291 #711684
>>711680
Спасибо, но че то ошибка в логических операциях. Он должен выводить позицию максимального элемента, но он выводит не то.
>>711681
Как исправить это в dev c++?
#292 #711735
>>711495
Буст -- это набор совершенно разных библиотек. Нет смысла учить его целиком, разбирайся в тех модулях, что используются
>>711939
#293 #711740
Народ, я знаю что вопрос тупой, но как ли хранить в переменной символы юникода? Например ♠♥♦♣
#294 #711742
>>711740
QChar/
#295 #711771
>>711740
Хотя в нормальном языке это бы делалось как-то так:
dchar c = '\uFE0E';
>>711815
#296 #711815
>>711771
Спасибо огромное.
>>711819
#297 #711819
>>711815
Зря. В крестах это не работает. Кресты без библиотек не умеют в юникод.

Тебе нужен Qt, его QString и QChar - умеют.
#299 #711830
>>711829

>(since C++17)

>>712647
#300 #711887
Пишу курсовик на тему недостатки STL.

Что не нравиться новичкам и профи?

Уже написал, что нет сетевого модуля, в алгоритм нельзя передать контейнер одним аргументом и про избыточность интерфейса аллокаторов.
#301 #711891
>>711887
ты получишь неут за такую тему, как хорошо бы ты не старался.
>>711952
#302 #711893
>>711887
Не нравится все, не могли как в phobos зделоть...

А вообще, сравни к примеру операции над QSet и std::set.
STL выглядит как издевательство.
>>712358
#303 #711901
>>711574
Вот же ответ >>708899
615 Кб, 1218x905
#304 #711935
Продолжаю очень потихоньку изучать ООП Лафоре
Сегодня попробую изучить, что такое отладка.
Но сначала хочу узнать, что это за хрень на моем пике? Что за файлы не может найти? Программа ведь запускается и работает.
>>712115
#305 #711939
>>711735
Я уже понял, спасибо.
#306 #711952
>>711891
Неуд точно не получу, препод сам недолюбливает STL.
>>712242
119 Кб, 768x1024
Крестовик #307 #711954
Дорогие мои Креставщяне, не поможете ли мне найти очень простую библиотеку для работы с изображениями. Или хотя бы даже не библиотеку, а просто реализацию подобной задачи: мне из изображения надо изъять информацию о каждом пикселе/точке, например, если бы он был представлен в виде RGB (B,G,R), то результатом библиотечной функции был бы указатель на массив указателей значений цвета этого пикселя/точки.

Например:
.............................................................................................................................
// первый пиксель, который считываем, пусть будет закодирован цветами = 255, 255 , 255
int pixel_count = 1 // сколько пикселей считать

int mas = new int[pixel_count];
for (int i = 0; i < 3; i++) {
mas = new int [pixel_count];
}
mas = some_function_fromIMGlib(fname, pixel_count);

std::cout << mas[0][0] << " | " << mas[0][1] << " | " << mas[0][2] << std::endl;
...............................................................................................................................
Вывод будет:
255 | 255 | 255
#308 #711956
>>711954
Указатели макака съела.
#309 #711959
>>711954
openCV(cv::Mat), Qt(QPixmap)
>>711969
#310 #711960
>>711954
Поправку сделаю и надеюсь, что он ничего не скушает:
int '//' mas = new int'/*'[pixel_count];
for (int i = 0; i < pixel_count; i++) {
mas = new int [3];
}
>>711966
#311 #711966
>>711960
mas['i'] кушает, да и кушает.
#312 #711969
>>711959
А попроще нету библиотек, а то эти слишком увесистые для меня?
>>711970
#313 #711970
>>711969
А тебе они не нужны целиком, тебе только QtCore, ну и какие там модули от openCV нужны.
#314 #711996
>>711954
Посмотри Simd либу, на сорсфорже лежит
#315 #712096
>>711302
спасибо
#316 #712115
>>711935
Отладочные символы для подключаемых dll. Означает, что дебажить программу внутри dll придётся вслепую.
>>712122
#317 #712122
>>712115
Можно подробнее для нуфага?
>>712132
#318 #712132
>>712122
Когда ты собираешь программу с отладочной информацией, компилятор кладёт (в данном случае, в .pdb = program database) имена функций, типы, структуры, имена и расположение переменных и прочую информацию. Называется это все symbolic debugging information или просто символы. Когда отладчик студии стартует, он пытается подгрузить .pdb для всех .dll и .exe, чтобы их можно было отлаживать с комфортом. Для системных .dll (ведь их собирал не ты) можно настроить подгрузку .pdb с сервера Microsoft, но у тебя она либо не настроена возможно, стоит погуглить _NT_SYMBOL_PATH, либо что-то просто пошло не так.
>>712136>>712156
#319 #712136
>>712132
Ему тупо нужно скачать Windows Debugging Tools.
#320 #712147
Посоветуйте библиотеку для консольной графики и проигрывания музыки из консоли. Под линукс.
>>712152>>712155
#321 #712152
>>712147

> проигрывания музыки из консоли


Эээ, а какая разница откуда музыку проигрывать, лол?

А концолька - это ncurses
>>712154
#322 #712154
>>712152
А как вообще написать программу которая проигрывает музыку?
>>712158>>712578
#323 #712155
>>712147

>проигрывания музыки


irrKlang. Проще ничего не видел.
301 Кб, 1060x313
#324 #712156
>>712132

Включил Но пока всё равно ничего не понял. Ладно, буду изучать сегодня по книге.
#325 #712157
Поясните за буферизацию данных для вывода, о которой в каждой книге пишут. Что это за ебаный фингербокс? Например, если я пишу cout << "hui", то эти данные не должны выводиться, потому что они в буфере, который еще не заполнен. Однако таких задержек вывода я не видел ни разу.
>>712162>>712685
#326 #712158
>>712154

> А как вообще написать программу которая проигрывает музыку?


Самое простое - QSound::play("C:\muzyaka\Zapahlo Vesnoy.mp3")
>>712163
#327 #712162
>>712157
Сначала выводи много раз маленькие строки в cerr. Потом выводи тоже самое в cout. Сравни время. Длина строки 100 символов, а выводить 100000 раз. Перенаправь вывод в файл, но не в программе. Замерь время и сравни.
#328 #712163
>>712158
А без qt? Простую и лёгкую библиотеку хочу.
>>712164>>712166
#329 #712164
>>712163
А тебе не нужен Qt целиком, бака. Только QtCore + QtMultimedia.
Всего 2 модуля, из 30+. Гуй не нужен, все остальное тоже.
>>712181
#330 #712166
>>712163
http://www.ambiera.com/irrklang/
Две строки и музыка играет.
>>712169>>712172
#331 #712169
>>712166
Советовали выше по треду. Спасибо.
#332 #712172
>>712166
Забыл спросить. Умеет он из видео музыку выдирать?
>>712175
#333 #712175
>>712172
Нет. Это чисто для звука. Тогда бери qt.
#334 #712181
>>712164
Никогда им не пользовался и не хочу учить. Как это делать?

Погуглил. Mpv Вроде ffmpeg использует. Другие консольные плееры так и не понял что используют, но у них есть файл alsa.h. Можно что-то из этого использовать?
#335 #712186
Сап, аноны. Не ругайте новичка, но есть одна проблема:

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

всякая хуйня типа ЕСЛИ ВВЕЛИ ЕДИНИЦУ ТО работает вроде заебись, но вводя всякие символы типа !"№;% и тд ошибки не получаю
>>712202>>712205
#336 #712202
>>712186
И местные еще че-то гнали на Ди-тред, мол там никого нет...
#337 #712205
>>712186
Ну проверяй поток ввода на ошибки.
#338 #712242
>>711952
Тогда безразлично, очевидно же. Вон посмотри на вики статью с критикой C++, там много всего про STL.
#339 #712248
Можно ли, не объявляя конструктора присваивания, присвоить ссылке на класс адрес на указатель на этот класс?
Всегда думал, что можно, ведь мы мы просто используем адрес экземпляра класса, но пишет какую-то странную ошибку.

Простите, если непонятно написал.
Есть класс Triangle и TriangleMesh. В конструкторе Triangle я указываю родитель TriangleMesh и использую некоторые его паблик данные.

Есть конструктор(опускаю остальные аргументы).
[code]
Triangle(TriangleMesh m){
mesh =
m;
}
TriangleMesh &mesh;
[/code]

Ошибки:
error: use of deleted function 'TriangleMesh& TriangleMesh::operator=(const TriangleMesh&)'
error: uninitialized reference member 'Triangle::mesh' [-fpermissive]

Не понятно.
>>712259>>712262
#340 #712259
>>712248
Не знаю почему, но получилось починить, используя список инициализации.
#341 #712262
>>712248
Ссылки константные, объявив первый раз ссылку на объект ты не можешь "перенаправить" ее на другой объект. Можно заменить объект на который указывает ссылка другим объектом (для чего нужен конструктор присваивания). Ссылку можно инициализировать в конструкторе, в том числе из указателя. https://ideone.com/dDw6wG
#342 #712279
Я правильно понимаю, что можно создать экземпляр дочернего класса только тогда, когда у родительского класса или нету чисто виртуальных методов или они все реализованы в дочернем?
Но для обычных виртуальных функций не обязательно писать свои реализации?
>>712281>>712289
#343 #712281
>>712279
Обязательно писать вроде только те, которые = 0.
Ты не можешь создать объект класса, у которого остался хоть один чисто абстрактный метод.
>>712289
#344 #712289
>>712281
>>712279
Ладно, тогда такой вопрос:
Есть Vector<ParentClass>.
ParentClass - абстрактный, то-есть, имеет чисто виртуальные методы.
И есть ChildClass - унаследованный от ParentClass, в котором все виртуальные функции реализованы.
Могу я сделать push_back в этот вектор экземпляром ChildClass?
У меня чёт не выходит. Экземпляр класса создается, а вот при push_back пишет: cannot allocate an object of abstract type 'ParentClass'.
Может я должен какой-то хитрый каст сделать?
#345 #712303
>>712289
Заменить пушбак на emplace_back пробовал?
>>712314>>712316
#346 #712314
>>712289
Вектор не хранит элементы полиморфно же, а просто по значению. Виртуальность вообще не используется. В твоем случае при любой операции копирования/перемещения внутри вектора все элементы, которые есть в дочернем, но отсутствуют в базовом, срежутся. >>712303 не решит проблему, все равно будут дичайшие ошибки, и твое счастье, что тебе написало о попытке аллокации объекта ParentClass и копирования того, что пушится, во вновь созданный объект. А могло не повезти так, и просто срезать члены молча, порождая трудноуловимые баги.

Тебе нужно использовать unique_ptr или другую оберттку (ref, голые указатели, shared_ptr, самописные велосипеды...), чтобы задействовать полиморфизм, тогда все будет норм.
>>712331
#347 #712316
>>712303
Я попробовал. Не катит короче.
Храни тогда указатели.
>>712324>>712331
#348 #712324
>>712316
Забавно, а в дишечке с этим все норм.

abstract class AbstractTest {
void test();
}

class Test : AbstractTest {
override {
void test() {
writeln("lol, test!");
}
}
}

class Test2 : AbstractTest {
override {
void test() {
writeln("test again");
}
}
}

.......

AbstractTest[] tests;
tests ~= new Test();
tests ~= new Test2();

tests[0].test();
tests[1].test();
#348 #712324
>>712316
Забавно, а в дишечке с этим все норм.

abstract class AbstractTest {
void test();
}

class Test : AbstractTest {
override {
void test() {
writeln("lol, test!");
}
}
}

class Test2 : AbstractTest {
override {
void test() {
writeln("test again");
}
}
}

.......

AbstractTest[] tests;
tests ~= new Test();
tests ~= new Test2();

tests[0].test();
tests[1].test();
#349 #712331
>>712314
>>712316
Если использовать указатели, только еще нужно сделать
[code]
(ChildClass *)
[/code]
каст, верно?
>>712332>>712335
#350 #712332
>>712331
Где каст, зачем?

И да, () - это сишный каст, в крестах такие западло использовать же.
#351 #712333
>>712289
Храни указатели на ParrentClass.
>>712336
#352 #712335
>>712331
Нет, только если ты собираешься использовать родные методы дочернего класса, отсутствующие в родителе.
#353 #712336
>>712333
Вот так и рождаются выстрелы в ногу.
>>712338>>712641
#355 #712358
>>711887

>курсовик


>недостатки STL


>отсутствие сетевой библиотеки


Шел бы ты отсюда, исследователь

>>711893
Традиционно обоссал STL-хейтера.
>>712373
#356 #712373
>>712358

> 2016


> только завозят filesystem


> только завозят Parallelism


> нет networking


> нет graphics


> есть сферические гармоники и гипергеометрические функции


std::cout << std::top_kek() << std::endl; // Experimental feature `std::top_kek()`
>>712374
#357 #712374
>>712373

>2016


>маньки до сих пор путают STL со стандартной библиотекой


>маньки нихуя не участвуют в работе комитета, но при этом требуют внедрения фич, как от майкрософта

>>712380
#358 #712380
>>712374
Не то, чтобы это была только STL, просто от комитета подгорело

> 2016


> комитет состоящий из старперов


> решает что имплементировать в следующем стандарте


> ебля с шаблонами, или ебля с шаблонами



> 2527 год


> концептов нет


> модулей нет и не видятся


> нам нужна обратная совместимость

>>712387
#359 #712387
>>712380
Манюсь, ты хоть один пропосал читал самостоятельно? Уровень проработки вопросов просто космический и, самое главное, никто не мешает тебе, дохуя критику, отправлять свои охуительные пропосалы и критику на обсуждение.
Еще раз: фичи стандарта по сути пилят до 5 человек каждую. Обычно вообще по одному. Т.е. ranges один человек пилит в свободное от работы время, concepts - еще один, и т.д. и т.п. А ты просто слишком туп и ленив, чтобы участвовать в таком serious shit.
>>712394>>712395
#360 #712394
>>712387
Уровень проработки "бля, пасаны, а может ну нахуй это говно, 30 лет без него жили спокойно, а ещё обратную совместимость поломает, и добавит в язык 1,5 конструкций вместо 5к строк шаблонной ебли и падения компилятора с аут оф мемори и логов в 3 гб, ну нахуй".

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

Лучше вспомни сколько обсуждали вывод типов и что ихменилось. Зато 10 лет писали итераторные простыни на 5 строк кода.
#361 #712395
>>712387

> Уровень проработки вопросов просто космический


То есть реализация модулей от Шланга и Мелкомягких это дохуя юмор? Или там <= 5 человек? Бери и имплементируй, обратной совместимости все равно нет. Ах да, забыли про макросы, ну чтож, отложим на следующее десятилетие.
Пропосалы по моим вопросам уже до меня выслали. И на реддите все обсосали. Я не первый и не последний кого удивляет особая упоротость комитета.

И твоя кстати. Ах да, модно же быть нетаким как фсе, и ты со своим опытом компиляции lab4.c сидишь тут и затираешь мне про работу комитета.

> А ты просто слишком туп и ленив, чтобы участвовать в таком serious shit.


Сперва добейся? Ну давай тогда ты похвастайся своим участием в жизни языка.
sage #362 #712413
sage
>>712414
#363 #712414
>>712413

> 2:48 AM


> C++ тред


> sage


Ловите наркомана
20 Кб, 589x237
#364 #712513
Гайз, поясните нюфане за производство "Хеллоувордов", которые не будут закрываться сразу же после открытия.
sage #365 #712519
>>712513
Запускай из консоли.
Используй gеtchar для debug-версии.
Погугли, в студии вроде была возможность.
>>712544
#366 #712538
>>712513
ставь breakpoint перед return
>>712544
#367 #712544
>>712519
>>712538
Благодарю вас, уважаемые .
>>712578
#368 #712578
>>712154
>>712513
>>712544
Если ты делаешь в вижуал студии, можно еще system("pause"); использовать.
>>712593>>712619
#369 #712593
>>712578
Спасибо, приятель.
#370 #712619
>>712578
Помню много лет назад не смог сдать какую-то лабу, так как преподаватель использовал линукс для компиляции лаб и system ("pause") не прокатила. Так я познакомился с кроссплатформенным программированием
#371 #712637
Можно ли как-нибудь оттайпдефить свой unsigned-тип. Или использовать пробел в алиасе на другой тип?
Есть хеддер библиотеки, в котором используется майкрософтский unsigned _int64
Хотелось бы не править хеддер руками, а либо средствами языка, либо средствами cmake сделать его равным uint64_t.

Можно сделать #define _int64 long long, но хотелось бы что-то более кроссплатформенное.
#372 #712641
>>712336
С чего это указатели в векторе — выстрелы в ногу?
>>712646>>713670
#373 #712646
>>712641
Потому что в контексте задачи нужно только хранить значения, а указатели позволяют хранить нули и вообще мусор.
>>712648>>713670
#374 #712647
>>711830
Это для char (и вообще непонятно зачем, приписано, что только basic latin можно совать. Чем тогда от обычного char отличается?)
В строках — с С++11.
>>712652
#375 #712648
>>712646
У тебя какие-то маняпредставления о "выстрелах в ногу".
>>712653
#376 #712652
>>712647
Как мне проитерироваться по строке "I am ероха", прочитав ее из текстового файла в UTF, и получить length=10, а не 15, и чтобы были 'е', 'р', 'о', 'х', 'а', а не мусор с кракозябрами?
>>712656
#377 #712653
>>712648
У тебя какое-то маняотрицание.
>>712655
#378 #712655
>>712653
Использование указателей на базовый класс для указания на производные и виртуальные функции — это, собственно, вся суть ООП в C++. By design, так сказать.

Но в твоём манямире это называется "стрелять в ногу".
>>712658
#380 #712658
>>712655

> By design, так сказать.


Щито поделать, если by design пользователи вынуждены стрелять в ногу
#381 #712665
cpp.sh/82mn
У меня крашится компилятор, хотя на онлайн ресурсах все работает. Компилятор dev c++
>>712669>>712672
#382 #712669
>>712665
Молча крашится?
>>712674
#383 #712672
>>712665
И чего ты хочешь, поддержки и понимания?

>Компилятор dev c++


Нет такого компилятора
#384 #712674
>>712669
Да, молча. Тупо выходит сообщение "Пограмма g++ exe не работает.
>>712676>>712678
#385 #712676
>>712674
Где-то видел, что у MinGW бывают проблемы на Win8+.
Возможно, это относилось к старым версиям MinGW.
У тебя версия?
>>712681
#386 #712678
>>712674
-std=c++11 включена? Попробуй заменить TDD-GCC на версию повыше.
>>712681>>712701
#387 #712681
>>712676
Что это? Я ньюфаг.
>>712678
И как это сделать?
>>712695
#388 #712682
>>711101

>"мастеринг линакс консол".


Смотря что понимать под этим. Если по стандартным консольным утилитам — то там можно и книги писать по их использованию.
#389 #712685
3 Кб, 379x192
#390 #712690
>>708423
бамп, аноны. до сих пор сижу и не могу переписать под си
>>712725
#391 #712695
>>712681
Ну смотри, Dev-C++ - это просто навороченный блокнот, у которого в настройках прописаны пути к компилятору. А компилятор лежит где-то недалеко от Dev-C++.
Есть два варианта:
1. Качаешь отсюда http://tdm-gcc.tdragon.net/download версию поновее, устанавливаешь и перепрописываешь пути к компилятору в настройках dev-c++ (или компилируешь руками в консоли)
2. Лучше не стоит. (руками заменить TDM-Gcc из dev-c++ на тот что с сайта выше)

И подумай о том, чтобы перейти хотя бы на code;blocks.
>>712702
#392 #712701
>>712678

>-std=c++11 включена?


Вроде компилятор должен сообщать о том, что не может понять код, а не валиться как срань лажёвая.
#393 #712702
>>712695
Мне нужно свое дерьмо как то преподу показать, чтобы допуск выставил. А он проверяет все это на этой херне.
>>712703>>712705
#394 #712703
>>712702
Скажи преподу, что это его проблемы.
Ты код написал, и он работает. (если конечно ты написал и он работает)
#395 #712705
>>712702
Вроде как код норм (ну, за исключеним того, что findmax пустые списки не может), проблема в компиляторе.
Вот, находится http://stackoverflow.com/questions/12811762/dev-c-in-windows-8-gcc-internal-error
>>712729
#396 #712719
Как сайт назывался, где можно решать задачки, и по мере решения можно получать что-то вроде уровней умения. А для поиска хотя бы самой элементарной работы нужно дойти до какого то уровня.
>>712723
#397 #712723
>>712719
hh.ru
каждый раз едешь, и решаешь задачки
#398 #712725
>>712690
Разве не так?:

uint64_t P[300]; // массив пятых степеней, сам заполнишь
int n[5] = {0};

int• Eu(int be, int en, uint64_t &S, int •n, int j)
for (int i = be; i < en; ++i) //а может надо <=
{
if (n[4] == 0) return n;
S = S + P; n[j] = i;
if (i < 3)
n = Eu(i, en, S, n, j + 1);
else {
size_t k = std::lround(pow(S, 0.2));
if (P[k] == S) n[4] = k;
}
S = S - P;
}
return n;
}
>>712728>>712759
#399 #712728
>>712725
можешь объяснить за else? что после него, какие значения мы считаем в пов и зачем?
>>712735
#400 #712729
>>712705

> Please tell your teacher to update Dev-C++ instead


Лол
>>713677
#401 #712735
>>712728
Ты на перле когда-нибудь писал? Там есть постфиксный if:
a = 6 if b == 0 else 7;
По сути эквивалено a = (b==0 ? 6 : 7);
Тут та же фигня по всей видимости.
>>712738>>712746
#402 #712738
>>712735
Или это в питоне? В общем, хуй помнит, но в какой-то скриптопараше такое есть.
>>712740>>712756
#403 #712740
>>712738
По-моему, и в perl, и в python, и в ruby
#404 #712746
>>712735
[Error] invalid conversion from 'uint64_t {aka long long unsigned int}' to 'uint64_t {aka long long unsigned int}' [-fpermissive]

вот такую хуйню словил
>>712759
33 Кб, 960x213
#405 #712747
>>709673

>Охуеть блять, и чо, можно написать int a = a?

>>713685
62 Кб, 400x300
sage #406 #712756
>>712738

>в питоне


Кстати там такой бред. После пары часов бросил учить это говно. Инт всегда длинный. Табуляция вместо begin/end операторов. Тип переменные меняют во время работы программы.
#407 #712758
>>712756

>Кстати там такой бред. Инт всегда длинный. Табуляция вместо begin/end операторов. Тип переменные меняют во время работы программы.


Поздравляю с синдромом утёнка.
#408 #712759
>>712725

> S = S + P[ i ]; n[j] = i;


> S = S - P[ i ];


Забыл про макабу.
>>712746
Поправь что я указал выше.
>>712763
#409 #712762
>>712756
Ты еще не дошел до того момента, когда обьект класса при создании может в итоге оказатся объектом не того класса, который ты указал. Один пиздец. Проходи мимо.
>>712764
#410 #712763
>>712759
size_t k = std::lround(pow(P, 0.2));
тут тоже p?
>>712767
#411 #712764
>>712762

> Ты еще не дошел до того момента, когда обьект класса при создании может в итоге оказатся объектом не того класса, который ты указал


> Тип переменные меняют во время работы программы.


Не оно?
>>712766
#412 #712766
>>712764
Нет, я про мета классы говорю.
Там не надо ничего присваивать, автоматом неоднозначная хуйня присвоится.
#413 #712767
>>712763
Там S вместо P должна быть. Сравни код со своим скрином, я один в один переписывал.
>>712776
#414 #712776
>>712767
не понимаю только почему у функции стоит указатель. Из-за этого вывести результат не могу
сорри за тупые вопросы
>>712784
#415 #712784
>>712776
Функция возвращает указатель на массив n. А учитывая, что массив остаётся на месте, можно и просто void сделать и из n результат читать.
>>712789
#416 #712789
>>712784
http://study.sfu-kras.ru/DATA/docs/ProgramTheory/recurs/hp_eiler.htm

переписал с помощью тебя отсюда и получил это, но в ответе одни нули. Где я проебался?

http://ideone.com/4nJiFu
>>712900
#417 #712900
>>712789
Пофиксил - P[N] надо в ноль сбрасывать. И n[4] проверять на неравенство нулю. И костыль пришлось добавить в 32 строке, раз ты S в самом массиве хранишь.
http://ideone.com/vsWkWU
#418 #713030
>>707568 (OP)
Аноны, где есть годный гайд по нейросетям/компьютерному зрению на плюсах и/или Си?
>>713032
#419 #713032
>>713030
Сам недавно искал. Проверил ШАД и курсер. Там про плюсы нет. Только теория. И через пару лекция она становиться непонятной.
>>713037
#420 #713037
>>713032
Не мог бы пояснить за ШАД? Я сейчас что-то нагуглил, интересно стало.
>>713142
#421 #713054
Есть задача, выглядит она примерно так.
На входе дается число N, которое представляет собой число строк, которое последует после.
Каждая строка представляет из себя ФИО кандидата, всего кандидатов 6. Каждый раз, когда встречается ФИО кандидата, ему добавляется голос. Нужно вывести голоса всех участников.
Например
Ввод:
3
Хуй
Пидор
Пидор
Вывод:
Хуй 1
Пидор 2

Задача очень простая. Но как ее решить если имена кандидатов нельзя сохранять в массиве? При этом все строки считываются только 1 раз.
#422 #713057
>>713054
Кому нельзя? Тебя палкой что-ли бить будут, если сохранишь?
>>713062
#423 #713062
>>713057
Ну типо баллов меньше если сохраняешь. Типо неэффективно по памяти.
>>713069
#424 #713066
>>712756
Почему бред? M-выражения и динамическая типизация всего то.
>>713535
#425 #713068
>>713054
std::map
#426 #713069
>>713062

> Типо неэффективно по памяти.


Чебля?

Кмк, ты бред городишь. Никак, сука.

Можешь не сохранять в МАССИВЕ, можешь сохранить в MAP.
#427 #713071
>>713054
И да, можешь не сохранять - просто этих пидоров на вход подавай уже отсортированными.
#428 #713080
Вообще это из ЕГЭ, я спокойно решаю, но тут решив обнаружил, что если сохраняю в массив, то нельзя.
Вот решение http://inf.ege.sdamgia.ru/problem?id=6472. Я эти паскали хуескали не понимаю, но в пояснение написано что в массив не сохраняется, это единственная проблема, которую я хз как решить. Думаю вообще нельзя никакие контейнеры юзать.
>>713081>>713097
12 Кб, 835x246
#429 #713081
126 Кб, 922x949
#430 #713082
>>713086>>713087
#431 #713086
>>713082

>а составляя только список


Убил бы дегенерата.
>>713091
#432 #713087
>>713082
Но там ясно видны целых два массива, мудила гороховая блять
>>713091
#433 #713091
>>713086
>>713087
Че бля не так? Сказали без массива? Че делать? Я пробовал рекусию написать, так вроде получилось, но я делал файл.
Там есть массивы? Я эти языки не знаю, даже не пытался. Если что, простите.
>>713096
#434 #713096
>>713091
Ебаный рот там чёрным по белому два ARRAY блять, хуйню несёшь сука
>>713147
#435 #713097
>>713080

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


Входные данные все в массив не сохраняются. То есть у тебя не будет массива строк
Мень­ши­ков Олег
Ми­ро­нов Ев­ге­ний
Мень­ши­ков Олег
Маш­ков Вла­ди­мир
Мень­ши­ков Олег
А будет один с тремя именами и второй с голосами.
>>713098
#436 #713098
>>713097
Все, тогда у меня и было такое решение изначально.

Простите что насрал.
#437 #713112
На самом деле без контейнеров можно. Имен же не более шести. Делаешь шесть строковых переменных и сравниваешь с ними ввод. Но это уже слишком говнокод.
>>713116
#438 #713116
>>713112
Какая разница что говнокод, если это говнозадача?
Такую хуйню вообще надо делать однострочником на юниксовых утилитах.
#439 #713142
>>713037
Нет. Бросил на четвёртом уроке. Или лекции не помню как там у них это называется. На курсере это недели. Не нашёл связь с крестами и перестал понимать что там объясняют.
#440 #713147
>>713096
Они по 6 элементов. Можно и без них.
#441 #713169
Кстати этот тред неделю жить будет. Как-то долго по сравнению с предыдущими.
>>713227
#442 #713227
>>713169
Потому что из-за сезонного набега лабодаунов, уважаемые господа вроде меня, брезгуют ведением полемики в таком питомнике.
>>713524
#443 #713524
>>713227
Это ты именование STL "говном" считаешь ведением полемики?
>>713687
#444 #713533
/dev/video0 снова
ребят.. есть видео поток не в лине. как его заюзать в моей крестопрограмме не меняя ос естесна пните в нужную сторону то!
>>713539>>713541
#445 #713535
>>713066

>M-выражения


>python


Ты не видел либо первого, либо второго.
#446 #713539
>>713533
Как ты заебал...

Порылся тут в гугле. /dev/video0 в FreeBSD, как я понял, создаёт демон webcamd. Который является портом драйверов video4linux в BSD (в юзерспейс).

Значит, твой /dev/video0 является video4linux(2)-устройством.
>>713541>>713557
#447 #713541
>>713533
>>713539
https://wiki.freebsd.org/WebcamCompat вот тебе список веб-камер и их интерфейсов. У большинства V4L/V4L2. У которых unknown, в столбце программ, умеющих с ними работать висит pwcview. Лезь в сорцы.
BTW, у https://www.freshports.org/multimedia/pwcview/ в зависимостях хидеры для Video4Linux-совместимых устройств.
>>713557
#448 #713557
>>713539
рили?
про вебкамд знал, а о совместимости нет..

>>713541
буду работать теерь. больще не вайпаю этим
>>713569
#449 #713569
>>713557

>про вебкамд знал, а о совместимости нет..


http://www.selasky.org/hans_petter/video4bsd/

> Webcamd is a small daemon that enables about 1500 different USB based webcam, DVB and remote control USB devices under the FreeBSD-8.0 and later operating system. The webcam daemon is basically an application which is a port of Video4Linux USB drivers into userspace on FreeBSD.

>>713572
#450 #713572
>>713569
я же взял ответственность что я рак.
ну еще раз ткни в это, если станет от этого лучше
>>713573
#451 #713573
>>713572
Насколько раком нужно быть, чтобы скулить месяц, если мимокрокодил нагуглил всё, что нужно (в том числе примеры кода) и разобрася (концептуально) минут за 10-15?

Кайся ещё.
>>713577
#452 #713577
>>713573
примеры были же не под webcamd и благодаря тому что я слишком часто вижу отсутствие совместимости линя с бсд, открыл для себя с++ тред.
где не умеют делать лабы но гуглят точне меня мои друзья аноны.
каюсь. я рачье
>>713591
#453 #713591
>>713577

>примеры были же не под webcamd


Примеры могут быть под webcamd?
webcamd это кусок сорцев ядра linux: драйвера для web-камер, тюнеров и ещё чего-то + реализация в userspace необходимых для этих драйверов функций ядра linux + вываливание получившегося v4l(2)-девайса с помощью CUSE в виде /dev/videoX.

Примеры работают с /dev/videoX, символьным устройством, и им пофиг на то, кто и как обслуживает это устройство, лишь бы оно предоставляло ожидаемый интерфейс.

Кайся ещё.
>>714372
#454 #713670
>>712641
>>712646
Испольхуйте std::shared_ptr или std::unique_ptr в качестве элементов вектора. В Сее++ _уже_ не нужно ручное управление памятью!
>>713676
#455 #713676
>>713670

> ЭТА ВЫСТРЕЛ В НОГУ!! В D МОЖНА ХРАНИТЬ В МАССИВЕ ПА ЗНАЧЕНИЮ!!11 КО-КО-КО!

#456 #713677
>>712729
Да, а есле препод будет упираться, то нужно собрать несколько человек, которые подтвердят, что на новом Дев-С++ всё работает.
#457 #713685
>>712747
Имеется в виду второй х нахдится в новой области видимости. Но не еби голову, такое редко необходимо, хотя можно попонтоваться перед коллегами.

Ещё, например, в инициализации for цикла можно объявлять не только переменные, но и задавать новые типы.

Но самая самая пушка - это выброс исключений из конструкторов и особенно из деструкторов, зная все подводные камнни - устроишься на любую работу! Так в делегирующем конструкторе можно бросить исключение, а в вызывающем его обработать, смотриться реально круто.
>>713773
#458 #713687
>>713524

>Это ты именование STL "говном" считаешь ведением полемики?


Я не тот хуесос.
sage #459 #713752
>>707568 (OP)

> Существует швабодный кроссплатформенный фреймворк-надмножество C++ под названием Qt.


> Qt


> швабодный



Давно у нас запрет на коммерческую разработку называется швабодой?
>>713774>>713775
#460 #713773
>>713685

> исключения из деструктора



Нахуй из профессии
sage #461 #713774
>>713752
Мань, погугли условия GPL и LGPL прежде чем квохтать. Ограничения связаны с исходниками и объектными файлами, а не с запретом коммерческой разработки.
#462 #713775
>>713752
У тебя устаревшие данные, Qt уже много лет как под LGPL доступен.

> запрет на коммерческую разработку


Закрытость кода ортогональна коммерчности разработки, коммерческий код можно и под GPL писать.
#463 #713779
>>709300
Поясните долбоёбу, как запустить эту змейку ебаную
>>713781>>713790
sage #464 #713781
>>713779
>>709528 <---
g++ main.cpp game.cpp `pkg-config --cflags ncurses` -o zmeyka `pkg-config --libs ncurses`
>>713784>>713790
#465 #713784
>>713781
Поясните долбоёбу, куда это вводить
>>713790
#466 #713788
Сап, аноны. Наверное с этой лабой да-да лабы идут нахуй я всех уже заебал, но все же прошу помощи:
Код написан, код работает, но, в случае, если N и M не равны, происходят косяки, а именно поиск ведется неправильно и только по первым N элементам. Как пофиксить?

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

http://ideone.com/EHCgMN
http://ideone.com/8jgUgD
http://ideone.com/zwgO65 (условие задачи)
sage #467 #713790
>>713779
>>713781
>>713784
Сорян, забыл ещё -std=c++11

Можешь вместо g++ писать clang++, если у тебя он.
BLUEFISH #468 #713804
Аноны, подскажите как в bluefish сменить браузер для открытия html. Открывает всегда мозилу, а мне для открытия нужен хром, ибо мозила оч медленный.
>>713851
#469 #713821
class A {
public:
void test() {
cout << "aaaa";
_getch();
}
};
class B:public A
{
public:
test();

};
не могу понять почему не работает такая конструкция
>>713859>>713860
29 Кб, 520x245
#470 #713851
>>713804

>мозила


>медленный


>нужен хром

#471 #713859
>>713821

>test();


>не указан тип возвращаемого параметра


>в родительском классе не указано, что метод виртуальный


Virtual ставить вроде не обязательно, но будет не очевидно работать и вряд ли так, как ты планировал.
>>713860
#472 #713860
>>713821
>>713859
Ну и реализацию нужно для дочернего класса писать.
#473 #713892
Вопрос такой, котаны. Пишу я, значит, на C++ с Qt.

Есть у меня код, который парсит запросы. Запросы поступают в формате JSON в виде QString.

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

item.value("body").toString().contains("слово")

Всегда выдает отсутствие этого самого слова.
Как с этим бороться?

Кутишный JSON может создать объект только из utf8, возможно в этом проблема, но что с этим можно сделать?
>>713916
#474 #713916
>>713892
Попробуй выставить кодировку utf8 в редакторе.
>>713927>>713934
#475 #713927
>>713916

Говорит, что невозможно преобразовать.
#476 #713934
>>713916

А, всё нормально, убрал русский текст, преобразовал и опять его вставил, заработало.
Спасибо, анон!
>>713942
#477 #713942
>>713934
Только не забудь что теперь ты не можешь напрямую (по индексам) редактировать захардкодженые строки с кирилицей, так как у них будут разные длины у разных символов, например "слово" 13 байт занимает, без учета нулевого https://ideone.com/4kNJ4z
#478 #713966
Анон, нужно реализовать конструктор множеств чтобы выполнить лабу, но в самой лабе не дано напутствий по этому поводу. Подскажи наиболее практичные решения, чтобы велосипед не изобретать. Нужно для такой вот задачи:

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

Ее сам решу, подскажите только по поводу множеств.
>>713975>>713981
#479 #713975
>>713966
Множества это std::set если на элементах можно задать отношение порядка и std::unordered_set если нет (или не важно).
#480 #713981
>>713966

>указанием числа их появления


А нахуй множество? Тебе map нужен или даже тупо массив и switch.
#481 #714001
Посоны, поясните мне вот за такую штуку:
очень часто в проектах вижу, что используют cmake, но он настолько всратый в плане синтаскиса, что иногда хочется вскрыть своей соседке вены.
И есть по соседству qbs, который, в общем-то, даже как-то по-проще и логично выглядит, почему его не гоняют так, как cmake?
Алсо, IntelliJ выпустила свое недоделанное отродье - CLion, так вот, там тоже используется cmake.
Почему, черт подери, это старое говно мамонта не заменят на что-то более вменяемое?
#482 #714004
>>714001
Потому что крестоёбы не могут без ебли в жопу. Предложи им выкинуть анальное шипованное дилдо, и использовать что-то нормальное, так их тут же обморок хватит.
#483 #714015
>>714001
qbs уже может собрать Qt?
>>714096
#484 #714096
>>714015
А раньше разве не мог?
>>714155
#485 #714155
>>714096
Не, qbs не совсем полноценен, нужен еще qmake. Вроде только к Qt6 собирались полностью доделать.
>>714294
#486 #714289
>>714001
Жопоглазый пидор детектед

https://bitbucket.org/scons/scons/wiki/SconsVsOtherBuildTools
#487 #714294
>>714155
Я вот сейчас буду пердолиться и переустанавливать ШИНДОВСлинупс, 16.04 еще не вышедший - потому что этот ебучий qbs тут сука не работает, в 15.10 версия 1.4.2+dfsg-3, а эту ебань пофиксили в 1.4.2+dfsg-8, и разумеется - в репы нихуя не попало.

Всем хорош этот qbs, и синтаксис, и плюшки, кроме одного - не работает, блять!
>>714298
#488 #714298
>>714294

>714155


>Я вот сейчас буду пердолиться и переустанавливать ШИНДОВСлинупс, 16.04 еще не вышедший - потому что этот ебучий qbs тут сука не работает, в 15.10 версия 1.4.2+dfsg-3, а эту ебань пофиксили в 1.4.2+dfsg-8, и разумеется - в репы нихуя не попало.


>Всем хорош этот qbs, и синтаксис, и плюшки, кроме одного - не работает, блять!



Ну и долбоеб. Нет чтобы из сорцов собрать, так лучше систему переустановить. Да еще и убунту нестабильную. Ну ты блять просто рафинированная qt-макака.
>>714301
#489 #714301
>>714298
Все равно через полторы недели релиз. А этот 15.10 корявый меня уже вконец заебал.

Делать мне нехуй, как собирать из сорцов и потом ебаться как это втиснуть в систему, и шоб не конфликтовало.
>>714307>>714314
#490 #714307
>>714301
И потом - а может быть, там Qt 5.6 искаропки будет, на что я очень надеюсь.

И баг в долфине с крашем по "create new folder" задрал, нет слов. Сука, чтобы создать папку - я как аутист ебошу "mkdir" в терминале.
>>714435
175 Кб, 500x480
#491 #714314
>>714301

>А этот 15.10 корявый меня уже вконец заебал.


>Думает, что 16.04 внезапно станет дохуя стабильным.


>Не знает, как установить собранный пакет в систему


>Предпочитает переустановить систему, вместо того, чтобы разобраться.



Какой феерический долбоеб, ужас просто. Это не ты возмущался, что STL - говно, случайно?
>>714316
#492 #714316
>>714314
Феерический долбоеб - это ты.

А 16.04 это ж LTS, епта, на хуй путешествуй.
>>714320
#493 #714320
>>714316

>А 16.04 это ж LTS, епта, на хуй путешествуй.


Охохо бля. Дите, твой LTS в убунте в лучшем случае testing из debian. В лучшем. 14.04, например, стала юзабельной только через полгода после релиза. Лучше послушай серьезного дядю и не выебывайся:
ubuntu в любом проявлении не является эталоном стабильности. Вместо того, чтобы по системам скакать, лучше поставь debian stable или аналог. А хочешь свежий opensource - собирай самостоятельно.
>>714323
#494 #714323
>>714320
Пробовал я ваш доебан - говно, еще более нестабильное.
>>714324
#495 #714324
>>714323
По крайней мере Джесси, Визи был вполне норм, а с джесси я охуел - не то слово.
#496 #714327
Анончики, помогите. У меня есть класс A
class A
{
public:
A(const color & c = color(1, 1, 1)) : _c(c){}
protected:
color _c;
}
и класс B
class B : public A
{
public:
B(const color & c = color(1, 1, 1)) : A(c) {}
void changeC(){_c = color(0, 0, 0);}
}

Почему я не могу поменять значение _с? Пишет, что _c const.
>>714330
#497 #714330
>>714327
С кодом все в порядке. Ты что-то не так понял.
>>714332
#498 #714332
>>714330
Блин я тупой. Не в том методе менял цвет. Менял в константном.
#499 #714372
>>713591
прости, о несовместимости /dev/video* спрашивал же 3 треда назад, аноны сказали платформозависимые они. Вот и рыл не туда!
#500 #714424
Как получить доступ к буферу обмена линукса через С++? Нагуглил только вариант с Qt, но не хотелось бы его тянуть в столь мизерный скрипт.
>>714427
#501 #714427
>>714424
В линуксе нет буфера обмена. Он предоставляется иксами и следовательно способ его использования зависит от конкретной оконной системы которую ты используешь. Читай документацию для своей оконной системы. Или лучше найди библиотеку (Qt) или утилиту (xclip, например).
>>714429>>714431
#502 #714429
>>714427
А утилиты вроде xsel/xclip каким образом всегда получают доступ к буферу обмена, независимо от DE/WM? Мой оконный менеджер не предоставляет никаких средств для работы с буфером обмена.
#503 #714431
>>714427
Вообще, я хотел экстеншон под PHP написать (он не умеет работать с буфером обмена, а, к примеру, Python умеет), поэтому xsel/xclip не подходят.
#504 #714432
Хотя, наверное, проще сделать system("xsel -b") и ебать мозг.
#505 #714435
>>714307
Ставь арч. Минимум пакетов, проблем нет, или гуглятся быстро, свежий софт в репах или в aur, работает пошустрее убунты и конпелять ничего не надо.
>>714440
#506 #714440
>>714435

> работает пошустрее убунты


Ну пошли-поехали сказочки.
Если че, на скорость работы убунты нареканий у меня никогда не было. И суть убунты - никогда не ебаться с софтом или чем угодно, потому что убунта - дефолтный линупс, под нее есть ВСЕ и официально.

Когда я захочу поиграться в роллинг - я опять поставлю опенсусю, она куда лучше этого школьного поделия.

Единственное что, мне нравится его вики. Но она просто вики по линупсу, без привязки к этому рачу.
#507 #714518
>>711582
Сделай на пайтоне.
13 Кб, 512x512
#508 #714556
Поясните за фриланс на кьюте:
Является ли это коммерческим использованием, что нужно сделать чтобы этим легально заниматься, есть ли какие-то лазейки вроде старых версий и статических сборок?
>>714572
101 Кб, 1258x429
#509 #714572
>>714556
прочитай текст лицензии - а
там есть комерческие версии - б
GNU GPL ебанутая лицензия.. мимо каюсь за /dev/videoX иши для фриланса и отсутствия трабл с лицензиями BSD лицензию или что-то стороннее как в эклипсе, которое не обязават тебя писать писать лицензию

ps: http://www.gnu.org/licenses/gpl-faq.ru.html
>>714577
#510 #714577
>>714572
Я и не думал, что с этим вопросом все настолько сложно
Я во всем этом совершенно ничего не понимаю, никогда не пилил ничего платного. Можно немного проще, есть ли в qt способы написать коммерческий проект не покупая ничего? Если нет, то что лучше использовать для этих целей? Нет никаких гарантий, что эти вложения окупятся пока.. нужно же с чего-то начать?
>>714580>>714585
#511 #714580
>>714577
если тебе говорт -- напиши лабу то пиши в qt т.к. писать лабу это можно за денеФФку ивписываешься в лицензию.
...
ты можешь написать на свободном qt всё и в триал версии все продавать думал, лайфхак.. но не думаю что новые владельцы qt (не нокия же уже?) тупые чтобы делать такую херню..
...
не так то просто всё с юристами..
>>714586
#512 #714585
>>714577
без статической линковки с Qt мона в комерцию
>>714588
#513 #714586
>>714580
Я же говорю, я пробую себя на разных биржах
Я уже понял, что можно провести не одно бессонную ночь, разбираясь с лицензиями
Мне не сложно отвалит 30 баксов за любимый кьют, чтобы ко мне не доебывались потом
В чем можно писать, чтобы не разбираться этим вопросом лицензий. студия? кодблокс? Я уже не знаю куда тыкнуть
>>714692
#514 #714588
>>714585
А как передать проект? Закинуть дополнительно 800 мб длл?
#515 #714692
>>714586
eclipse
там другая лицуха..
и запретить в открытом Qt писать тебе нельзя.
..
собственно я не уверен о динасической линковки длл для обхода лицензии я не слышал, но в теории код qt тогда не скрыт.. только твои прога к ним подсасывается и забирает либы. нов рашке за лицухи фрилансеров не ебут, не парся если нет 30$ на лицензию.. тебя не будут искать с оФФчарками по мухосрани. ты неуловимый Джо
#516 #714709
Сап. Есть кусок кодаспизженого из инета по поиску простых чисел решетом Сундарама. http://pastebin.com/TcpWPYPV
Собираю я его
g++ --std=gnu++11 -Wall -O2 sundram.cpp

time ./a.out 100000000 > /dev/null
real0m9.817s
user0m8.588s
sys0m1.236s

Однако, если заменить i=i+1, j=j+1 на i=i+2, j=j+2, что, по логике, должно ускорить код за счёт пропусков чётных чисел, получается вот что:

time ./a.out 100000000 > /dev/null
real0m18.101s
user0m10.980s
sys0m7.132s

Помогите, а то ЯННП.
#517 #714722
>>714709
Возьми да дизассемблируй.
>>714751
#518 #714745
>>714709

>int a = new int [n];


>memset(a, 0, sizeof(int) n);


>delete [] a;


>using namespace std;


>int a = atoi(argv[1]);


>спрашивает алгоритмы в C++ треде.



Да ты, блядь, гонишь.
Во-первых, нахуй тебе C++? Пиздуй в C тред.
Во-вторых, пиздуй в алгоритмы-тред.
В-третьих, твое предположение про двойной инкремент - бред, ты нихуя не понял этот алгоритм.
В-четвертых, как следствие неправильной работы алгоритма - у тебя получается больше значений, в stdout выводится больше значений, отсюда разница во времени.
>>714749
#519 #714749
>>714745

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


Видимо, так. Отсюда и дохрена времени в sys. Сам попробовал посмотреть генерируемый компилером код. Принципиальной разницы нет, просто константы в инструкциях удваиваются.
>>714750
#520 #714750
>>714749
Я тебе рекомендую почитать Кормена. Начни с "Введение в алгоритмы". Твоя манера разбора алгоритма немного охуительная. В плохом смысле.
>>714751
#521 #714751
#522 #714786
Сап, крестаны-кютаны.

Есть сабж:

auto ptr = std::make_unique<int>(10);
auto lambda1 = [] { qDebug() << "lol timeout 2000"; };
auto lambda2 = [value = std::move(ptr)] { qDebug() << "lol timeout 2000"; };

connect(timer, &QTimer::timeout, lambda1);
//connect(timer, &QTimer::timeout, lambda2); не компилится сцкпздц

С какого хуя я не могу подсунуть лямбду с захватом по move никуда, какого черта?
>>714787
#523 #714787
>>714786
А ошибку какую пишет?
>>714790
#524 #714790
>>714787
Блять, да там целая тонна.
Малость перефразирую - почему я не могу сделать так:

auto ptr = std::make_unique<int>(10);
std::function<void()> lambda = [value = std::move(ptr)] {
qDebug() << "lol timeout 3000";
};

Я конечно ща залью ошибку на пастебин, но там пиздец.
>>714791
#525 #714791
>>714792
#526 #714792
>>714791
Ну, ругается на отсутствие конструктора копий у unique_ptr.
Не совсем из той лапши понятно, кому он нужен.
(Возможно, класс, генерируемый из лямбда-функции, пытается обзавестись конструктором копий, но так как у него есть поле value с удалённым конструктором копий, он обламывается.)
>>714795
#527 #714795
>>714792
Но нахуя ему копия, если там move?
>>714798>>714800
#528 #714798
>>714795
Короче, обламывается на создании лямбды или передаче её в connect?
>>714800>>714801
#529 #714800
>>714795
>>714798
Если на connect, компилируется ли, если ты будешь сохранять лямбду в переменную, а просто подставишь эту лямбду в аргумент.
#530 #714801
>>714798
Я сейчас коннект и весь кутешный дроч вообще закомментил.

Оно может создать такую лямбду (как auto), но стоит заменить auto на std::function<void()> - начинается потеха.
>>714802
#531 #714802
>>714801
Где-то он пытается вызвать конструктор копий у объекта, полученного из лямбды. Конструктор копий пытается скопировать свои поля, а у value удалённый конструктор копий.

Я это могу объяснить так.
>>714806
#532 #714806
>>714802
Я не понимаю, почему это не работает.
Функции можно присвоить лямбду? Можно. Так какого хрена лямбда не превращается в функцию?
>>714809>>714810
#533 #714809
>>714806
Ты попробовал передавать в connect лямбду, создавая её прямо в аргументах?
>>714811
#534 #714810
>>714806

> Так какого хрена лямбда не превращается в функцию?


http://en.cppreference.com/w/cpp/utility/functional/function/function
Я подозреваю, что вызывается 5-й конструктор:
template< class F >
function( F f );
Initializes the target with a copy of f.
>>714812
#535 #714811
>>714809
Да забей ты на коннект, нет его - он тут вообще не существенен.

Я уже нагуглил. http://stackoverflow.com/questions/25421346/how-to-create-an-stdfunction-from-a-move-capturing-lambda-expression
Нельзя обернуть лямбду в функцию еслю у нее ТОЛЬКО мув без копии.

Ебучий СтраусТруп, гори в аду со своим костыльным блядским поделием, сука!
#536 #714812
>>714811
Ну да. Там написано про >>714810
>>714816
#537 #714814
>>714811

>Ебучий СтраусТруп, гори в аду со своим костыльным блядским поделием, сука!


Который тред ты уже бомбишь?
#538 #714816
>>714812
Ну и нахрена они выкатывали эту херню в с++14, если на практике ей пользоваться нельзя?

"Мы дадим вам возможность захватывать контекст в лямбды без копирования! Только без копирования все равно нихуя не работает"
>>714818
#539 #714818
>>714816

>Ну и нахрена они выкатывали эту херню в с++14, если на практике ей пользоваться нельзя?


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

> без копирования все равно нихуя не работает


Если ты избавишься от аддикции от std::function, всё заработает.
#540 #714820
>>714811
Это ты неосиливший почитать документацию рак. Еще и жалуется пытясь прицепить то, чего не знает, к qt-шному говноподелию. Иди нахуй.
>>714824>>714825
#541 #714824
>>714820
Рак это ты, обмудок.
А это - обычный ебучий выстрел в ногу, коих тут тысячи.
>>714828
#542 #714825
>>714820
Это местный завсегдатай. Периодически бросается то на STL, то на весь C++
>>714826
#543 #714826
>>714825
крестобляди обосрались, не знают что делать в этом случае и маневрирут?
#544 #714828
>>714824

> выстрел в ногу


Школьники услышали где-то термин, но не поняли его смысла и суют теперь где попало. Это как с GOTO в своё время.
#545 #714836
>>714834
Это ты даун.

Тебе сказали - как переместить лямбду в функцию? А ты только мычишь животное и на qt стрелки мечешь.

Я за пару минут на stackoverflow раз в 100 больше по делу узнал, чем тут промычали.
>>714839
#546 #714839
>>714836

> А ты только мычишь животное и на qt стрелки мечешь.


> //connect(timer, &QTimer::timeout, lambda2); не компилится сцкпздц



>Я за пару минут на stackoverflow раз в 100 больше по делу узнал, чем тут промычали.


Я тебе правильно ответил ещё до того, как ты SO открыл.
>>714842
#547 #714842
>>714839
Мне не нужен комментарий по поводу чего эта сука ругается.
Вопрос был в том, какого хуя и можно ли обойти.

На SO есть простыня кода чтобы обойти эту парашу, и я ее сейчас пробую.

А тут только кукарекать горазды.
>>714849
#548 #714849
>>714842
Ты тупорылый даун, который пытается использовать move-only тип как copy-constructable. Это логически не корректная конструкция. Свои кукареку засунь себе в жопу и иди дальше делай свою лабу.
20 Кб, 1306x76
#549 #714868
>>714859

>Был вопрос - что с этим делать.


Пикрил

>Пока ты кукарекал и крыльями размахивал - я уже нашел как решить проблему.


Додумался подсунуть Copyable объект в connect? Вот это ты решала.
>>714874
#550 #714874
>>714868
При чем тут коннект? Суть вопроса как сделать функцию из лямбды с захватом.
Я нашел, как сделать перемещаемую лямбду.

>Пикрил


Ну это надо быть эпическим дауном, чтобы не понять, что "какого хуя не работает" эквивалентно "как сделать чтоб работало".
>>714884
#551 #714881
>>714876
На нем написан Qt и qml.
Я хотел взять не цепепе, но там херовый биндинг к qml, конкретно в QVariant не реализованы QVariantMap и QVariantList - то, что часто юзается чтобы внутрь контекста данные пробрасывать.

Есть QAbstractListMode, но с ним много ебли.

Короче, было два стула - ебаться с гуем или ебаться с крестами.
>>714888
#552 #714884
>>714874

>Я нашел, как сделать перемещаемую лямбду.


Чувак, у тебя и так была перемещаемая лямбда. Ты пытался поместить объект, который можно только перемещать, в объект, который можно копировать. Очевидно, что это нельзя сделать никаким образом, но если ты знаешь, что твоя лямбда будет храниться строго в одном экземпляре, то можно сделать хак, написав copyable-обертку и выполнять move в конструкторе копирования. Но что тут сложного, я так и не понял.

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


Каким же надо быть эпическим дауном, чтобы не понять, что если хочешь получить вопрос на А, то нужно и спрашивать А.
>>714889
#553 #714888
>>714881

>Юзает QVariant


>не слабоумный

>>714890
#554 #714889
>>714884

> то можно сделать хак, написав copyable-обертку и выполнять move в конструкторе копирования. Но что тут сложного, я так и не понял.


Собсно, это я и сделал.

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


Еще раз - очевидно, что суть вопроса была "как обойти".
>>714894
#555 #714890
>>714888
Изнутри qml абсолютно все - QVariant, додик.
#556 #714894
>>714889
Короче, судя по стилю твоего письма, ты весьма малоумный студент третьего курса максимум.
За 5 минут общения с тобой я понял следующее:
- Ты не читаешь документацию
- Ты агришься и обвиняешь всех вокруг в том, что не знаешь того, что написано в документации
- Ты не умеешь ясно формулировать свои мысли и вопросы
- Ты начал работать с инструментом (С++), не изучив его на должном уровне. Я полагаю, что это скорее тенденция, нежели единичный случай, и поэтому твоя жизнь будет довольно сложной и нервной до тех пор, пока ты не поймешь этот простой факт.

Удачи.
#557 #714899
В Visual Studio нужно платить за коммерческое использование?
>>714905
#559 #714905
>>714912
#560 #714912
>>714905
Ничего не понимаю

>If you are an individual working on your own applications to sell or for any other purpose, you may use the software to develop and test those applications.


Раз я пишу сам, я могу использовать для разработки и отладки, окей
А скомпилировать\продать?
>>714915>>714928
#561 #714915
>>714912

>скомпилировать


разработка != компилирование?

>продать


Прямо из VS нельзя продавать, да.
>>714918
#562 #714918
>>714915
Ну хорошо, скомпилировать прогроамму для коммерческого использования я могу
А монетизировать? Может, нужно завяление написать куда-то или еще что, я не хочу чтобы меня потом мс у меян два ляма отсудил
Может, есть хорошая статеечка где-нибудь, поясняющая за лицензии и коммерческое использование компиляторов и иде?
#563 #714928
>>714912

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

#564 #715437
В чем разница между VS Comunity и VS Enterprise?
#565 #716012
Поцоны не бейте, лучше обоссыте.
Я только начал изучать c++, написал в консоле калькулятор.
В функции main весь код калькулятора. Как сделать её многоразовой? Калькулятор просчитывает одно действие, выдаёт ответ, а затем работа функции завершается.
По ссылке текст кода, если кому интересно.
http://pastebin.com/pR9X0YFS
>>716507
#566 #716507
>>716012

> Как сделать её многоразовой?


Ну ээ цикл?
#567 #716785
Программач, как мне накатывать Qt на VS2013? Скачал сам qt c qt.io, скачал оттуда же qt_vs_addin, все поустанавливал, но проекты создавать все еще не могу.
Обновить тред
Двач.hk не отвечает.
Вы видите копию треда, сохраненную 7 мая 2016 года.

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

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