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

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
902 Кб, 699x614
Оффициальный™ традиционный® C++ тред #21 #653023 В конец треда | Веб
Я синтаксис крестов постиг
И прочитал все доки к boost,
Стандарт запомнил наизусть
И в метамагию проник, -
Глупец! Я знать не знал о том,
Что крестоблядка ждет потом.

Три дня на лаврах почивал,
Но не успел войти во вкус,
Как комитет по C++
Очередной стандарт принял,
И новых правил в нем до ста!
Я Бьерна новый том достал...

Зубрю, дрочу кресты - и вот
Тому пошел десятый год.
Считаю байты я всегда,
Гоняю их туда-сюда,
Лбом облысел, лицом зарос,
Два года мучает понос,
Хлебаю борщ и обнищал,
Но так всех тайн и не познал.

Входи, ньюфаг! Быть может, ты
Сумеешь обуздать кресты?
Здесь рады тем, в ком страха нет,
Кто не съебет в питонотред,
Почуяв местный мрачный дух.
Ты с нами, или ты петух.


TL;DR Читаешь https://goo.gl/kVaela , делаешь примеры и суешь в http://ideone.com , ошибки копипастишь в гугл, непонятное ищешь в предыдущих тредах, спрашиваешь в этом треде, если не нашел. Если тебя послали на хуй или не ответили, то ты спросил платину, читай предыдущие треды внимательнее. И прочитай FAQ, расположенный ниже, в нем много полезного.

Унаследованная памятка:

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

Тег [code] работает через жабаскрипт-костыль: https://github.com/ololoepepe/MakabaCode

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

FAQ:

Q: Почему стоит использовать именно C++?
A: Ни один язык не идеален, но по совокупности киллер-фич C++ оставляет все остальные языки позади. Вот основные три:
+ C++ действительно быстрый - по скорости они вместе с C с большим отрывом уделывают любой другой язык. Замедление относительно C находится в районе 0-20% а в ряде случаев C++ оказывается даже быстрее, причем проявляется только при использовании высокоуровневых конструкций (в крестах ты никогда не платишь за то, чего не используешь).
+ C++ один из наиболее выразительных и мощных языков, позволяющий использовать большинство существующих парадигм. Его философия построена на минимальном ограничении программиста в выборе методов и инструментов простреливания ноги решения задачи.
+ C++ по-настоящему популярен. На нем написаны десятки тысяч приложений и миллиарды строк кода, о нем написаны сотни книг, он до мельчайших подробностей документирован и стандартизован. Используя C++, ты никогда не останешься без работы или поддержки комьюнити.

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

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

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

Для нюфань:
Учебники для начинающих. Все примерно одинаковой годноты, читать имеет смысл только какой-нибудь один, который больше приглянется.
Стэнли Липпман, Жози Лажойе и Барбара Му - Язык программирования C++ (2014) - https://goo.gl/kVaela
Стивен Прата - Язык программирования C++ (2012) - https://goo.gl/z7kA8u
Бьерн Страуструп - Программирование. Принципы и практика использования C++ (2011) - https://goo.gl/nAFUXa

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

Учимся не писать говнокод:
Книги про основные подводные камни для тех, кто осилил предыдущий пункт. Следует пролистать все.
Скотт Мейерс - Эффективное использование 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++14 (на ангельском) - https://github.com/cplusplus/draft/raw/master/papers/n4140.pdf
Последняя на данный момент версия черновика стандарта C++17 (на ангельском) - http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/n4567.pdf

Тонкости языка (для гурманов):
Герб Саттер - Решение сложных задач на C++ (2002) - https://goo.gl/iWaa6S
Герб Саттер - Новые сложные задачи на C++ (2004) - https://goo.gl/4nn512

Также для легкого чтения подойдет книжка c историей создания C++:
Бьерн Страуструп - Дизайн и эволюция C++ (1994) - https://goo.gl/FqbPwo

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

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

Q: Ты охуел? В этих книгах по тысяче страниц! Хочу коротких статей.
A: Вот тебе блоги, факи, референсы и всякое такое:

Годный блог, в котором все просто и понятно тян не нужны кококок борщ - http://alenacpp.blogspot.ru
Блог с хорошо расписанными фичами новых стандартов - http://scrutator.me
Краткие описания библиотечных функций и контейнеров - http://ru.cppreference.com/w/ или более подробно на ангельском http://en.cppreference.com/w
Блог Герба Саттера (на ангельском) - http://herbsutter.com
Блог Скотта Мейерса (на ангельском) - http://scottmeyers.blogspot.ru
Блог еще одной тянки, много о Qt и оптимизации (на ангельском) - https://katecpp.wordpress.com
Куча других блогов (на ангельском) - https://www.quora.com/What-are-the-best-blogs-on-C++
Большой FAQ по C++ (на ангельском) - https://isocpp.org/wiki/faq

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

Видеокурс на тытрубе - https://www.youtube.com/watch?v=atVgLRzl3rI
Еще один - https://youtube.com/watch?v=MOpF5lk3cLY
Среди прочих есть несколько курсов по C++ - https://stepic.org

И еще есть вот такое, если проникся:
Видео с CppCon (на ангельском) - https://youtube.com/user/CppCon/videos

Q: Я готов начать погроммировать! Куда мне писать код?
A: Под шиндошс удобно использовать IDE Microsoft™ Visual Studio®. Базовую версию (2015 Community) можно бесплатно скачать отсюда: https://goo.gl/qgAAc6 (русская версия) или https://goo.gl/WIPW9L (ангельская версия). Чтобы начать писать код, нужно запустить Visual Studio, кликнуть "Файл - Создать - Проект - Пустой проект", после создания кликнуть слева правой кнопкой мыши по пункту "Файлы исходного кода", выбрать "Добавить - Создать элемент - Файл C++". Свои хэллоуворлды писать в этот файл, в дальнейшем можно добавить другие файлы и хедеры. Чтобы скомпилировать и запустить проект, нужно нажать "Сборка - Собрать решение", а затем "Отладка - Запуск без отладки".

Под *nix, как правило, уже предустановлен компилятор gcc (если нет, используй sudo aptitude install gcc), так что достаточно сохранить хэллоуворлд, набранный в текстовом редакторе, и выполнить g++ helloworld.cpp и ./a.out. Но удобнее установить какую-нибудь IDE, например, весьма удобную CodeLite (sudo aptitude install codelite codelite-plugins), и работать в ней. Ее также можно использовать и в шиндошс, но тогда сперва придется установить MinGW (http://mingw.org).

Еще у нас есть IDE, призванная похоронить Visual Studio пока не особо получается. Она стоит денег, но можно украсть почти не протухшую версию на торрентах или получить бесплатную лицензию по скану студбилета, если ты студент. Удобные свистелки и перделки присутствуют. Тормоза и баги присутствуют. Кросплатформенность присутствует - https://www.jetbrains.com/clion

Можно также не устанавливать ничего, а запускать свои хэллоуворлды на http://ideone.com, выбрав в левом нижнем углу язык C++14.

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

Статический анализатор, который умеет находить в коде ошибки и неоптимальные места. Швабодный. Есть плагин для Visual Studio - http://cppcheck.sourceforge.net
Детектор утечек для Visual Studio. Предельно прост в прикручивании - https://vld.codeplex.com
Гугловские утилиты для контроля корректности кода - https://github.com/google/sanitizers
Гугловский фреймворк для автоматизации тестирования - https://code.google.com/p/googlemock

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

boost

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

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

http://www.boost.org - скачать бесплатно без смс.
http://www.solarix.ru/for_developers/cpp/boost/boost-library-list.shtml - краткие аннотации к большинству компонентов.
http://sindicollo.blogspot.ru/2008/09/boost.html - документация к некоторым компонентам.
http://www.boost.org/doc - документация (на ангельском).

Литература:
Ариндам Мукерджи - 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.х, полной обратной совместимости между ними нет как в пистоне, ага.

http://www.qt.io/ru - скачать бесплатно без смс.
http://doc.crossplatform.ru - документация к 4.8.
http://doc.qt.io - более полная документация к обеим версиям (на ангельском).

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

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

Несколько специализированных библиотек для часто встречающихся задач. Все маленькие, быстрые и простые в освоении:
libcurl - сишная библиотека для работы с сетью (существует также curlpp - крестовая обертка для нее, но использовать ее не стоит, ибо разработка заброшена еще в 2009 году) - http://curl.haxx.se
SFML - работа с графикой и аудио - http://www.sfml-dev.org
FLTK - графические интерфейсы - http://fltk.org

И еще куча библиотек на любой вкус - http://en.cppreference.com/w/cpp/links/libs

Q: Я прочитал все вышеперечисленное, теперь я гуру! Что дальше?
A: Дальше переходишь по ссылке http://cppquiz.org/ , пробуешь отвечать на вопросы и понимаешь, что ты пока в самом начале пути. Кроличья нора крестов практически бездонна, поэтому продолжать постигать тонкости и детали можно очень и очень долго. В то же время, на этом этапе у тебя должно быть достаточно знаний, чтобы уверенно писать неплохой код. Поэтому читай исходники открытого софта и библиотек, отправляй пулл-реквесты в них, читай книжки по предметным областям и общим методикам разработки, а дальше уже сможешь запилить свой проект или вкатиться в существующий.
#2 #653026
#2 #653026
#3 #653027
Клаза кайфуют когда крестуха ОП'ет! Вах маладэц!
#4 #653035
>>653023 (OP)
Почему шапку не поправил? Столько времени было.
>>653040
#5 #653040
>>653035
Потому что там исходники буквально все в одну строчку, и не получится по-быстрому изменить форматирование если ты об этом. А еще я хотел сделать все вместе как масштабный перепил шапки, чтобы и книжки новые были, и всякое разное. Поэтому пока ищу и структурирую материалы для впиливания, ну и смотрю реквесты в треде, так что пилите предложения сейчас, господа инб4 дейтелы/выкинуть половину шапки, лол.
>>653050
#6 #653050
>>653061
#7 #653061
>>653050
Так там фактически то же самое, но другими словами. Я не очень понимаю, зачем делать ссылку на вики, тем более, что там хуй тебе объяснят в деталях. Вроде в одном из тредов вбрасывали, как хейтеры периодически набигают на статьи и меняют формулировки на хейтерские. Там у них даже была здоровая паста типа методички ольгинцев.
>>653070
#8 #653070
>>653061

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


хотеть видеть!
>>653077>>653174
#9 #653077
>>653070

>типа методички ольгинцев.


Вставляют +15?
#10 #653144
ОП-пик - унылое поделие
Стих - объебосный высер
Шапка - нечитаемое говно
Оп - хуй и еблан, почему предыдущую шапку не оставил?
>>653146>>653174
#11 #653145

>Нужно зделать %монструозная


Бля да ты гонишь.
>>653147
#12 #653146
>>653144

>Эта боль прошлого опа.

>>653148
#13 #653147
>>653145
Четвёрты тред про это напоминаю.
>>653174
#14 #653148
>>653146
Тащемта да, боль. Я хоть и не фанат этих ебанутых стихов, но похуй. Но шапка - это тот еще пиздец. И ладно бы если взял все хорошее от старой шапки и от новой, но нет, хуй! Как последний вахтер выкатил свое поделие с говноразметкой и орфографическими ошибками, которые не фиксит уже 4 тред(!!!).
#15 #653155
>>653148
Может завайпаем?
#16 #653174
>>653070
Где-то в районе десятого треда оно было, сделай на архиваче поиск по "ru.wikipedia" в треде.
>>653144
Это временно же, я просто не успел перепилить разметку. Я во многом не согласен с твоей позицией по поводу шапки а от твоей пунктуации меня вообще трисет, но полностью разделяю мнение, что нужно брать все доступные хорошие идеи и пихать туда. Сожалею, если кому-то мои действия кажутся вахтерскими, я действительно здесь хочу исключительно процветания треда и комфорта для анона. Разметка будет перепилена уже скоро.
>>653147
Мне показалось, что ты троллируешь так. Если ты заглянешь спойлер, твоя жизнь никогда не станет прежней: на самом деле "зделать", "джва" etc - это устойчивые на двачах обороты, пришедшие из известной пасты про корованы. Если ты видишь их, то ты с вероятностью ~1 видишь отсылки, а не проявления безграмотности. Такие дела.
>>653183
#17 #653183
>>653174
Луркоёб блять. Ещё с специальной олимпиадой ты скорее всего приставал про деления числа на 5 бинарными операциями.
>>653281
#18 #653281
>>653183
Нет, я наоборот решал это дерьмо.
#19 #653325
>>653148
Хуя как ньюфагов порвало. Стих хороший, а ты - баттхёрт
#20 #653411
Есть unique_ptr<Dungeon> dungeon(new Dungeon(x,y));
У класса Dungeon есть перегруженный оператор[]
Как к нему обратиться? dungeon[x][y] выдает ошибку: 'std::unique_ptr<Dungeon>' does not provide a subscript operator
#21 #653412
>>653411
оператор возвращает char(ЗВЕЗДОЧКА), так что dungeon[x][y] должно работать.
>>653976
#22 #653415
>>653411
dungeon.get()[x][y]
dungeon->operator[](x)[y]
(звёздочка dungeon)[x][y]
>>653416>>653959
#23 #653416
>>653415

> dungeon.get()[x][y]


Стоп. Это не сработает
>>653976
#24 #653472
>>653411

>У класса Dungeon есть перегруженный оператор[]


А надо оператор [][]
>>653483>>653497
5 Кб, 160x121
#25 #653483
>>653472

> надо оператор [][]


Жалко только что такого оператора нет, да?
>>653506
#26 #653497
>>653472
Оператора [][] не существует. Я сделал так:
char(ЗВЕЗДОЧКА) Dungeon::operator[](int y)
{
return dungeon_[y];
}
#27 #653506
>>653483
Бля. А если я считаю какие нибудь матрицы 100x100, мне что, в скалу идти?
#28 #653512
>>653506
На шаблонах можно ченить навелосипедить
#29 #653513
>>653506
Делать массив массивов, если тебе не жаль памяти на лишние указатели.
#30 #653621
>>653506
В чем проблема?
const T &operator()(index_t column, index_t row) const;
T &operator()(index_t column, index_t row);
def apply(column: Int, row: Int): T;
def update(column: Int, row: Int, value: T): Unit
>>653624
#31 #653624
>>653621
column и row поменять местами, конечно же
fix
#32 #653689
Хотеть такую переменую которая будет вычисляться при обращении к ней. Тип int. Функцию не хочу заводить. Думаю завести класс с оператор копирования в инт, но как выть со скоростью и получить доступ к элементам другого класса?
>>653691>>653692
#33 #653691
>>653689

>Хотеть такую переменую которая будет вычисляться при обращении к ней.


Придумано 20 лет назад, называется lazy initialization.

>Думаю завести класс с оператор копирования в инт, но как выть со скоростью и получить доступ к элементам другого класса?


А теперь сформируй по-человечески. Или хотябы набрасай код, что ты там имел ввиду.
>>653696
#34 #653692
>>653689
гугли lazy evaluation
>>653696
#35 #653696
>>653692

>lazy evaluation


>>653691

>lazy initialization.


Я не понял. Это сложно. Покажите где просто всё поясняют.
>>653711
#36 #653711
>>653696
соси хуй, просто ему надо
Самый простой и короткий метод -
int lazy_init(){
static int huec;
return huec;
}
Пример из 2-й ссылки в гугле, если хош поархитектурить, почувствовать себя батей - https://en.wikipedia.org/wiki/Lazy_initialization#C.2B.2B
>>653727
#37 #653727
>>653711
А как это работает? Почему статик помогает?
#38 #653742
>>653727
тащемта, никаких секретов тут нет. тупо берет и подходит без задней мысли.
>>653743
#39 #653743
>>653742
блядь, помогает, а не подходит
#40 #653752
>>653727
Потому что почитай что такое static.
>>653760
#41 #653760
>>653752
Я знаю что это.
>>653763
#42 #653763
>>653760
Из твоего вопроса >>653727 не знаешь.
31 Кб, 592x467
130 Кб, 1280x720
111 Кб, 720x1280
#43 #653767
Почаны, а в энтерпрайзе на серверах юзают boost? Или ещё что-нибудь?

Выбирал что учить: Java или C++. Стал учить C++.
Покурил по STL. Пиздатые контейнеры, итераторы, регэкспики и прочая тележка ништяков, которой я остался доволен, но не тут то было!

Разбился я об задачу сделать GET запрос, хоть куда-нибудь!
Охуеть! даже на ссаной джаве в стандартных библиотеках нарыть можно network!

sys/socket.h
Это для бородатого прпродителя всех современных языков. Хочется обмазываться ООП!

Короче охуев от происходящего и вмазавшись стопарём для верности я пошёл курить boost/asio.hpp

И да, анон, я сделал это!

Но это не паста об успехе. Это паста о БОЛИ!
Неужели нет никакого адекватного способа сделать элементарный http запрос, как в JS? пирикотываюсь с WEB кодинга и интересует синтаксис подобный AJAX

Нет, надо открывать сокет, согздавать tcp соединение, писать туда

>>GET / HTTP/1.0,


заголовки и прочую http-магию!

Потом буфером читать всё приходящее!

Чому бы не сделать что-нибудь типа
string data = http.get("http://2ch.hk"); синхронно, но похуй
?

Я подвыпивший, анон. И учить на нетрезвую голову буст... ОТЛИЧНАЯ ИДЕЯ!

На первом пике тот самый ГОВНОКОД. До сих пор не разобрался с namespace, но всё впереди.

Второй и третий пик -- два стула.
31 Кб, 592x467
130 Кб, 1280x720
111 Кб, 720x1280
#43 #653767
Почаны, а в энтерпрайзе на серверах юзают boost? Или ещё что-нибудь?

Выбирал что учить: Java или C++. Стал учить C++.
Покурил по STL. Пиздатые контейнеры, итераторы, регэкспики и прочая тележка ништяков, которой я остался доволен, но не тут то было!

Разбился я об задачу сделать GET запрос, хоть куда-нибудь!
Охуеть! даже на ссаной джаве в стандартных библиотеках нарыть можно network!

sys/socket.h
Это для бородатого прпродителя всех современных языков. Хочется обмазываться ООП!

Короче охуев от происходящего и вмазавшись стопарём для верности я пошёл курить boost/asio.hpp

И да, анон, я сделал это!

Но это не паста об успехе. Это паста о БОЛИ!
Неужели нет никакого адекватного способа сделать элементарный http запрос, как в JS? пирикотываюсь с WEB кодинга и интересует синтаксис подобный AJAX

Нет, надо открывать сокет, согздавать tcp соединение, писать туда

>>GET / HTTP/1.0,


заголовки и прочую http-магию!

Потом буфером читать всё приходящее!

Чому бы не сделать что-нибудь типа
string data = http.get("http://2ch.hk"); синхронно, но похуй
?

Я подвыпивший, анон. И учить на нетрезвую голову буст... ОТЛИЧНАЯ ИДЕЯ!

На первом пике тот самый ГОВНОКОД. До сих пор не разобрался с namespace, но всё впереди.

Второй и третий пик -- два стула.
#44 #653772
Этот же >>653767 бухой антоха. Забыл ещё вопрос.

На эмбеддед, ну встраиваемые системы сгодится C++
Или придётся заниматься анусной еблей с его старшим братом Сиииииии?
#45 #653773
Помогите найти репозиторий на плюсах, со средней по объемам кодобазой, который можно было бы раскурить за неделю, почерпнуть что-нибудь новое для себя, возможно даже отправить пару патчей.
Охуенно было бы, если бы присутствовал Boost/Qt. Я регулярно отсылаю патчи в два проекта, которыми пользуюсь сам, но я более не нашел ничего нового. На том же гитхабе куча непонятно для чего хуйни вот именно непонятно для чего, а велосипеды писать уже наосточертело.
Работы у меня нет, а руки как-то набивать надо.
Я знаю, что сейчас обосрете, но войдите в ситуацию - я хочу и буду развиваться, но я сбился с пути и не знаю, как мне развиваться дальше.
>>653796>>653812
#46 #653775
Рейт сортировку кучей. Она работает скорее всего, но это не точно т.к. не нашёл задачу на которой её потестить не переделывая, но выглядит очень плохо. Что переделать?

https://ideone.com/uvYbZS
>>653777>>654348
#47 #653777
>>653775
Да хотя бы перестань жаться на пробелы между операторами. пиздец портянка же.
>>653782>>654406
#48 #653780
>>653767
Годноту завозят, но медленно
https://isocpp.org/std/status
#49 #653782
>>653777
Но так же компакте. А в иде обычно есть подсветка парных скобок и это не сильно мешает. Никогда не понимал пихать пробелы везде.
>>653791
#50 #653791
>>653782
Мда.
#51 #653795
>>653767

>Неужели нет никакого адекватного способа сделать элементарный http запрос, как в JS?


>Нет, надо открывать сокет, согздавать tcp соединение, писать туда


Напиши библиотеку. Имплементацией будет вот эта вся ебала с сокетами, а интерфейсом твой метод:

>http.get


Так-то везде сокеты используются, просто в некоторых яп есть библиотеки, которые представляют нормальный интерфейс.
>>653801>>653804
#52 #653796
>>653773
qtcreator
>>653799
#53 #653799
>>653796
Не поверишь, один коммит я туда впихнул полгода назад.
Но вроде как довольно огромная кодобаза, не считаешь?
#54 #653801
>>653795
iosocket?
>>653809
#55 #653804
>>653795
Нет, ну понятно, что за красивым http.get(); скрываются сокеты и прочая чёрная магия. Я к тому, что лепить велосипеды есть не самая привлекательная практика.
С другой стороны, чому бы и нет
#56 #653805
>>653767
Ну так возьми библиотеку для этого, ёбана. Я б посоветовал casablanca - оч красыво, асинхронно и с C++11.
>>653937
#57 #653806
>>653148
Вот тред без ошибок:
>>642217 (OP)
^ ^ ^ ^
| \ / |
#58 #653809
>>653801
ну, можно и эту использовать, наверное.
#59 #653811
>>653767
И ещё вопрос назрел!
А не буду ли я жрать тюрю с крестами?

Джуном на C++ реально ли устроиться где-нибудь за пределами ДС?
#60 #653812
>>653773

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



Зачем? Тебе делать нехуй, специально курить левый код? Хочешь найти йоба-архитектурные решения - читай книжки, пиши код в интересных тебе проектах.
>>653827
#61 #653813
#62 #653814
>>653811
Насколько за пределами?
>>653819
#63 #653815
>>653767

>#define ip boost::asio::ip


Не делай так больше.
http://en.cppreference.com/w/cpp/language/namespace_alias
#64 #653817
>>653811
формошлепить - вряд ли. c#, java - это да, а вот qt не очень распространен.
computer vision - возьмут, если найдешь. другие языки редко используются.
геймдев - возьмут, если найдешь. другие языки почти не используются.
научные вычисления - возьмут, если найдешь. тут, чаще всего, похуй, какой язык используется. разве если нужна скорость, тогда точно с++ .
#65 #653819
>>653814
Камчатка.
#66 #653827
>>653812
Какие такие книжки по йоба-архитектурным решениям? В книжках все охуительно просто, да, и примеры такие понятные, потому что оторвано от реальности, там не покажут, где можно использовать хуевый антипаттерн, а где можно сделать вот так уот. Нахуй эти ваши книжки, сколько можно уже их читать?
>>654249
#67 #653841
Аноны, на этой неделе нужно будет писать лабы на C++, а у меня даже компилятора нет. Какой выбрать? Codeblocks не вкатил, с Eclipse я обосрался, так как не шарю в каких-то там установках компилятора отдельно и вообще не понимаю разницы между minwg и cgwin. Есть что-то на уровне Flash Develop - чтобы установил и пишешь спокойно, без всякой мозгоебли?
#68 #653842
>>653841

>Codeblocks не вкатил


Почему? Выбери студию.
>>653848
#69 #653844
>>653841
vim + gcc
>>653848
#70 #653845
>>653841
Dev-C++ от orwell'a
>>653848
#71 #653847
>>653841
Не нужен тебе компилятор, брат, пиши лучше на питоне
>>653851
#72 #653848
>>653842
Почему именно студия?
>>653845
Почему именно Dev-C++?
>>653844
У меня нехорошие ассоциации со словом vim после работы с гитом. Что это?
>>653856>>653860
#73 #653851
>>653847

>нужно


>на C++

>>653854
#74 #653853
>>653841
И кажется я снова обосрался
Нужна IDE, а не компилятор, лол. Точнее, IDE с компилятором и минимумом мозгоебли.
#75 #653854
>>653851
Тогда гугли интерпретатор для c++
#76 #653856
>>653848
DevC++ мало весит, можно писать всякую хуйню сразу как установил.
#77 #653860
>>653848

>Почему именно студия?


Много умных дяденек из умной компании делают IDE вместе с компилятором. Простой и специально для винды. А ещё работает хорошо. Но я пользуюсь кодблоксом.
>>653868>>653887
#78 #653868
>>653860
Её качать долго.
#79 #653871
>>653868
а ещё там дэбагер говорят ахуеный
>>653887
#80 #653872
Кстати, аноны, а расскажите, нахуя нужны библиотеки? Ну не в смысле их содержимое, а сама идея библиотек? Почему нельзя, чтобы всё можно было использовать без десятка include'ов в начале программы? И не обсираться каждый раз, когда подсмотренная где-то фича в середине кода требует библиотеки, о которой ты даже понятия не имеешь?
#81 #653877
>>653868
Думаешь за пару дней не скачается?
#82 #653878
>>653872
Чтобы твоя программа Hello World не весила 100 Гб.
>>653893
#83 #653881
>>653872
Писать код, не имея понятия какие библиотеки ты подключил эээээто блядь вообще как ._.
>>653893
#84 #653884
>>653872
Чтобы усеньшить время компиляции.
>>653893
#85 #653887
>>653868
даже в рашке относительно нормальный интернет есть, если у тебя конечно не беспроводной YOBA-модем
>>653860
>>653871
А там есть автозаполнение и справка? Автозаполнение на уровне того же Codeblocks или PascalABC - чтобы могла предложить разные варианты на введённую часть слова и указать параметры для функции/процедуры.
#86 #653889
>>653887
Есть. На данный момент MVS это как boost - есть всё, но весит много и надо слегка поебаться.
>>653895
#87 #653890
>>653887
Ну ты не ебанутый ли? Конечно нет, где студия, а где кодблокс!
#88 #653892
>>653887
Это уникальная и запатентованная фича PascalABC. Кодблокс отвалили миллионы чтобы получить разрешение на это.
#89 #653893
>>653881
ньюфаг же, наверняка для тру погромистов с двача это вопрос на уровне "почему небо синее"
>>653878
>>653884
Получается, что подключенная библиотека банально позволяет экономить время и место, чтобы не приходилось самому писать все функции и процедуры?
>>653897>>653899
#90 #653895
>>653889
поебаться конкретно с чем?
>>653902
#91 #653897
>>653893
Да иди на хуй, жирный зелёный ублюдок.
>>653905
#92 #653899
>>653893

>Получается, что подключенная библиотека банально позволяет экономить время и место, чтобы не приходилось самому писать все функции и процедуры?


Ага. А ещё если ты не будешь подключать лишнее, то у тебя имена не будут заняты и сможешь например свой класс set написать.
>>653905
#93 #653902
>>653895
Подозреваю что с этим.

>A: Под шиндошс удобно использовать IDE Microsoft™ Visual Studio®. Базовую версию (2015 Community) можно бесплатно скачать отсюда: https://goo.gl/qgAAc6 (русская версия) или https://goo.gl/WIPW9L (ангельская версия). Чтобы начать писать код, нужно запустить Visual Studio, кликнуть "Файл - Создать - Проект - Пустой проект", после создания кликнуть слева правой кнопкой мыши по пункту "Файлы исходного кода", выбрать "Добавить - Создать элемент - Файл C++". Свои хэллоуворлды писать в этот файл, в дальнейшем можно добавить другие файлы и хедеры. Чтобы скомпилировать и запустить проект, нужно нажать "Сборка - Собрать решение", а затем "Отладка - Запуск без отладки".

>>653909>>653911
#94 #653905
>>653897
лесом
>>653899
спасибо
#95 #653909
>>653902
Хорошо, попробую, спасибо.
#96 #653911
>>653902
Ну вот и подробный гайд по созданию проекта в студии пригодился. Передайте нелегитимному что он был не прав когда его из шапки выпилил. Представляете как долго пришлось бы ему всё объяснять без этого абзаца в шапке?
>>653913>>653982
#97 #653913
>>653911
Вы просмотрели моноспектакль за авторством легитимного опа.
Teh end.
>>653925
#98 #653925
>>653913
У вас детектор сломался, дружище.
мимооп
>>653931
#99 #653931
>>653925

>дружище


Не друг ты мне, гнида черножопая!
#100 #653937
>>653805
Она тяжелая, зараза. Если подключить и один раз поебаться, то удобно, да, подсядешь почище, чем на хмурый, но весь вопрос в том, стоит ли начинать. Если проект мелкий, то она на порядок тяжелее всего твоего кода будет, по весу сравнима с бустом жи.
>>654370
#101 #653953
>>653411
никто не знает что ли?
#102 #653957
>>653953
Дебил ебучий, нету такого оператора как [][] у unique_ptr, написано же черным по белому.
>>653958>>653976
#103 #653958
>>653957
Покажите как делать его.
мимопроходил
>>653964>>653969
#104 #653959
>>653953
анон же написал >>653415
>>653976
#105 #653962
>>653953
Эээ, ну как (*dungeon)[42], например. Это справедливо для любых методов-операторов не с нормальным именем, а с operator[] или типа того - чтобы использовать, нужно разыменовать указатель. Еще можно написать dungeon->operator [] (42), будет то же самое, но не так красиво.

Короче говоря, работай с unique_ptr как с обычным указателем, в плане доступа они идентичны.
>>653979
#106 #653964
>>653958
Вгугле охуенное решение.
#107 #653969
>>653958
Заебали бля, идите учить синтаксис - нет оператора [][] в C++. [][] - это два вызова метода "operator []" или (obj[])[] в случае встроенного выражения над указателями.
Чтобы имитировать семантику без использования вложенных объектов хуярьте метод "get(row, col)"
>>653993
#108 #653976
>>653412
>>653957
пидарас пошел нахуй сука
>>653959
я вот этот >>653416 пост увидел и не стал пробовать.
работает, спасибо всем.
>>653994
#109 #653979
>>653962

>Эээ, ну как (*dungeon)[42]


тоже сработало, спасибо.
#110 #653982
>>653911

>Представляете как долго пришлось бы ему всё объяснять без этого абзаца в шапке?


https://msdn.microsoft.com/ru-ru/library/4457htyc.aspx?f=255&MSPPError=-2147217396

Соглашусь, что мотивация выпилить этот гайд была неправильной, но я по-прежнему считаю, что этот гайд тут лишний. Этот тред - отправная точка для новичков и место перетереть для опытных господ. Не нужно делать из шапки книгу, в которой все написано. Так ты будешь повторять уже существующие 1001 статьи в интернете, в особенности если это офф. справка из IDE. Достаточно либо дать ссылку возле упоминания IDE в шапке, либо напомнить, что документацию не просто так пишут. Об этом многие почему-то забывают.
>>653984>>654114
#111 #653984
>>653982
лучше больше информации, чем меньше, имхо. можно в гитхаб все закинуть, если слишком мешает.
мимо неоп
>>654000
#112 #653993
>>653969
Через проксю ебашить можно [][]
>>653998>>654117
#113 #653994
>>653976
Т.е. ты не смог разыменовать смартпойнтер? Так пидарас это ты, избавь мир от себя
>>654001
#114 #653998
>>653993
шта?
>>654003
#115 #654000
>>653984
Ну ок, пусть будет ссылка на msdn, зойчем копипастить?
#116 #654001
>>653994
я разыменововал, просто скобки забыл. чмо
#117 #654003
>>653998
Сука, паттерн такой, прокси. Через него можно сделать [][] для чего угодно.
>>654004
#118 #654004
>>654003
И нахуя?
>>654012
#119 #654012
>>654004
Ты дурак?
>>654015>>654016
#120 #654015
>>654012
что?
#121 #654016
>>654012
Чтобы не городить лишнюю сущность?
>>654018
#122 #654018
>>654016
В виде гомика
#123 #654114
>>653982
Кстати да, я эту страницу не видел раньше, можно и заменить. Главное, чтобы была какая-нибудь инфа вообще, а то уже раза три вкатывались ньюфаги, у которых то студия не ставится, то проект не создается.
>>654115
#124 #654115
>>654114

Windows: Visual Studio
Cкачать: https://goo.gl/qgAAc6
Инструкция: https://goo.gl/JMd57G

Linux: Code::Blocks
Cкачать: https://goo.gl/ZjrPgb
Инструкция: https://goo.gl/mFln8S

OS X: Xcode
Скачать: https://goo.gl/NEhJC4
Инструкция: https://goo.gl/TlN2QC
>>654118>>654123
#125 #654117
>>653993
Это дурной тон же. Получается не прокси, а такой недоадаптер. Прокси должен полностью имитировать интерфейс, е добавляя ничего лишнего. А адаптер ради переименования одного метода это признак плохой архитектуры.
#126 #654118
>>654115
Вот это отлично получилось, спасибо. Буду отталкиваться от твоего варианта.
>>654121
#127 #654121
>>654118
ОП, это ты?
>>654134
#128 #654123
>>654115

>Linux: Code::Blocks


АААААААААААААААА БЛЯЯЯТЬ ГАЧАЛЬНИК ЭТОТ ПИДОР ОБОСРАЛСЯ ИДИ МОЦ ЕГО БЛЯДЬ!
Замени хотя бы на QtCreator. Ещё dev-c++ замени.
#129 #654125
>>654123

>Ещё dev-c++ замени.


Бы заменил*
>>654134
#130 #654126
>>654123

>QtCreator


лагучее говно

>dev-c++ замени.


что на что заменить?
>>654129>>654134
#131 #654128
>>654123
kdevelop/qtcreator will do.
Но vim все равно лучше.
>>654131
#132 #654129
>>654126
Лагучее? Что
Как там на железе 1996 года?
>>654131
#133 #654131
>>654129
он у меня завис до того как я успел хэлоуворд скомпилировать и вообще не удобный интерфейс кнопочки нужные не могу найти. у других нуфагов будет также

>>654128

>vim


им ещё пользоваться надо научиться.
>>654142
#134 #654134
>>654121
Ага.
>>654123
>>654125
>>654126
Я думаю, оптимальным будет CodeLite. Он легкий, с дружелюбным для ньюфага интерфейсом, и автодополнение там самое лучшее среди швабодных IDE.
>>654136
#135 #654136
>>654134

>Ага


А ведь я тебе 4 треда про это говорил.
>>654470
#136 #654142
>>654131
Ну потому что у тебя ручечки из срачки, не проецируй на всех.
#137 #654195
Перекатился с джавы, интерфейс говно, скобки ставятся не двойные, подсказок мало, выбор из списка вариантов говно. С++ сосет.
>>654202
#138 #654202
>>654195
Ну и пиздуй отсюда, чмоша. Программирование не для тебя.
>>654221
#139 #654221
>>654202
Си сосет, джава вперед.
>>654235
#140 #654235
>>654221

>джава вперед.


куда? тоже сосать?
>>654244
#141 #654244
>>654235
А то
#142 #654249
>>653827
Как-то уже советовал анону. Поставь линукс и поищи там пакеты, которые зависят от qt или boost
>>654266
#143 #654266
>>654249
У меня и так арчик же.
#144 #654327
У меня очередной нубский вопрос. long long у на 64 битное. Но я могу этот тип использовать на 32 битных процах. Это число делится на 2 части(2 регистра)?
#145 #654330
Да ставьте уже clion, заебали
>>654475
#146 #654333
>>654327

> long long у на 64 битное


Он может быть равен одному байту и это будет полностью соответствовать стандарту, если все остальные типы тоже по одному байту.
#147 #654336
>>654333
ну я про минимальный размер
#148 #654337
>>654333
Какой ты умный. Тебя про конкретный случай спросили. Что тогда будет?
>>654490
#149 #654346
>>654333
Пиздишь.
>>654362
105 Кб, 1024x683
#150 #654348
>>653775
я честно пытался вкурить твой листинг, но твой код-стайл... во мне что-то сломалось где-то на тернарном операторе
>>654371>>654406
#151 #654355
#152 #654362
>>654333
>>654346
Впрочем, ты ещё можешь себя спасти, сказав "если байт 64-битный".
>>654490
#153 #654366
>>653872
пссс я тебе пальну оче хитрую технику по оптимизации компелирования...
тебе не нужны инклуды, просто смотришь на объявление нужной тебе функции в заголовочники и копируешь его к себе в самое начало кода.
и да, в зависимости тяни сразу все бинарники, что есть на системе. тогда компилятор сможет съоптимизировать всё это под капотом. и твой конечный бинарник буде тонинькем
#154 #654370
>>653937

> 2017


> если я подключу эту библиотеку, то мой код станет весить больше на 100kb ОБОЖЕ-ИМПЕРАТОР


> оптимизацию конечного бинарника линковщиком до сих пор все игнорили

>>654481
#155 #654371
>>654348
Что с ним? add поднимает элемент по куче, а del заменяет корень на 0 и топит его ну и возвращает его. sort пока есть элементы выводит корень и просеивает 0 который на его место ложит.
>>654378
#156 #654373
>>654327
s kakogo ty reshil, 4to long long == 64bit?
eto garantirovano tolko dlya sootv tipov: http://en.cppreference.com/w/cpp/types/integer
mudila
>>654375
#157 #654375
>>654373

>s kakogo ty reshil, 4to long long == 64bit?


Не придирайся. long long ≥ 64 bit.
#158 #654378
>>654371
просто расставляй блядские пробелы.
в стране кризис, да. места на жёстких дисках не хватает, надо экономить.
но всё же: пробелов расставляй.
>>654382>>654385
#159 #654382
>>654378
Я ему это еще 200 постов назад сказал. Но он же ебливая пидораха жадная, наверное пакеты моет.
#160 #654385
>>654378

>int next(int n){return (v[n2+1]>v[n2+2])?n2+1:n2+2;};


Как ты это представляешь в одну строчку с пробелами?
>>654391>>654396
#161 #654391
>>654385
в одну? никак конешн
http://pastebin.com/t26cfZn6
ебать ты жыд
>>654394
#162 #654394
>>654391

>int


>next(int n)


Шутка?
#163 #654396
>>654385
Нахуя писать это в одну строчку, ебанутый?
>>654403
#164 #654403
>>654396
Это простая функция которая просто возвращает адрес потомка. Понятно работает и по несколько раз её пересматривать не надо. Вот и сократил. Не мешает когда в одну. А функцию с одним ретурном на 6 строк это не компактно. Я же заблужусь в этом классе потом.
#165 #654406
>>654348
>>653777
Вы просто не умеете ЧИТАТЬ ЧУЖОЙ КОД.
#166 #654407
>>654406
Нахуя мне читать высеры неквалифицированных долбоебов, что я там не видел? Пиздуй лабы делать.
#167 #654408
>>654406
МЫ ДАЖЕ В НЁМ РАЗБИРАТЬСЯ НЕ УМЕЕМ.
хотя я и работаю в бодишопе
#168 #654409
>>654406

> Вы просто не умеете ЧИТАТЬ ХУЁГО НАПИСАННЫЙ ЧУЖОЙ КОД.


fixed
#169 #654470
>>654136
Лол, ну я ведь тоже человек. Бывает, что времени нет читать весь тред, особенно с учетом активности анона. Похоже, бамплимит будет задолго до конца этой недели.
#170 #654475
>>654330
Я все никак не соберусь попробовать его всерьез. Да и вангую, что студия все равно останется у меня в приоритете, в лучших традициях утят.
#171 #654481
>>654370
Вспомнил статью, которую недавно читал. Там хаскеллист добивался, чтобы его формочка на wxHaskell компилировалась меньше, чем в 20 мегабайт. Это, конечно, не так критично в 2016 году, да, но все равно возможность фонового необременяющего байтоебства это одна из привлекательных фич крестов.
#172 #654490
>>654337

> Что тогда будет?


Зависит от реализации, например окажется что в long long 32 бита.

>>654362
В какой строчке стандарт противоречит тому что я написал?
>>654506>>654520
#173 #654506
>>654490

> окажется что в long long 32 бита


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

>В какой строчке стандарт противоречит тому что я написал?


http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1256.pdf#35
— minimum value for an object of type `long long int'
LLONG_MIN -9223372036854775807 // −(2^63 − 1)
— maximum value for an object of type `long long int'
LLONG_MAX +9223372036854775807 // 2^63 − 1
— maximum value for an object of type `unsigned long long int'
ULLONG_MAX 18446744073709551615 // 2^64 − 1

inb4 "эта стандарт си, а я пра сиплюсплюс гаварю, ты саснул!!!":
std::numeric_limits<long long>::lowest() = LLONG_MIN
std::numeric_limits<long long>::max() = LLONG_MAX
#174 #654520
>>654490

>В какой строчке стандарт противоречит тому что я написал?


http://en.cppreference.com/w/cpp/language/types
(un)signed long long: Width in bits by data model: C++ standard: at least 64
#175 #655367
>>653841
Kdevelop
137 Кб, 876x589
#176 #655466
Сколько будет стоить решить это? Мимопхпер из соседнего треда нулевой в крестах.
#177 #655514
#178 #655536
>>655466
Слишком мало, чтобы за это кто-то взялся. Готовься или переплачивать, или искать доброанона забесплатно.
#179 #655540
>>655466
0.01 BTC
#180 #655683
>>655466

> (max zk)2


Тебя наёбывают.
>>655685
#181 #655685
>>655683
Перечитал, нет не наёбывают.
#182 #655688
>>655466
http://people.cedarville.edu/Employee/kshomper/cs1220_web/examples/complexNumber.h
http://people.cedarville.edu/Employee/kshomper/cs1220_web/examples/complexNumber.cpp
Операторы сравнения сам запили по аналогии:
friend bool operator< (const ComplexNumber &a, const ComplexNumber &b);

bool operator< (const ComplexNumber &a, const ComplexNumber &b) {
return a.r < b.r || a.r = b.r && a.i < b.i;
}

Отдельный конструктор только для float не нужен, у тебя в обычном уже зеданы значения по-умолчанию.
#183 #655840
Аноны, нужна ваша помощь.
mysql_real_query(conn,"SELECT * FROM clients.client",200000);
res = mysql_store_result(&conn);
while((row = mysql_fetch_row(res))) {
for (int i=0 ; i < mysql_num_fields(res); i++)
dataGridView1->Rows->Add();
как теперь в Rows положить строку из вывода запроса?
>>655901>>655925
#184 #655901
>>655840
Делаешь пандорический захват, лифтишь запрос в монаду, потом строишь рекурсивную схему (здесь подойдёт зигохистоморфный препроморфизм) как монадический трансформер из категории эндофункторов, и метациклически записываешь строку. Любой второкурсник справится. А если делать на анафорических лямбдах — так задачка вообще на пять минут.
>>655908>>656406
#185 #655908
>>655901
Универсальное решения для любой задачи.
126 Кб, 1179x663
#186 #655925
>>655840

> dataGridView1


> С++/CLI

#187 #655927
А почему вы не запилите где-нибудь свою конфу для удобного общения?
Например в телеграме или скайпе?
>>655930
#188 #655930
>>655927
Есть нелегитимная конфа 2chpr.slack.com в которой в cpp канале 3.5 человека, включая меня, сидим вечерами.
#189 #655931
>>655930
А вы там новичкам помогаете?
И просто мораль поднимаете? Я недавно начал...
>>655935
#190 #655935
>>655931
Последнее время один чел вбрасывает тезисы из Дизайна и эволюции, а мы их обсуждаем. Новичков не помню даже. Заходи и задавай вопросы, если тебе формат этого треда не устраивает.
#191 #655943
>>655930
Пишет что нужны инвайты.
>>655953
#193 #655954
>>655953
Какой-то подозрительный сайт.
18 Кб, 440x819
#194 #655958
>>655953
Подскажи, почему я не могу зарегистрироваться? Вводу любой юзернейм, но кнопка регистрации не горит.
#195 #655987
>>655953
>>655930
Меня оттуда прогнали.
>>655998
#196 #655998
>>655930

> 14:05:58


>Есть нелегитимная конфа


>>655987

>15:11:59


>Меня оттуда прогнали.


Лол. Что ты сделал?
>>656006
#197 #656002
Котоны, а можно как-то посмотреть что и сколько потребляет памяти в определённые моменты работы программы?
>>656021
#198 #656006
>>655998
Сказали что там не для обучающихся.
>>657454
#199 #656021
>>656002
Профайлер.
>>656024
#200 #656024
>>656021
Пробовал обмазаться valgrind, но он выдаёт какую-то нечитаему хуиту по возможным протечкам.
>>656027
#201 #656027
>>656024
Ну и я не нашёл там никаких аналогов breakpoint дебаггера, которые можно было бы расставить в определённых местах и наблюдать именно там.
#202 #656044
посоны, а давайте анонимную имиджборду запилим на плюсах по типу биткоина? суть такова: можно майнить посты, делать мудерацию, а также запускать сайдчеины
>>656056
#203 #656047
Если с числа инт взять квадратный корень, почему оно выводится как дабл?
>>656049
#204 #656049
>>656047
Потому что не каждого инта корень целый
#205 #656056
>>656044
А я вод хочу борду онли для кодеров. Но пилить не буду т.к. лень. У кого ещё какие идеи на миллион?
#206 #656066
Интересный язык.
А вообще, змейку или калькулятор на С++ легко написать?
sage #207 #656087
>>656066

>Интересный язык.


Нет.
>>656088
#208 #656088
>>656087
Джавадаун в треде, я спокоен.
>>656089
sage #209 #656089
>>656088
Детектор чини, маня.
#210 #656091
>>656066
Их и на брейнфаке не трудно написать.
#211 #656092
>>656066
консольный разве что
>>656096
#212 #656096
>>656092
А кнопки, окно - тяжело, что ли, написать?
>>656099
#213 #656099
>>656096
В stl гуя нет, удачи ебаться с библиотеками
>>656101>>656103
#214 #656101
>>656099
Что за stl?
Я, вообще, игры хотел писать...
>>656102
#215 #656102
>>656101

> Что за stl?


> Я, вообще, игры хотел писать...


Нууу, удачи...
>>656106
sage #216 #656103
>>656099
В stl и консоли нет. Есть только потоки, которые не ебут, куда данные выводятся.
>>656110
#217 #656106
>>656102
Я, просто, недавно изучаю язык, может что не понимаю.
На нём тяжело написать все эти кнопки, что ли?
>>656108>>656112
#218 #656108
>>656106
На голых крестах и stl их написать НЕВОЗМОЖНО.
>>656111
#219 #656110
>>656103
Кактак? А как тогда их выводить? сть такой способ читать/писать потоки в файл, но так чтобы в консоли не работало?
#220 #656111
>>656108
А что надо для этого?
Чтобы написать простенькую 3д игру?
#221 #656112
>>656106
Нет, тебе мозги ебут просто.
#222 #656114
>>656111

>3д


3д библиотека
>>656119
#223 #656115
>>656111

> простенькую 3д игру


ох бой хир ви го
>>656119
sage #224 #656117
>>656111
шкальник хочет в геймдев, ты знаешь чики-чики-чики-чики-та.
>>656119
95 Кб, 500x545
#225 #656119
>>656117
>>656115
>>656114
Мне кажется что я в чём-то ошибся, но в чём?
#226 #656122
>>656119
В том, что хочешь делать то, в чём вообще нихуя не понимаешь.
>>656124
#227 #656123
>>656119
С выбором языка начального уровня. В шапке прикрепленного треда написано: python.
>>656126
#228 #656124
>>656122
Типичный школьник с рашкоборд. Человек к тебе пришел с вопросом, а ты самоутверждаешься.
#229 #656126
>>656123
Я слышал что абсолютное большинство игр пишут на С++?
>>656129>>656135
#230 #656127
>>656119
Ты переоцениваешь свои силы. Начни с основ, читни книгу, потом уже выберешь средство для рисования графики
>>656138
#231 #656129
>>656126
Большинство игр пишут на юнити и уече, которые написаны на c++
>>656134>>656138
#232 #656134
>>656129
А С++ компилируют в ассемблер.
#233 #656135
>>656126
Инди разработчикам стоит брать Java (Minecraft) или C# (Unity, XNA и т. п.). C++ для движкописателей игр ЫЫЫ класса, с таких вещей не начинают мамкины гейдевелоперы (а если начинают, то заканчивается это быстро с потерей интереса).
>>656138
384 Кб, 1920x1160
#234 #656138
>>656127
Я, как раз, читаю книгу.
Кстати, я уже 3 книги скачал - страуструп, с++ с шапки для продвинутых, и с++ для программирования игр.

>>656129
Я, как-то, запустил юнити и мало что там понял. Там надо эту программу изучать, а не язык.

>>656135
Ну, я хотел для начала создать простенькую змейку. Как на мобильниках, не думаю что это сложно, так?
А потом усовершенствовать, написать физику етц.
#235 #656142
>>656138

>Я, как-то, запустил юнити и мало что там понял. Там надо эту программу изучать, а не язык.


То что реализовано в юнити, самостоятельно ты не напишешь за всю свою жизнь. Ты даже примитивное подобие 3д рендера не запилишь раньше чем через полгода на плюсах
>>656148
45 Кб, 300x300
#236 #656143
>>656138

>скачал

>>656146
#237 #656146
>>656143
Съеби в /b/ уже, говноед.
sage #238 #656147
>>656138

>я уже 3 книги скачал


Я знаю каратэ, джиу-джитсу, самбо, дзюдо и... много других страшных слов!
#239 #656148
>>656142
А как инди разрабы делают игры с 0?
Я вижу некоторые вообще делают с 0 такое, что волосы дыбом встают - overgrowth вообще 1 человек с 0 написал.
>>656151>>656155
#240 #656151
>>656148
Ну, например до этого они ебошили лет 5-10 в хайлоад-энтерпрайзах?
#241 #656153
>>656138
Ну вот бери python и делай свою змейку. Для начала тебе нужно научиться программировать, похуй на чем, а потом взять наиболее удобный язык для своих задач. И это не С++, который дяди используют для бескомпромиссной производительности и для изучения которого нужно одних книг прочитать штук 10.
>>656162
#242 #656155
>>656148

> overgrowth


https://en.wikipedia.org/wiki/Wolfire_Games
Вот столько говна им пришлось написать перед тем как выдать overgrowth
>>656162
#243 #656162
>>656155
>>656153
А игры типа древнего 1 дума тяжело написать?
#244 #656165
>>656162
Даже на денди игры командами писали, в одно ебало любую игру сложнее змейки тяжело писать
>>656174
sage #245 #656169
>>656162
Смотря что ты понимаешь под "типа". Софтверный рендеринг? Написать можно. Линейную алгебру немного знать надо.
>>656174
308 Кб, 1600x1422
#246 #656174
>>656165
>>656169
Что-то вы меня расстроили совсем.
>>656178
#247 #656177
>>656162
Любой 3д-движок очень тяжело написать и большинство предпочитает их лицензировать. Дум, квейк, unity или unreal engine - это уже частности.
#248 #656178
>>656174
Ну, можешь взять юнити и потягать ползунки, но вряд ли ты сможешь таким образом сделать что-то сложнее змейки.
#249 #656182
>>656162
Найдите ему исходники дума, мне лень.
>>656185
#251 #656190
>>656185
В каком там файле код игры написан? Я немного не понял...
>>656192>>656196
#252 #656192
>>656190
Во всех оканчивающихся на .c .h .asm
#253 #656196
>>656190
Графика написана во всех файлах начинающихся с r_ вот тут https://github.com/id-Software/DOOM/tree/master/linuxdoom-1.10 . Другие префиксы тоже что-то значат.
>>656200
#254 #656200
>>656196
Выглядит дико, альсо, там во многих файлах нет и тысячи строк кода т.е. всё довольно простенько описывается.
>>656205>>656207
#255 #656205
>>656200
Во всём проекте 61665 строк, удачи написать самому :)
>>656218
#256 #656207
>>656200
Ага, и всего-лишь сотня файлов, хуйня.
>>656218
17 Кб, 442x709
#257 #656218
>>656205
>>656207
В коде еще полно пустых мест и коментариев.
Я, кстати, думал что дум на си написан.
>>656220
#258 #656220
>>656218

>думал


А на чём он по-твоему написан?
>>656222
sage #259 #656222
>>656220
Да зарепорти жирного уже.
>>656226>>656232
#260 #656226
>>656222
А вдруг это правда залётный додик. Не в гд же его слать
>>656232
#261 #656232
>>656222
>>656226
Ладно, не буду вас раздражать. А то и у себя время отнимаю, и вам мешаю.
#262 #656406
>>655901
Затроллил ты меня анон. Я решил всё делать через стандартные пакеты VS.
https://msdn.microsoft.com/library/fbk67b6z(v=vs.100).aspx
Вот по этому ману.
#263 #656457
Чем Qt лучше Windows Forms в плане использования для гуи?
>>656460>>656470
#264 #656460
>>656457
Qt кроссплатформенно.
#265 #656470
>>656457
Тем что WinForms - .net хуитка, на которой можно писать с забытым майкрософтом костылём в виде C++CLI (который нихуя не C++).
#266 #656534
Пилю сервер на Qt. Хочу принять POST запрос с хрома/хромиума. Заголовки и статусная строка приходят а тело запроса нет. Ваши идеи
>>656565>>656583
5 Кб, 187x359
7 Кб, 456x342
#267 #656536
Поясните пожалуйста, почему чар выводит какой-то странный значёк, а не то что должен?
Это код аски.
sage #268 #656546
>>656536

> значёк


Потому что ты неграмотное хуйло.
>>656553
#269 #656550
>>656536
В таблицу символов посмотри. У этих номеров нет своих значков. 32 к выводу прибавь
>>656559
#270 #656553
>>656546
С кем не бывает, ну и не в этом суть проблемы. Извини, если задел твои чувства.
#271 #656556
>>656536
Ты пытаешься водить непечатаемые символы, не?
>>656559
#272 #656559
>>656550
>>656556
Почему если я у себя через alt + 1 ввожу, то выводится смайлик?
>>656563
#273 #656563
>>656559
При чём тут альт? В таблицу ascii посмотри
>>656567
#274 #656565
>>656534

>Ваши идеи


идея номер ноль: показать кот
>>656573
#275 #656567
>>656563
Я думал что через альт + число = вывод аски значка.
Тем более что если ввести альт + 97, то выведет а, как и все другие значения. Почему так?
>>656569
#276 #656569
>>656567

>Почему так?


Загугли какую кодировку альт выводит. Возможно первые символы с ascii совпадают. и в ascii всего 255 символов, а в альте больше
#277 #656573
>>656565
Хром не шлет тело
#278 #656583
>>656534

> HTTP-сервер на Qt


Но нахуя? Ведь есть божественный асио, который к тому же в TR2.
>>656611
#280 #656611
>>656583

>божественный асио


>который к тому же в TR2


Я надеюсь комитет передумает. Серьёзно.
>>656615
#281 #656615
>>656611
Чому? Годнота же.
>>656649
#282 #656635
Поясните пожалуйста, почему чар так странно реагирует на числа, выше 127?
>>656639
#283 #656639
>>656635
Нет. Дочитай главу.
>>656641
#284 #656641
>>656639
Ты знаешь что я читую и где!?
>>656643
#285 #656643
>>656641
Нет. Но там должны пояснить.
#286 #656644
Кто знает куда хром дел мою картинку
------WebKitFormBoundaryfAjvaUXbrUBQlmR0
Content-Disposition: form-data; name="photo"; filename="Снимок экрана от 2015-06-26 15:24:11.png"
Content-Type: image/png

------WebKitFormBoundaryfAjvaUXbrUBQlmR0--
>>656646
#287 #656646
>>656644

>fAjvaUXbrUBQlmR0


Чёрным по белому написано. В /dev/null поищи.
#288 #656649
>>656615
Хоть одно его достоинство назови, кроме конченной оверархитектурности (которую самые отбитки из илитки считают чем-то хорошим).
На нём даже блять нет ни 1 нормального http сервера (кроме pion который по первормансу на уровне нодыжс), который либо быстро работал бы, либо не падал где-то в недрах буста и не обсирался с чем нибудь вроде алгоритма Нейгла и кучи аналогичной хуйни имеющейся по дефолту.

Есть куча реально актуальной для текущих тенденций хуйни вроде акторов, корутин, транзакционной памяти и кучи прочего - в стандарт пропихивают ёбаный буст, код на котором в 5 раз больше кода на обычных сокетах (и причём имеет свою изголённую экосистему понятий и паттернов - нормальный код с сокетами куда легче читать).
>>656654>>656663
#289 #656652
Сук, он в Base64 отправляет что-ли
#290 #656654
>>656649

>буст


Имею ввиду именно асио, но всякие фениксы из его комплекта не меньшей помойности библиотеки.
#291 #656662
Ссаный хром, он даже текст в пост запросе не передает
#292 #656663
>>656649

> Хоть одно его достоинство назови


Кросплатформенные, headers-only, без дополнительных внешних зависимостей (кроме STL), асинхронные сокеты.
Если ты знаешь что-то такое, но лучше - с удовольсвием буду использовать.
>>656680
#293 #656665
Пасаны, что делать, где прячется тело пост запроса в хроме плиз
>>656667
#294 #656667
>>656665
Да возьми ты уже curl.
>>656669
#295 #656669
>>656667
Что с ним делатть, мне нужно из бровзера послать картинку
63 Кб, 725x436
#296 #656678
Посылал "qq" а их нет
#297 #656680
>>656663

>Кросплатформенные


Все современные сокетные библиотеки.

>headers-only,


В чём плюс-то? В том что хэловорд 10 минут компилируется? Разве что под спермой без репозиториев и нормальной структуры фс проблемно это говно руками тащить.

>асинхронные сокеты.


См пункт 1.

>Если ты знаешь что-то такое, но лучше - с удовольсвием буду использовать


Да даже сгнивший libevent был лучше, лол. Сейчас самая адекватная - libuv.
>>656688
#298 #656688
>>656680

> Все современные сокетные библиотеки.


Из более-менее живых я и выбрал асио лол, их там всего штук 5 будет, а живо-то хорошо если 3.

> В чём плюс-то? В том что хэловорд 10 минут компилируется? Разве что под спермой без репозиториев и нормальной структуры фс проблемно это говно руками тащить.


Ну, собственно мне как раз и нужна возможность ёбнуть либу сразу в build tree и получить в итоге бинарь с минимум внешних линков.

> Сейчас самая адекватная - libuv.


Спасибо, посмотрю.
#299 #656712
#300 #656973
Поясните, почему С считается легче ++?
Я думал что он более базовый и сложный.
#301 #656984
>>656973
Больше хуиты надо учить типа классов и шаблонов.
#302 #656985
>>656973

в нем радикально меньше говна потому что
#303 #656986
>>656973
C++ куда более обширен, и включает в себя сам С.
#304 #656992
>>656973
Стандарт первого 200-300 страниц, второго ~1000. Вопросы?
>>657029
#305 #657029
>>656992

>Вопросы?


Почему ты трогаешь себя по ночам ?
#306 #657098
Что вы там такого на сокетах мутите?
#307 #657105
Бамп
>>657121
#308 #657121
>>657105
Зачем?
>>657125
sage #309 #657125
>>657121
Чтобы у тебя пригорело))0
#310 #657127
Хотет pdf-ридер со встроенным переводчиком на лету.
Вот думаю, накидать с нуля, или взять рабочий вроде evince/Okular и мутить с ними дальше? Хотя там зависимостей - я ебал.
>>657132
sage #311 #657132
>>657127

>Хотет pdf-ридер со встроенным переводчиком на лету.


Вроде есть софт, переводящий при наведении на/выделении слова.
И от ридера не зависит.
>>657133
#312 #657133
>>657132
Странно. Я не нашел. Долбоеб.
Ладно тогда.
>>657138
sage #313 #657138
>>657133
http://askubuntu.com/a/95257
под сперму тоже 100% есть такие софты, не один.
>>657144
#314 #657144
>>657138
ладно-ладно, я понял, что не умею гуглить хватит
>>657147
#315 #657147
>>657144
А ещё есть специальные книги в которых уже вставлен перевод слов, устойчивых выражений или даже целых предложений.
>>657318
#316 #657318
>>657147
Более того, есть вообще полностью переведённые книги внезапно.
#317 #657322
Ребзи, есть текстовый файл, в котором я напечатал цифры как в матрице. Как из него сделать двумерный массив?

У меня какая-то шляпа заносится в него
>>657323
#318 #657323
>>657322
лол. И что у тебя там "заносится"?

А вообще
fstream fin("file.txt");
int n = 0;
fin >> n;
>>657324>>657325
#319 #657324
>>657323

>fstream fin("file.txt");


ifstream fin("file.txt");
#320 #657325
>>657323
хз, пробелы я так понял считает + проблемы с чтением мейби

#include <iostream>
#include <fstream>
using namespace std;

int main() {
const int n = 5;

int a[n][n];

ifstream fin("text.txt"); // открыли файл для чтения
for (int i =0; i < n; i++){
for (int j =0; j<n; j++){
{
fin >> a[j];
cout << a[j];

}
}
}
cin.get();
}
#321 #657327
>>657325
#include <iostream>
#include <fstream>
using namespace std;

int main() {
const int n = 5;

int a[n][n];
ifstream fin("text.txt"); // открыли файл для чтения
for (int i =0; i < n; i++){
for (int j =0; j<n; j++){
{
fin >> a[j];
cout << a[j];
}
}
}
cin.get();
}>>657325
>>657332>>657341
#322 #657329
мда сюда не получается скопипастить)
>>657330
#323 #657330
#324 #657331
в общем перебираю массив двумя циклами for и ввожу в него данные с файла
>>657333>>657334
#325 #657332
>>657327
fin >> a[j]
cout << a[j]
#326 #657333
>>657331
http://ideone.com/Mg6pq6

даже без файла выводит не то
>>657336
#327 #657334
>>657331

> fin >> a[j]


Такс-такс, что тут у нас? Ахаха, пытаются целый массив считать с файла.
>>657336
#328 #657336
>>657333
у тебя файл не в той папке. Если студия, то кинь файл с исходниками.
>>657334
Это двач спиздил . Сам сначала об этом подумал.
>>657337
#329 #657337
>>657336

>Если студия, то кинь файл с исходниками.


Если студия, то кинь в папку с исходниками.
#330 #657338
да текстовый файл в студии и создал

http://ideone.com/jbDMWK

кстати, с одной строкой таки работает ( в студии)
>>657342
#331 #657341
>>657325
>>657327
Так не будет работать. Не спрашивай, почему.
#332 #657342
>>657338
Хуй знает. Твоя дрисня у меня норм работает. Скинь содержимое файла.
>>657346
#333 #657343
http://ideone.com/0aCXoG

Вот слегка переправил, в студии заработало, ето не то, что мне нужно было 12 часов назад, но уже прогресс.
#334 #657346
>>657342
да в файле цифры от балды написал как в в матрице 5х5
#335 #657347
>>657343
А. Так и сказал бы, что тебе нужен ровный вывод.
http://ideone.com/jJPMFY
#336 #657348
>>657343
Короче возьми книжку из шапки и делай по ней примеры. Или видосы там есть. А то твой код на говно похож.
>>657350
#338 #657350
>>657348
ну я просто хотел разобраться что к чему, так ж не важно говно или нет
>>657354
#339 #657354
>>657350
сча еще попытаюсь в динамический массив запихать чтоль
#340 #657362
Анон, как в qt5 правильно подключаться к бд?
#include <QtSql/qsql.h>
#include <QtSql/QSqlDatabase>
#include <QMessageBox>
#include <QCoreApplication>
#include <QApplication>
#include <QtSql/QSql>
#include <QtSql/QSqlDatabase>
#include <QtSql/QSqlDriver>
#include <QtSql/QSqlQuery>

вот инклюды, на клик я делаю : QSqlDatabase db = QsqlDatabase::addDatabase("QMYSQL");
и потом работа с переменной дб, а после bool ok = db.open
что я делаю не так?
>>657375
#341 #657375
>>657362
всё анон, разобрался.
>>657427
#342 #657379
>>657343
А вы ещё мой хипсорт ругали за отсутствие пробелов.
25 Кб, 1062x313
#343 #657406
Посоны нужен алгоритм для покрытия одинаковыми элипсами прямоугольной и\или элиптической области. На выходе нужно иметь кординаты центров этих элипсов. Можно покрывать с перекрытиями или не полностью, но не ниже определенного предела (90-95%). Есть у кого-нибудь ссылка на реализацию этого алгоритма (не пейпер с Ellipse Packing алгоритмами и матешей) или библиотека в которой есть это?
>>657412
#344 #657412
>>657406
тебе скорее в /sci/ к математикам.
#345 #657427
>>657375
а блин, не получилось.

void Main::on_connect_clicked()
{
QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL", "mydb");
db.setHostName("localhost");
db.setDatabaseName("clients");
db.setUserName("manager");
db.setPassword("I_think_y0u_lie");
bool ok = db.open();
if (ok) QMessageBox::information(NULL,QObject::tr("Информация"),tr("Не все так плохо..."));
}

сама функция, и ошибка main.obj:-1: ошибка: LNK2019: unresolved external symbol "__declspec(dllimport) public: __thiscall QSqlDatabase::~QSqlDatabase(void)" (__imp_??1QSqlDatabase@@QAE@XZ) referenced in function "private: void __thiscall Main::on_connect_clicked(void)" (?on_connect_clicked@Main@@AAEXXZ)

в pro файле прописано QT += core gui sql

Вручную подключил Qt5Sql
и ничего не вышло, помогите с ошибкой, в гугле ничего внятного нет.
>>657447>>657489
#346 #657447
>>657427
Пришло время переустановить Ш1ИD0W2.

Как бы суть ошибки:
С П Е Р М А
П
Е
Р
М
А
>>657453>>657456
#347 #657453
>>657447
предлагаешь обмазываться Visual Studio?
>>657458
#348 #657454
>>656006
Лол, это я сказал. Ты пиздец маня, там всем рады.
>>657468
#349 #657456
>>657447
ох лол, я одну букву неправильно написал.
Теперь осталась одна ошибка:
qtmain.lib(qtmain_win.obj):-1: ошибка: LNK2019: unresolved external symbol _main referenced in function _WinMain@16

вот её я хуй знает как решать.
>>657466
#350 #657458
>>657453
Ты, судя по ошибке, и без того компилируешь мсовским компилятором, смена IDE не поможет. Я бы посоветовал слезть с шиндовса, но хули толку.

Попробуй очистить и полностью пересобрать проект, либо скомпилировать mingw. Ещё как вариант добавь в .pro файле libs += <путь до QSqlDriver.lib/dll>
>>657463
#351 #657463
>>657458
это я уже решил. У меня осталась проблема с qtmain.lib
и ругается на мейн.

Меня в VS не устраивают нерабочие таблицы для того, чтобы впихивать в них инфу из селектов.

Я хотел сделать через mysql.h в VS, но потом погуглил и увидел, что такие решения только на шарпе есть.
#352 #657466
>>657456
Тут 2 варианта: ты либо запоганил объявление main(), либо куда более вероятно - пытакшься компилировать гуй приложение с настройками линкера для консольного (или наоборот).
>>657484
#353 #657468
>>657454
Зашёл - посмотрел что какой-то питушок написал хорошо про билдер - вышел.
>>657471>>657480
#354 #657471
>>657468
Ну так аргументов у тебя не было, ясен хуй.
>>657476
#355 #657476
>>657471
Аргументы я писал здеся 2-3 треда назад, повторять лень. Лучше достоинства напишите кто нибудь.
>>657513
#356 #657480
>>657468

> билдер


Это который гнумобилдер что ли?
>>657487
#357 #657484
>>657466
Main::Main(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::Main)
{
ui->setupUi(this);
}

вот main, он создался автоматически.
А где глянуть то, что линкер может быть выбран для консоли?
>>657487
#358 #657487
>>657484
Эээ, вась, это не он. Это конструктор говна которое овнится в мэйне. Открой main.cpp
Погугли как устанавливать флаги линкера в qmake. Для вс компилера это /SYBSYSTEM: если я правильно помню.
>>657480

>гнумобилдер


гумнобилдер
Нет, этот-то хороший текстовый редактор, я про цэпэпэбилдер.
>>657492
#359 #657489
>>657427
А если оставить только qsqldatabase и qsqlquery? У меня в 4.8 все работает, правда с qodbc.
#360 #657492
>>657487
#include "main.h"
#include "ui_main.h"

Main::WinMain(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::Main)
{
ui->setupUi(this);
}

Main::~Main()
{
delete ui;
}

void Main::on_connect_clicked()
{
QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL", "mydb");
db.setHostName("localhost");
db.setDatabaseName("clients");
db.setUserName("manager");
db.setPassword("I_think_y0u_lie");
bool ok = db.open();
if (ok) QMessageBox::information(NULL,QObject::tr("Информация"),tr("Не все так плохо..."));
}

вот что в main.cpp
Я что-то после эмбаркадеро что-то не догоняю.
#360 #657492
>>657487
#include "main.h"
#include "ui_main.h"

Main::WinMain(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::Main)
{
ui->setupUi(this);
}

Main::~Main()
{
delete ui;
}

void Main::on_connect_clicked()
{
QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL", "mydb");
db.setHostName("localhost");
db.setDatabaseName("clients");
db.setUserName("manager");
db.setPassword("I_think_y0u_lie");
bool ok = db.open();
if (ok) QMessageBox::information(NULL,QObject::tr("Информация"),tr("Не все так плохо..."));
}

вот что в main.cpp
Я что-то после эмбаркадеро что-то не догоняю.
>>657499>>657500
#361 #657499
>>657492
Вааась, у тебя нету точки входа. Н-е-т-у.
Выучи язык для начала, хотя бы основы.

>Я что-то после эмбаркадеро что-то не догоняю.


(:
>>657503
#362 #657500
>>657492

>Я что-то после эмбаркадеро что-то не догоняю.


И поставь QtCreator.
>>657505
#363 #657503
>>657499
бляя, что ж я такой пиздоглазый.
#364 #657505
>>657500
я в нём и сижу.
#365 #657513
>>657476
Мультиплатформа, кастомный гуй на изичах, работа с бд.
>>657520
#366 #657520
>>657513

>Мультиплатформа


Относительно Qt - хуйня. Если смотреть простую переносимость - любой открытый компилятор обоссыт ебало (у них какое-то говно на основе шланга).

>кастомный гуй на изичах


Он, блять, даже в ёбаном gtk уже на изичах делается.

>работа с бд.


ну это вообще кек.

Собственно, вот на этот вопрос обсыкивали на билдер: >>634056
>>657524>>657541
#367 #657524
>>657520

>Если смотреть простую переносимость


Имеется ввиду не гуйня и прочее.
#368 #657541
>>657520
Уринист хуев, съеби в /b/ с такой лексикой.
>>657543
#369 #657543
>>657541
Ну мааам!
#370 #657570
Вопрос:

Пишу свободную функцию которая принимает концепт SinglePassRange, разумеется по значению. Но всякие пидоры, которые будут звать, могут засунуть туда не iterator_range, а например boost::small_vector. Хочу внутри поставить static_assert в духе has_advance_begin<SinglePassRange>::value. Как быть?
>>657797
8 Кб, 401x25
#371 #657584
Что это за конструкция. Понятно что класс наследуется от QObject, но что значит стоящий перед именем класса QHTTPSERVER_API. Что он делает
>>657638>>657676
#372 #657638
>>657584
Может это макрос какой нибудь, ёбана, для кококросплаформенастя.

Вот как здесь: https://github.com/altera2015/ttwatcher/blob/master/qhttpserver/src/qhttpserverapi.h
>>657648
#373 #657648
>>657638
Ну да, пример оттуда. Но как он работает
>>657658
#374 #657658
>>657648
Хуй знает вроде пустой дефайн. Дефайн без значения заменяется на пустую строку.
>>657666
#375 #657666
>>657658
А вообще есть примеры по конструкции вида:
class [some] %className%
{}
Что может стоять на месте some например
>>657676
#376 #657676
>>657584
>>657666
расходимся

#if defined(QHTTPSERVER_EXPORT)
#define QHTTPSERVER_API __declspec(dllexport)
#else
#define QHTTPSERVER_API __declspec(dllimport)
#endif
#else
>>657688>>657714
#377 #657688
>>657676
Спермокостыли-спермокостылики.
>>657719
#378 #657705
подскажите кто, а то я заебался тупить.

У меня есть массив и мне нужно в зависимости от первого значения строки сложить ети строки с друг другом.

Т.е. например, первое число в первой и в третьей строке 1, мне нужно получить сумму этих строк ( без значения этой единицы) .

Пытался сдtлеть c помощью неск. циклов for и switch - выходит непонятно что.
#379 #657714
>>657676
ок
class __declspec(dllimport) QHttpServer : public QObject
{}

и как это работает
>>657726
#380 #657719
>>657688

>Спермокостыли


__attribute__((visibility("hidden")))
__attribute__((visibility("default")))
для ляликса
#382 #657797
>>657570
SFINAE, очевидно же.
>>658231>>658235
#383 #657809
http://ideone.com/VXk4nY вот тащемта продолжение попытался сделать

1 2 3 4 5
1 4 1 2 7
2 6 8 9 0
2 3 1 2 2
3 3 3 3 3

для этих цифр выдает

summ1 = 8
summ2 = 24

Хотел чтобы программа в зависимости от первого значения выдала суммму строк со значениями 1 и 2, так что откуда взлись 8 и 24 не вкурю.
>>657811
#384 #657811
>>657809
сначала вас, пидоров, надо бить ногами, пока код форматировать не научитесь, а уже потом за логику и задачу толковать.
#385 #657812
>>657811
проиграл чет
#386 #657819
>>657811
блин ну глянь после 30й строки)
>>657825
#387 #657823
>>657811
Теперь поняли что я красиво хипсорт написал без пробелов?
>>657825
108 Кб, 600x600
#388 #657825
>>657819
нет, переделывай

>>657823
нет, ты тот ещё уёба
>>657828
#389 #657828
>>657825

>нет, ты тот ещё уёба


Ну у меня же было красиво и бесплатно.
>>657829>>657830
#390 #657829
>>657828

>бесплатно


Блядь. Опечатка. Компактно.
#391 #657830
>>657828
иди наверни пробелов. до сих пор рябит в глазах от твоего месива
#392 #657846
https://ideone.com/FkFj0T

>метод, принимающий в качестве аргумента тип данных без указания имени


Аноны, поясните, что это такое? Как это возможно? Зачем это нужно?
>>658896
#393 #657901
>>657903
#394 #657903
>>657901
[ i ] макаба съедает т.к. есть ббкод [ i ] [ / i ]
#395 #657953
Напомните пожалуйста, если переменная объявляется вне класса без static и const какой она будет? Глобльной?
>>657957
#396 #657954
И как инициализиировать static const QHash
#397 #657957
>>657953
Если в cpp, то глобальной для модуля. Если в хедере, то глобальной везде где есть этот хедер (привет конфликтам линкера)
#398 #658004
Предположим я захотел создать класс, который хранит(в конструкторе все парсится) http сообщение(то есть заголовки, статусную строку и тело). Я хочу сделать так, чтобы в объекте изначально, при создании, уже хранились некоторые нужные для парсинга значения. А именно имена заголовков http сообщения(accept, date и прочие). Так как мне предстоит вычленять из запроса имена заголовков, мне придется воспользоваться поиском подстроки. Искать я буду с помощью тех значений которые храняться в классе изначально. Хранить придется в QHash<int, QString>. Чтобы потом получить число соответствующее найденному заголовку. Так вот, QHash придется сделать статическим, дабы он не создавался в каждом объекте класса. Но мне же надо запретить его изменять, то есть сделать константным. Но при этом потребуется инициализация. Как ее выполнить?
>>658210>>658588
#399 #658011
Вот приведу пример
https://github.com/altera2015/ttwatcher/blob/master/qhttpserver/src/qhttpserver.cpp
в 32 строке определяется qhash
а в конструкторе начиная с 38 строки добавляются значения. Причем при каждом создании объекта, присваивание будет повторяться? Наколько это разумно?
>>658588
#400 #658013
Конечно можно не создавать новых объектов, но как сделать чтобы QHash был ВНУТРИ класса, был статичным с нужными значениями. Или может его возможно определить за пределами класса, о так чтобы он был доступен только определенному классу
>>658017>>658203
#401 #658016
народ а че с работой, можно ща куда нибудь устроиться c++ джуниором?
>>658904
#402 #658017
>>658013
С И Н Г Л Т О Н
И
Н
Г
Л
Т
О
Н
>>658019
#403 #658019
>>658017
Нет, нужна ИНКАПСУЛЯЦИЯ
>>658236
#404 #658203
>>658013
Гугли аналоги анонимного static-блока из джавы.
#405 #658210
>>658004
Значением функции.
#406 #658231
>>657797
Да, да void_t, declval и т.д. Я уже сделал.

Просто проверяю вас, чувачки.
#407 #658235
>>657797
thrust, ты?
#408 #658236
>>658019
И как синглтон противоречит инкапсуляции?
#409 #658273
Анон поясни, как к кнопке в qt привязать действие?
void Main::on_pushButton_clicked() есть действие, но через QObject::connect оно не подключается.
>>658342>>658348
#410 #658342
>>658273
Плохо подключаешь.
#411 #658348
>>658273
Код покеж.
#412 #658423
А обработчики исключений вообще юзать нужно? Можно же просто код ошибки возвращать.
>>658429>>658435
#413 #658429
>>658423
Можно, но осторожно.
А вообще не надо, по возможности. Это тебе не жава.
#414 #658435
>>658423
Зависит от принятой идеологии разработки. Некоторые используют, некоторые нет. Использование исключений в языках без GC может привести к проблемам и требует увереного понимания что механизма их работы. Но в свою очередь они могут упростить код.
>>658914>>658941
#415 #658513
>>653023 (OP)
Могу ли я использовать VS для удаленной разработки на linux машине?
>>658516
#416 #658516
>>658513
Если у тебя на твоей рабочей машине сперма – конечно, но немного нужно поебулится.
>>658518>>658753
#417 #658518
>>658516
Поебулиться*
быстрофикс от местных граммарнази
#418 #658588
>>658011
>>658004
какое-то говноедство

>А именно имена заголовков http сообщения(accept, date и прочие).


зачем?

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


ЩИТО? парсь все, складывай в QMap

>Искать я буду с помощью тех значений которые храняться в классе изначально


QLatin1String

>Хранить придется в QHash<int, QString>. Чтобы потом получить число соответствующее найденному заголовку


почитай матчасть по протоколу, тебе это не нужно

>Так вот, QHash придется сделать статическим, дабы он не создавался в каждом объекте класса. Но мне же надо запретить его изменять, то есть сделать константным. Но при этом потребуется инициализация. Как ее выполнить?


// функция которая набивает значения
QHash makeData() { ... }

// переменная которая будет хранить данные
static const QHash myHash;

// инициализация статического члена
QHash QHttpServer::myHash(makeData());
#419 #658716
Аноны, помогите с такой интересной ошибкой на qt
void Widget::on_pushButton_clicked()
{
QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL", "my_sql_db");
db.setHostName("localhost");
db.setDatabaseName("clients");
db.setUserName("manager");
db.setPassword("I_think_y0u_lie");
bool ok = db.open();
if (ok) QMessageBox::information(NULL,QObject::tr("Test"),tr("Tesr"));

}

вот код, а сообщение при нажатии на кнопку таково:
QSqlDatabase: QMYSQL driver not loaded
QSqlDatabase: available drivers: QSQLITE QMYSQL QMYSQL3 QODBC QODBC3 QPSQL QPSQL7

Я даже в .pro файле написал QTPLUGIN += sqldrivers

но что-то ошибка не исчезает
>>659345
#420 #658753
>>658516
Ну у меня на ноуте сперма, но сечас я работаю на виртуалке c xubuntu, я хочу нативную иде + терминал до виртуалки без гуев с минимальным centos'oм.
#421 #658854
Пробую разобраться со sql на qt
QSqlQueryModel model = new QSqlQueryModel;
QSqlQuery query(db);
query.exec("SELECT
FROM clients");
model->setQuery(query);
ui->tableView->setModel(model);
сделал вот так, но tableView пустой, что я делаю не так?
#422 #658896
>>657846
Есть два... стула
Нет, есть метод/функция/конструктор/етц, вызов работу которого ты хочешь каким-то образом модифицировать/параметризовать/повлиять на работу снаружи. Тогда делаешь перегрузку этой функции. Так как параметр чисто формальный и внутри не нужен, то его можно опустить, чтобы компилятор не ругался на unreferenced/unused argument.
https://ideone.com/FgZ4fX пример с логгингом немного надуманный, обычно условное логгированние закатывают под ifdef'ы. Но общую идею должно дать.
#423 #658904
>>658016
Таким, как ты, -- нет.
#424 #658914
>>658435

>упростить код


Как?
учу кресты 21 день не вижу в них ничего полезного
>>658931>>658938
#425 #658931
>>658914
Сравни http://pastebin.com/RsFewWKx и http://pastebin.com/Hd30KXmL
В первом случае ошибки обрабатываются так, как это делали деды через коды ошибок, во втором -- исключениями. В каком случае легче понять где идёт логика, а где обработка ошибок?
>>658946
#426 #658938
>>658914

>>упростить код


>Как?


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

> Использование исключений в языках без GC может привести к проблемам


Для этого вот всякие raii придумали.
>>658942>>659066
#428 #658942
>>658941
Сам понял чё пизданул? Речь об исключениях: в неумелых руках всё твоё raii пойдёт по пизде, если исключение обработать не так.
>>658945>>658981
#429 #658945
>>658942
Resource Acquisition Is Initialization (RAII) is a programming idiom used in several object-oriented languages, most prominently C++, where it originated, but also D, Ada, Vala, and Rust. The technique was developed for exception-safe resource management in C++
>>658949
#430 #658946
>>658931
>>658938
Код упрощает только если дохуя вложенных функций?
>>658948
#431 #658948
>>658946
Он упрощается дажу у долбоёбов, хуярящих весь код только в main в файле laba1.cpp
#432 #658949
>>658945
Ничто не мешает дебилу с raii кинуть исключение в деструкторе а потом удивляться хули всё сломалось
>>658955>>658959
11 Кб, 211x212
#433 #658955
#434 #658959
>>658949
блядь там еще деструктор
как вспомню этот гемор
мама ради меня обватна
>>659107
1276 Кб, 1315x1434
#435 #658970
Как зная номер элемента узнать какой отрезок он покрывает в верхнем ряду? Это дерево отрезков и нумерация на пике.
#436 #658981
>>658942

>Сам понял чё пизданул? Речь об исключениях: в неумелых руках всё твоё raii пойдёт по пизде, если исключение обработать не так.



Бля, ну не кидай в деструкторах исключение, хуле как дебил, а?
#437 #659066
>>658941

> Для этого вот всякие


Ну так имелось ввиду не то что исключения (в языках без GC) это ГРОБ ГРОБ КЛАДБИЩЕ ПИДОР а что для безопасного их использования нужен определенный багаж знаний. Поэтому некоторые предпочитают вообще не ебаться с ними.
#438 #659069
>>658970
я бэ запихал все ссылки на элементы n-го уровня в вектор. номер в векторе - нужный тебе элемент. но я тупенький, мож кто что лучше предложит
>>659074
#439 #659074
>>659069
Да. Нужно лучше. И за константу.
#440 #659107
>>658959
Чумазый пиздёныш с громкой отрыжкой и отчаянным воплём ввалился в комнату, где крестогоспода обсуждали преимущества деструкторов. Джаваблядок ошарашенно вылупился на удивлённых сэров, за пазухой у него явно было что-то запрятано. Ну, что у тебя там, зассыха? - снисходительно промолвил самый молодой из господ. А-а-фоть - заикаясь промямлила замарашка и трясущейся рукой вывалила на дорогой персидский ковёр кучу так и не выполнившихся финализаторов. Лица элитариев побагровели от такого неслыханного безобразия. Камёрдинера сюда, живо! - воскликнул опять же самый молодой и самый вспыльчивый из них. Оказия сия окончилась, как можно безошибочно предугадать который раз не в пользу плебса, оно и к лучшему, не место черни среди высшего общества.
>>659125
11 Кб, 211x212
#442 #659115
#443 #659120
>>658970
Ну, во-первых, неясно, по какому правилу нумеруется дерево.
#444 #659125
>>659107
истиный посмеялся в голосину
void Regim()
{
if(reg==6){Set_B_D();return;}
if(i%2){e=time[reg][i/2]/10;
if (ogr[reg][i/2]<=10){e=20;}}
else {e=time[reg][i/2]%10;}
if(set&&(set_n!=4)){
if (set_n%2){time[reg][set_n/2]=buf10+time[reg][set_n/2]%10;}
else {time[reg][set_n/2]=time[reg][set_n/2]/10
10+buf;}
if (time[reg][set_n/2]>=ogr[reg][set_n/2]){time[reg][set_n/2]=0;buf=0;}}
}
#445 #659129
>>658970
От твоей нумерации можно легко перейти к нумерации от корня вниз, где корень имеет номер 1: n_new = root_old - n_old + 1
Эта операция обратима: n_old = root_old - n_new + 1 и делается за константу
В обычной нумерации потомки узла n есть узлы n•2k..n•2k+1-1
где k - разница между уровнями ноды и её потомков.
Т.е. если узел имеет номер 0b00101, то её потомки двумя уровнями ниже имеют номера 0b10100..0b10111

Самое сложное - узнать на каком уровне находится твой узел. Это можно подсчитать также кол-вом бинарных сдвигов(делений на два), чтобы номер узла стал равным единице или другим, более хитрым подсчётом двоичного логарифма, к которому надо прибавить 1.

Если твой root_old достаточно мал, то можно наоборот - сдвигать влево пока полученный номер меньше либо равен root_old + 1. Причём сдвигать два числа - оба в начале равны n_new, но один сдвигается с добавлением нуля в конец, а другой с добавлением единицы:
low_bound•=2
high_bound=(high_bound•2)+1
Тогда в конце у тебя будут сразу концы отрезков или overflow и бесконечный цикл
#446 #659134
>>659129

> сдвигать


Но тогда же сложность будет линия или логарифм (смотря как двигать) а не константа.
>>659143
#447 #659142
>>659129
может годных алгоритмов вкинеш?
усреднения аналоговых величин
где процентов 10 из них ошибка.
>>659147
#448 #659143
>>659134
Логарифм. Быстрее сделать не выйдет, так как подсчитать логарифм за константу затруднительно, а кэшировать номера уровней бессмысленно
#449 #659147
>>659142
Задачу поконкретнее опиши, может и вспомню что-нибудь.
#450 #659345
>>658716
Помню с этой ошибкой ебался дня полтора. Фишка в том, скорее всего, что мускл у тебя с 64битными либами стоит он же у тебя в PATH прописан, так?, а Qt распространяется 32битный, вот и не линкуется. В общем надо 32битный MySQL поставить
#451 #659373
Нужно сделать проект, подскажите идею
>>659476>>659520
#452 #659476
>>659373
хайлоад сервак для стриминга видео/аудио
#453 #659513
char *str = "stroka"
Как вообще устроено создание значений, задаваемых вручную? Я так понимаю, значение "stroka" - это константа и хранится в статической памяти?
>>659521
#454 #659520
>>659373
"stroka" - литерал. http://goo.gl/cznVsm

>это константа


да

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


да
>>659521
#455 #659521
#456 #659653
>>659114
Можешь описать как это работает?

>>659129
Спасибо. Щас попробую.
>>659687
#457 #659687
>>659653

> Можешь описать как это работает?


Идея как у анона >>659129 только немного другой подход. Длина отрезка (segment_size) обратно пропорциональна уровню на котором находится узел - корню соотвествует полный отрезок, следующему уровню половина, следующему четверть и т.д. Положение отрезка зависит от положения узла на своем уровне (position) - если узел на своем уровне крайний слева то ему соотвествует крайний левый отрезок, крайний справа - ему соотвествует крайний справа и т.д. Через положение узла на своем уровне высчитывается начало отрезка, оттуда из длины отрезка высчитывается конец.
#458 #659731
Аноны, решил сделать свой первый серьёзный проект на qt, почитываю доки, но вот вопрос: как из TableView, который заполнен через sql, как достать оттуда выделенную переменную?
>>659754
#459 #659754
>>659731
читай доки
QTableView::selectionModel()
#460 #660570
Ананасы, идет кто на С++ user group в ДС-2?
#461 #660693
>>660570
Ссыкотно, там же серьезные дядьки будут тусоваться, а не молодежь.
#462 #660747
>>660570

> Билет 7500 руб.


))))))))
#463 #660755
>>660570
Трансляция/видео будут?
>>660756
#464 #660756
#465 #660945
>>656185
V_CopyRect
( int srcx,
int srcy,
int srcscrn,
int width,
int height,
int destx,
int desty,
int destscrn )
{

тяжко же было писать без ООП
36 Кб, 534x412
#466 #660949
Аноны, как прочитать текст из файла при помощи IStream? Гуглить честно пытался, но при существовании istream найти что то по IStream невозможно.

В частности меня интересует пример PreviewHandler'a от MS

При инициализации через стрим
[code]IFACEMETHODIMP RecipePreviewHandler::Initialize(IStream *pStream, DWORD grfMode)[/code]
мы получаем указатель на IStream.

Затем происходит загрузка XML как на пике. Каким образом прочитать просто текст?
>>660970
#467 #660970
>>660949
Как вижу этот HRESULT, так сразу блевать тянет.
>>661026
#468 #661026
>>660970
ШIИD0W2
А от NULL, и кода на макросах в 2016 и в стреде о C++ не тянет?
>>661036
#469 #661036
>>661026
Код пятилетней давности.
Есть какие то современные библиотеки, чтобы сделать расширение для Shell легко и просто?
#470 #661103
>>653023 (OP)
В чём прикол оппика?
>>661114>>661118
#471 #661114
>>661103
Профессиональный юмор.
#472 #661118
>>661103
Я ньюфаг но предположу.
По идее можно создать класс B, похожий на A, только с открытыми полями и при помощи приведения типов преобразовать A в B и инкапсуляции уже не будет.
Если не прав, то поправьте.
>>661132
#473 #661132
>>661118
Лал? Как этот факт выделяет C++? В других языках можно либо сделать то же самое, либо там есть рефлексия и можно сделать вообще что угодно. У питона, например, мало того, что есть способы работать с методами и полями объекта, так там просто нет private полей
#474 #661743
Аноны, какой минимум нужно знать по плюсам, чтобы взяли стажером за еду?
#475 #661788
>>661743
Уметь использовать все средства языка + знать часть stdlib: STL и input/output.
Если все это знаешь, возьмут за 300$
#476 #661793
>>661743

>Аноны, какой минимум нужно знать по плюсам, чтобы взяли стажером за еду?


конструкторы, деструкторы, операторы, raii, shared_ptr, qt, boost::asio
думаю, этого на джуна хватит
>>661810>>661836
#477 #661810
>>661793
Где вы вообще видели вакансии джунов с++? Что они пишут?
>>661838
#478 #661836
>>661793

>qt


Ты че ебанутый? Пиши конкретней, там 1001 модуль. Ты джуна нанимаешь или справочник, знающий qt, но не умеющий программировать?
>>661877
#480 #661849
>>661838
В моем мухосранске полторы вакансии, найс
#481 #661877
>>661836
qt base, qt widgets, qml, qt network, qt sql, qt xml и, разумеется, qt webkit, без него рекламу не вставишь
#482 #661924
>>661743
Я бы маерса посоветовал еще
#483 #661939
>>661743
Пару готовых проектов на гитхабе еще добавь ко всему.
>>661993
#484 #661993
>>661939

>Пару готовых проектов на гитхабе еще добавь ко всему.



Да-да, и пару лет опыта. Тогда смело сможешь идти на зарплату 15т.р.
>>662036
#485 #662036
>>661993
Проекты любого (студенческого) уровня.
1. Показать твой кодстайл
2. Показать, что ты что-то "сделал", а не только "делал"
#486 #662122

>IDE Microsoft™ Visual Studio®. Чтобы начать писать код, нужно запустить Visual Studio, кликнуть "Файл - Создать - Проект - Пустой проект", после создания кликнуть слева правой кнопкой мыши по пункту "Файлы исходного кода", выбрать "Добавить - Создать элемент - Файл C++". Чтобы скомпилировать и запустить проект, нужно нажать "Сборка - Собрать решение", а затем "Отладка - Запуск без отладки".



>clang++ helloworld.cpp



>g++ helloworld.cpp



Я просто не верю, что есть в мире долбоебы, рекомендующие новичку IDE (тем более VS) вместо любой наипростейшей консольной команды.

В "Стэнли Липпман, Жози Лажойе и Барбара Му - Язык программирования C++ (2014)" прямо об этом и говорится.

Пиздец просто.
#487 #662135
>>662122
нужно было вместо g++ написать gcc, чтобы было еще толще, прыщеблядок
>>662165>>662169
#488 #662138
>>662122
Для нюфагов, как показывает практика, нажать на несколько кнопочек легче написания полутора слов.

Алсо, с мсовским компилером делается так:

>cl kek.cpp


Другое дело, что там поддержку исключений и всё остальное дописывать руками надо.
>>662165
#489 #662165
>>662138
>>662135

Какой прыщеблядок, что ты несешь?
Блядь, я что единственный читаю книги из шапки?
>>662761
#490 #662169
>>662135

Зачем тебе С++?
Учи сразу MS QBasic.
>>662316
#491 #662273
>>662122
И потом он до конца жизни будет в одном файле всё писать
#492 #662316
>>662169
GW-BASIC был моим первым язык, моей первой любовью, именно с ним я лишился аппаратной девственности
#493 #662457
И с какой радости у крестов высокий порог?
Холиварящие дебилы
>>662462
9 Кб, 224x168
#494 #662462
>>662457
К нам пожаловали хачкелисты?
#495 #662761
>>662165
clang и gcc компиляторов нет на винде.
>>662773>>662774
#496 #662773
>>662761
Kekus maximus.
#497 #662774
>>662761
Сложна
#498 #662797
>>662122
cl.exe helloworld.cpp
#499 #662801
>>662122
Ну выполнит ньюфаг команду, а она ему по его ньюфажности выплюнет километр ошибок, большая часть которых на самом деле следствие одной ошибки в самом верху списка. Он посмотрит на эту хуйню и плюнет на всё. А в ide существенные ошибки распарсятся и подсветятся в самом редакторе – исправляй не хочу.
Dmitriy #500 #662810
>>653023 (OP)
Мне нужно сделать говно-курсач, хотелось бы под Linux его запилить а не Builder 6, все что смущает это выбор графической билиотеки. Из возможных: SFML, FLTK, GTK+.
Нужно всего навсего создать окно с кнопками и по нажатию одной из них открыть еще одно либо перерисовать текущее, а там простой ввод-вывод. Вообще я нюфаг в графических интерфейсах, на плюсах только пару лаб делал на говнобилдере 6. Мою задумку можно будет осуществить, или лучше не выебыватся и быстро наделать все на билдере и продолжить учить свой JS?
>>662811>>662933
#501 #662811
>>662810

> и продолжить учить свой JS?


Иди учи раст.
>>662816
Dmitriy #502 #662816
>>662811
А по теме? В FLTK сложно все эти кнопочки будет организовать? и вывод картинок надо. Или все-таки своровать последнюю версию билдера?
>>662833
#503 #662833
>>662816
Нет. Бери и не еби мозга.
>>662836
Dmitriy #504 #662836
>>662833
Что нет?
>>662856
#505 #662839

>Dmitriy


>Dmitriy


>Dmitriy



Ну ты и мразь, отвратительно.
>>662841
Dmitriy #506 #662841
>>662839
С каких пор /pr стал филиалом /b?
#507 #662842
Юзай Qt, он гораздо распространеннее, чем ссаный билдер и 1001 фреймверк в linux
>>662844
Dmitriy #508 #662844
>>662842
Хорошо, по нему документации много. А GTK+ чем хуже?
>>662849
#509 #662846
Эй, компьютерщики, вот скажите нахуя было придумывать move семантику, когда был божественный механизм copy elision (aka RVO)?

P.S. И только не надо втирать дичь, объясняя move семантику через ссаные rvalue(которые сами определяются через move семантику), я вас умоляю.
Dmitriy #510 #662847
>>662846

>кококо


Зарепортил хаскелеблядка.
>>662848
#511 #662848
>>662847
С каких пор /pr стал филиалом /b?
#512 #662849
>>662844
Минусы GTK+:
- Плохая технологическая инфраструктура
- GUI(а значит и ООП) на ебаном C это тот еще пиздец.
- Плохая поддержка не linux платформ.
>>662852>>662854
#513 #662852
>>662849
Ах да, забыл:
- Ебучая GNU LGPL
- Вырвиглазное оформление из коробки
- Намного меньшая распространенность, по сравнению с Qt
Dmitriy #514 #662854
>>662849
Да, интересное решение ООП на сишечке. Почему считается что GUI = ООП? Страуструп писал что ооп лучше избегать там где это возможно.
#515 #662855
>>662854

> Почему считается что GUI = ООП?


Ну представь работу браузера в процедурном стиле.

> Страуструп писал что ооп лучше избегать там где это возможно.


А что писал Страуструп по поводу ГУИ?
>>662859
#516 #662856
>>662854
Потому что нормальную инфраструктуру без него построить довольно сложно, и это будет так себе пахнуть.
>>662836

>Что нет?


>В FLTK сложно все эти кнопочки будет организовать?

>>662859
#517 #662857
>>662854

>Почему считается что GUI = ООП?


Кто-то не понимает сути ООП, а пытается кукарекать. GUI - это самое что ни на есть чистое ООП, которое вообще можно себе представить. А все потому, что создано по подобию оперирования объектами в реальной жизни по средствам манипуляторов.
>>662859
Dmitriy #518 #662859
>>662855

>А что писал Страуструп по поводу ГУИ?


До туда Я не дочитал.
>>662857
Спасибо.
>>662856
Вроде нормальная библиотека, ровно то что нужно, надеюсь документация удобная.
Спасибо.
>>662864
#519 #662863
>>662846
Бамп вопросу, компьютерщики
>>662889
#520 #662864
>>662859

> Я не дочитал.


Спойлер он ничего про него не писал, может как-то вскользь упоминал, но ничего конкретного
Dmitriy #521 #662889
>>662863
C++ - Язык языков, если move значит так надо.
>>662891
#522 #662891
>>662889
Пошел нахуй, Димочка, здесь господа обсуждают фундаментальные вопросы проектирования языка, а тебе еще курсач писать надо.
>>662895
Dmitriy #523 #662895
>>662891

>производительность, гибкость, выразительность

>>662899
#524 #662899
>>662895
А теперь обоснуй все это или я тебя обоссу.
#525 #662917
>>662846

> RVO


Уже по названию же ясно. RVO ограничено как по области (ситуациях в которых оно применимо), так и функционалу - RVO только переиспользует объект, тогда как в случаях покрывемых move-семантикой вызывается специальный кастомный конструктор. Алсо я них там даже функционал разный, насколько я понимаю, временный объект создаваемый и возвращаемый из функции благодаря RVO может сразу создаваться так образом чтобы не удаляться при сдвигании стека (при выходе из функции), тоесть никакого копирования (даже неглубокого) и вообще никаких действий в принципе не происходит. Следовательно это вообще разные концепции, move-семантика не покрывает полностью функционал RVO.
>>662921
#526 #662921
>>662917
Реквестирую примеры кода такого использования move семантики.
#527 #662922
#528 #662933
>>662810
Если не собираешся потом плюсами заниматься то делай на билдере (если приймут). Если дальше в плюсы хочешь пойти то конечно билдер нахуй. Бери Qt (в общем лучше, но возможно дольше разбираться и сложнее будет со сборкой на институтских компах, так как там сложнее тулчейн) или FLTK. SFML это графическая библиотека. GTK+ это для каких-то специфических случаев когда все остальное уже не вставляет подходит, если у тебя свободный выбор то нахуй.
#529 #663281
Перекат через неделю?
>>663299>>663316
#530 #663299
>>663281
Окстись, тред еще даже не утонул с нулевой.
>>663316
21 Кб, 714x579
#531 #663310
Подскажите, есть простенькая программа (я недавно изучаю), такой вопрос, как сделать так, чтобы если если на ответ - какой пол вашего друга, я ввёл не f or m, то мне выводило бы его ввод заново с предупреждением?
>>663325
#532 #663316
>>663281
>>663299
А перекат был, ребятки. Но моча обезумела или что-то вроде того. Я не знаю, зачем было удалять его.

http://m2-ch.ru/pr/res/662940.html
>>663323
#533 #663323
>>663316
это не перекот а нелегитимное говно. уебывай
>>663325
#534 #663325
>>663310
Поменяй if на while и измени условие внутри.

>>663323
Критерии легитимности в студию. Стихоебы идут нахуй.
#535 #663332
>>663325
Обратная совместимость, не?
>>663333
#536 #663333
>>663332
Щито?
#537 #663335
>>663325
Всё работает, только, поясни вот что:
while (friend_sex != 'f' && friend_sex != 'm')
Почему если поставить или || - программа не работает, а если И && - то работает?
Ведь по сути должно быть наоборот.
Т.е. до тех пор пока френд_секс != ф ИЛИ френд_секс != м, то...
А тут как-то странно. Я не понял.
>>663337
#538 #663337
>>663335
Цикла выполняется пока (friend_sex != 'f' && friend_sex != 'm')
Если friend_sex становится равным m или f цикл прерывается
>>663353
#539 #663353
>>663337
Ой, невнимательно посмотрел, спасибо.
#540 #663355
Есть ли тут кто использует telegram?
Есть по нему пара вопросов.
>>663449
#541 #663449
>>663355
Я использую.
>>663451
#542 #663451
>>663449
А вы там конфу не держите для обучающихся С++?
>>663454
#543 #663454
>>663451
Я как-то пытался поднять, но эти петушки слишком ленивые.
однако, в слаке есть канал программача, и там раздел с++, тусуются три с половиной анона
>>663455>>663483
#544 #663455
>>663454
Ленивые петушки - кто?
>>663464
#545 #663464
>>663455
Хачкелисты, очевидно же.
>>663470>>663483
#546 #663470
>>663464
Попрошу, хаскель охуенен. Не такой охуенный, как сидвакрест, но достоин называться ОЗУИТЕЛЬНЫМ язычком
>>663476
#547 #663476
>>663470
Воистину. Жалко, что у них тред мертвый.
#548 #663483
>>663454
>>663464
Нет, я имел ввиду что ты имел ввиду под ленивыми петушками - обучающихся С++ с нуля?
Просто, я сейчас изучаю С++ и прогресс идёт очень медленно и я бы себя ленивым петушком со стороны назвал бы. Что очень печально.
>>663487
#549 #663487
>>663483
Могу тебя мотивировать.
#551 #663506
>>653023 (OP)
ПОЖАЛУЙСТА ОТВЕТЬТЕ!!! Откуда взяты эти прекрасные стихи?
#552 #663618
>>663325
Хейтер сосет хуи.
Тред утонул или удален.
Это копия, сохраненная 14 марта 2016 года.

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

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