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

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
101 Кб, 600x400
Революционно-освободительный C++ тред #23 #676033 В конец треда | Веб
НЕ МОЖЕШЬ БОЛЬШЕ ТЕГПЕТЬ ТИГАНИЮ ПГАВЯЩЕГО КЛАССА? УСТАЛ ОТ ПОЭЗИИ? ХОЧЕТСЯ ПИСАТЬ КОД, КОТОГЫЙ ДЕЛАЕТ СИГИУС ШИТ?
ДОБГО ПОЖАЛОВАТЬ В НОВЫЙ C++ ТГЕД!


1. Почему мы используем именно C++:
- C++ действительно быстрый - по скорости уделывают большинство языков, часто с большим отрывом. Замедление относительно pure C находится в районе 0-20%. Замедление зависит от вас, девиз языка: "Платишь только за фичи, которые используешь".
- C++ - очень выразительный язык. В него заимствованы большинство существующих парадигм из самых популярных языков.
- У C++ очень большое и, самое главное, профессиональное комьюнити. Это так из-за высокого порога вхождения.

Однако C++ очень сложный. Прямая работа с памятью и тысяча способов выстрелить себе в ногу - это про него. Не стоит его использовать всегда: нужно понимать, что используемый язык должен соответствовать поставленной задаче. Да, анон, не нужно писать на C++ скрипты или веб-фронтенд, а потом жаловаться, что C++ говно. Плохому танцору и ноги мешают, как говорится.

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

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

4. Наиболее детальные описания языка:
- Бьерн Страуструп - Язык программирования C++ (на ангельском) (2013) - https://goo.gl/XkAiOX
- Николаи Джоссатис - C++. Стандартная библиотека (2012) - https://goo.gl/PEyiMH
- Стандарт 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 (черновик)

5. Нюансы проектирования на C++:
Следует пролистать все перед переходом от лаб к написанию настоящего софта.
- Ален Голуб - Веревка достаточной длины, чтобы выстрелить себе в ногу (2001) - https://goo.gl/fBmuxp
- Андрей Александреску - Современное проектирование на C++ (2002) - https://goo.gl/e1V5BC это - квинтэссенция ГИБКОСТИ, поэтому стоит прочитать в любом случае, чтобы охуеть от того, как можно делать.
- Джеймс Коплиен - Программирование на C++ (2005) - https://goo.gl/Y1WGdU

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

7. Годные ресурсы по C++:
- Годный блог, в котором все просто и понятно тян не нужны кококок борщ - 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

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

9. Куда писать код:
- Кроссплатформенные IDE: QtCreator, Eclipse CDT, CLion (Последняя платно, но зато энтерпрайз. Легко сбрасывать пробный период, можно купить на торрентах)
- Только Windows: Microsoft™ Visual Studio® рекомендуется для новичков
- Только OS X: XCode
- Уникальный способ для *nix-господ: Компилим через консольку с помощью clang(очень информативный и читаемый вывод) или в крайнем случае gcc (для ценителей).
- Все остальные: https://goo.gl/qkujDP
- Для тех, кто капчует с домофона: http://ideone.com

По просьбам трудящихся:
Инструкция "Как создать проект в Visual Studio" - https://goo.gl/JMd57G

Специальное уточнение для ньюфагов: А вообще, в случае возникновения вопросов по какой-либо IDE не брезгуйте чтением офф. документации. Все подобные вопросы там освещаются.(Ведь ее же для этого и пишут!). Так что сначала читаем доки, а только потом задаем здесь вопросы. Найти доки можно в пункте меню "Справка". Либо нажать F1, лал.

10. Code Quality:
- CppCheck. Статический анализатор, который умеет находить в коде ошибки и неоптимальные места. Швабодный. Есть плагин для Visual Studio. - http://cppcheck.sourceforge.net
- Clang Static Analyzer. То же самое, но встроено в одноименный компилятор. Активно пилится Google и Apple. - http://clang-analyzer.llvm.org
- PVS-Studio. То же самое, но энтерпрайз. Для пиара пишут годные статьи. - http://www.viva64.com/ru/pvs-studio/
- Visual Leak Detector. Детектор утечек для Visual Studio. Предельно прост в прикручивании - https://vld.codeplex.com
- Google Sanitizers. Гугловские утилиты для поиска утечек, дедлоков, гонок, неинициализированной памяти и некорректного доступа - https://github.com/google/sanitizers
- Valgrind. То же самое, но медленно.(Очень. По сути, это - виртуальная машина) http://valgrind.org

11. Годные библиотеки:
- Standard Library. С недавнего времени(С++11) стала годнотой. Например, теперь можно писать кроссплатформенный распределенный код, не подключая boost. Что очень хорошо. Кстати о бусте.
- Boost (http://www.boost.org) - бесспорно, самый популярный набор C++-библиотек. Воистину всеобъемлющий, boost способен удовлетворить твои самые скотские фантазии. В нем есть практически все - от математических функций до сетевых компонент, от инструментов тестирования до динамических типов. Функции для работы с твоей мамашей там тоже есть. Разумеется, все это швабодное и работает на любых платформах. Boost является своеобразным инкубатором хороших библиотек, поэтому наиболее удачные из них с большой вероятностью можно будет увидеть после принятия очередного стандарта уже как часть стандартной библиотеки.
Недостатком boost можно считать его размер - более 300 мегабайт. Большинство компонентов boost не являются независимыми, и попытка использовать один единственный контейнер обернется фактическим подключением 2/3 всего присутствующего в комплекте. Таким образом, если boost не будет использоваться на полную, лучше юзать другие, более специализированные библиотеки.
- Qt (http://www.qt.io/) - свободный кроссплатформенный фреймворк-надмножество C++ под названием Qt. Он содержит довольно большое количество компонентов (для работы с сетью, базами данных, для юнит-тестирования и др.), но киллер-фичей и основным полем его применения являются возможности по разработке графических интерфейсов. Qt сам по себе, как расширение языка, предоставляет для этого более удобные средства, чем обычные библиотеки, а использование специализированных IDE наподобие Qt Creator позволяет в буквальном смысле собирать интерфейсы мышкой, а код писать только по существу.
Тем не менее, использование Qt нельзя однозначно назвать хорошей практикой. Во многом это уже не C++, а другой язык, со своими концепциями и паттернами. Qt-код требует дополнительного препроцессинга при помощи встроенных в Qt утилит (т.н. метаобъектная компиляция), поэтому не получится просто подключить Qt как обычную библиотеку и использовать свой любимый компилятор без дополнительного софта. Нельзя сказать, что это существенное препятствие, но есть мнение, что использование Qt нарушает дух C++, раздувает машинный код и порождает макак-любителей кодогенерации.
В настоящее время основные версии Qt - 4.8 и 5.х, полной обратной совместимости между ними нет как в пистоне, ага.
- И еще куча библиотек на любой вкус - http://en.cppreference.com/w/cpp/links/libs

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

Старший брат: >>629715 (OP)
Предыдущий: >>663494 (OP)
#2 #676041
#2 #676041
#3 #676043
98 Кб, 600x800
#4 #676045
Rust лучше.
>>676050
#5 #676050
>>676045
Ниет, саси
#6 #676057
Поясните ньюфагу за http. Какие есть либы, какие хорошие, какие плохие. Есть ли вообще highload http проекты на этом вашем си пляс пляс?
>>676059>>676181
#7 #676059
>>676057
Нет, ток на питоне и яве.
#8 #676086
>>676074
вот он пока рассказывает, кто и где изобрел кресты, уже можно было бы две проги написать
#9 #676113
>>676033 (OP)

>Да, анон, не нужно писать на C++


Фикс во имя справедливости
>>676204
#10 #676181
>>676057
Кто-нибудь юзал casablanka? Какое мнение?
#11 #676203
test
#12 #676204
>>676113
В смысле?
45 Кб, 500x500
#13 #676224
Нужно написать приблуду, которая бы детектила движение/не движение в определенной части экрана пару раз в секунду. Как лучше реализовать?
#14 #676231
>>676224
- Делаешь screenshot через любимый gui фреймворк
- Кладешь его в коллекцию
- Сравниваешь(хоть побитово) с предыдущими
>>676315
#15 #676265
Такие дела. В одном классе в контейнере хранятся пары в map в виде <socket, player_id> . В другом классе должны храниться собственно плееры, к которым должен быть доступ по id с первого класса.
Как это лучше всего сделать, чтобы исключить повторения и т.п.? Я не знаю, как лучше всего это обустроить.
>>676275
#16 #676275
>>676265
Где именно ты ожидаешь повторения?
>>676292
#17 #676292
>>676275
Ну айдишники рандомные могут повторяться.
Можно поставить инкремент - но теоретически они могут дойти до максимума unsigned short int'a и ФСЁ.
>>676305
147 Кб, 1280x964
117 Кб, 1280x989
Хочу в С++ вкатиться. #18 #676295
>>676033 (OP)

>Qt


Надумал таки вкатиться в С++. Но вкатываться решил (в предыдущем треде посоветовали) не через Visual Studio, а через Qt Creator.
Какие подводные камни?
#19 #676303
Решаю эту задачу: https://www.hackerrank.com/challenges/staircase

Как правильно передавать string в функцию, чтобы не забивался стек? До отладки рекурсии дело даже не дошло.
https://ideone.com/XEE9Nj
#20 #676304
>>676303
Через указатель, не?
>>676306
#21 #676305
>>676292
Ничего не понятно, опиши подробнее. С какой целью тебе нужен map<socket, id>, почему там могут быть повторы player_id, и почему ты вообще их допустил, раз хочешь избежать повторений?
#22 #676306
>>676304
Объясни подробнее. Я до этого писал только текстовую базу данных под линуксом. Просто часто вижу, что на C++ в функцию передается адрес строки через оператор &.
>>676309>>676310
#23 #676307
>>676303
У тебя даже не компилируется. (потому что ты xvalue пытаешься передать по неконстантной ссылке).
Зделай const string&
#24 #676309
>>676306
В смысле писал только на чистом си.
#25 #676310
>>676306

> Просто часто вижу, что на C++ в функцию передается адрес строки через оператор &.


Это называется ссылка.
214 Кб, 1600x777
#26 #676315
>>676231
Это все очевидно, конкретизирую вопрос:
- Пользователь должен работать в другой программе, а на переднем плане постоянно должен быть счетчик активности. Скрин релейтед.
- Как сделать задание пользователем нужной области для слежения? Типа рамку может чтобы он по экрану перетаскивал и детектилось строго внутри нее.
>>676348>>676896
#27 #676327
>>676295

>Надумал таки вкатиться в С++ через Qt Creator.


>Какие подводные камни?


Не вкатишься в C++.
>>676349
#28 #676348
>>676315
- Можно сделать скриншот всего экрана
- Можно текстово задать две точки, которые определяют прямоугольник. Можно через рисование в прозрачном окне. Тут ничего не скажу конкретно
#29 #676349
>>676327
Чому?
>>676350
#30 #676350
>>676349
Тебе C++ надо или Qt?
>>676391
#31 #676369
>>676303
Нужны 2 переменные. Длина строки и количество звёздочек в ней.
https://ideone.com/U80PJH

>>676295
Qt параша не нушна. Не для того кресты нужны чтобы окошки лепить.
>>676375>>676391
#32 #676375
>>676369

>Qt параша не нушна. Не для того кресты нужны чтобы окошки лепить.


Самое то, чтобы писать отзывчивые интерфейсы
>>676385
#33 #676376
Есть конструкция
SimpleFunctor(const char *name) : name_(name)
и это конструктор класса. Объясните, зачем нужно двоеточие? Это инициализатор или что?
>>676378
#35 #676379
>>676033 (OP)
http://voodoo-slide.blogspot.ru/2010/01/amplifying-c.html?m=1
Кому нужен C++, если даже в геймдеве от него отказываются? Не траллирую, правда интересно. Если чисто хочется челленджа (а не БДСМ), лучше по хачкелю угореть, например.
#36 #676380
>>676379
Двачну, если писать свой проектик, хватит qt
>>676407
#37 #676385
>>676375

>Самое то, чтобы писать отзывчивые интерфейсы


Да, но он же в кресты вкатыватся. Другого нет и Qt для этого подходит, но кресты не для отзывчивых интерфейсов.
>>676386>>676407
#38 #676386
>>676385
Для калькуляторов
#39 #676390
>>676379
Зачем ты принес это устаревшее говно сюда? В 2010 много чего не было, ты бы еще притащил пасту Торвальдса о том, какое C++ нестабильное говно.
>>676407
#40 #676391
>>676350
Так подожжи, Qt - то всего лишь библиотека, чтобы мона было GUI-приложения лепить, не заморачиваясь с WinAPI. Или я что-то не правильно понимаю?
>>676369
Для чего кресты нужны?
#41 #676392
>>676391
Все верно, не слушай того поехавшего.
#42 #676393
>>676391

> Или я что-то не правильно понимаю?


Всё правильно. Только ты смешаешь изучение Qt и C++ вместе.
#43 #676404
>>676391

>Для чего кресты нужны?


Хайлоад. Он самый быстрый. Его очень сложно заменить на серверах где требуются большие мощности.
#44 #676406
>>676391

> Для чего кресты нужны?


Серверсайд, хайлоад, эмбедед, геймдев.
>>676414>>676416
#45 #676407
>>676380
В смысле, биндингов Qt к любому другому языку? Спору нет, но я не только про гуевый софт же интересовался, а про область применения самого C++. Ну, если легаси всякое отбросить, само собой.
>>676385
Для чего?
>>676390
А что кардинально поменялось? Кластерфак парадигм разросся до такой степени, что в нем запутался сам создатель, как Кодзима в сюжетах своих игр?
#46 #676414
>>676406

>эмбедед


А это что ещё такое?
#47 #676416
>>676406

>эмбедед


А конпелятор-то уже завезли под 1001 микроконтроллер? нит
>>676424
sage #48 #676419
Нахуй ваш тред без стихов?
>>676422>>676429
#49 #676422
>>676419

>Стихоебы идут нахуй

#50 #676424
>>676416
Под армы есть и норм.
#51 #676426
>>676295
Фундаментальный вопрос.
Какую эмоджи выбрать в качестве символа плюсов http://www.emoji-cheat-sheet.com
#52 #676428
>>676426
:shit:
#53 #676429
>>676419
Вайпать будешь?
>>676431
#54 #676431
>>676429
Вот ты шутишь, а сегодня уже вайпали
>>676440
#55 #676440
>>676431
Ну да. Как бы поэтому и пошутил. Пидору наверно шапка без стишка не понравилась, а этот хуй на то же самое жалуется. Ты шутку похоже не понял.
>>676445
#56 #676444
Привет революционерам.
Недо-qt-дипломом снова тут.

Забавно, но стоит признать что я разобрался с моделями (включая прокси), БД подцепил, это все.
Час назад даже немного озарился на тему передачи объектов по ссылке / значению. Вопрос, кстати, примерно об этом.

Есть QTableView и подключающаяся база:
http://pastebin.com/0Cz7vVyD

(вырезал кучу всего, оставил только относящееся к делу)

На примере в документации с QSqlRelationalTableModel - открывается норм. Попытался перенести на "прод" - внезапно оказалось что после подключения ничего не отображается. Нихуяшеньки.
База заполнена, проверил - на том же примере и проверял (там же и подгонял удаление столбцов в прокси).

По ссылке выше уже прошли следующие мучения:
- Начал "обращаться напрямую" к переменной.
- Отдельно прописал db_view в начале.

В общем, я уже не знаю что здесь не то. Если не впадлу, посмотрите, плиз.
Подозреваю обосрамс с областями видимости (поэтому в models_prepare там прокся назначается тоже напрямую), но не знаю как проверить наверняка.
sage #57 #676445
>>676440
Да я только ради стишка и заходил. А теперь унылое говно тут.
#58 #676490
>>676426
Там есть якорь?
1 Кб, 64x64
3 Кб, 64x64
#59 #676589
>>676591
#60 #676591
>>676589
кекнул
7 Кб, 782x64
#61 #676604
>>676426
Где отличия?
>>676607
#62 #676607
>>676604
Просто alias-ы
#63 #676680
Анончики такой вопрос. Я правильно понимаю при компиляции выражение (a<=b) будет !(a>b)?
>>676683>>676685
#64 #676683
>>676680
Чому?
#65 #676685
>>676680
Неправильно, раз ты не знаешь, почему так. Ты-то может и угадаешь, но в следующий раз можешь не угадать. Открывай стандарт и читай, только так.
>>676688>>676690
#66 #676688
#67 #676690
>>676685
В какой ситуации это ВООБЩЕ может пригодиться, если ты не пишешь компиляторы?
>>676691
#68 #676691
>>676690
Что может пригодиться? Лазать в стандарт?
>>676692
#69 #676692
>>676691

> при компиляции выражение (a<=b) будет !(a>b)?

>>676694
#70 #676694
>>676692
Ну, возможно, анончик опасается, что выражение раскроется в (a==b)||(a<b), а как вы знаете, байтоебы очень чутко к этому относятся.
>>676699
#71 #676699
>>676694

>байтоебы очень чутко к этому относятся.


А что не так? operator<= перегружается отдельно от operator== и operator<
>>676707
#72 #676707
>>676699
А еще он внутри реализовывается через те же !(a<b). Но главная моя мысль была о том, что нехуй о таких вещах вообще думать, пока не посмотришь в профайлере.
>>676712
#73 #676712
>>676707

>А еще он внутри реализовывается через те же !(a<b)


Есть ссылки на стандарт?
>>676725
#74 #676725
>>676712

>676707


>А еще он внутри реализовывается через те же !(a<b)


Речь про типичную реализация перегруженного оператора
>>676730
#75 #676730
>>676725
Это понятно.

А что будет, если перегрузить <, но не перегрузить >=
>>676753
9 Кб, 184x35
16 Кб, 583x90
#76 #676751
>>676754
#77 #676753
>>676730
юзеры тебя выебут в жопу
>>676757
#78 #676754
>>676751

>Забыл сообщение написать


Почему так? в чем подводный камень? переменная вроде дабл, так почему 5/2 не 2.5? или дело в инт х ??
>>676755
#79 #676755
>>676754
Переменная — дабл. А 5 и (x-2) — нет.
>>676759
#80 #676757
>>676760
#81 #676759
>>676755
Так что просто добавив точку к любому мы решим проблему? т.е. сначал посчитали, потом в дабл переменную записали?
>>676761>>676762
#82 #676760
>>676757
перегружать операторы не обязательно. это делается исключительно для удобства и интуитивности. как ты думаешь, будет ли интуитивно перегрузить < и не перегружать >=? сколько бы wtf/sec словил бы ты?
#83 #676761
>>676759

>любому числу


фикс
>>676762>>676763
#84 #676762
#85 #676763
>>676761
а если точку не добавлять, то ничего не считается. да, решим. какой-то ты слишком нюфажистый. иди книжке из шапки почитай. разберись с хотя бы с lvalue/rvalue терминологией и минимально с типизацией
>>676766
#86 #676766
>>676763
да вот, с типами вроде знаком и с приведением типов тоже. Но спорить по-поводу нью бессмысленно. Как раз строструпа сейчас прохожу. В задании на "исправь ошибку" и нашел это. Вроде и исправил легко, но стало интересно копнуть глубже
#87 #676886
А как сделать шаблонную функцию, которая будет принимать параметры типа std::vector<std::vector<std::vector<...>>> и т.д. Ну то есть неизвестно какой размерности вектор.
>>676890
#88 #676890
>>676886
Уже рекурсией сделал.
#89 #676896
>>676224
>>676315
Бампусики
sage #90 #676909
В пизду этого дауненка без стихов. И так везде скучные чмошники, так еще и тут.
23 Кб, 670x313
#91 #676970
Сука сдохни ёбаный Qt. Делаю сраный хэловорд по простейшему гайду https://netbeans.org/kb/74/cnd/qt-applications_ru.html#creating , а в итоге пикрелейтед. Собирать собирает, а при запуске это говно. Чему там вообще, блядь, вызывать ошибку сегментации? Тьфу, блядь, говно.
#92 #676972
>>676970

>шиндовс


>что-то пиздеть на кутю


>2076


Если ты даун не заметил, то segfault вызывается твоей IDE, а не Qt.
>>676975
#93 #676975
>>676972
Чо делать-то :(
>>677029
#94 #677029
>>676970
>>676975
А с чего ты взял, что netbeans был для cygwin собран?
#95 #677033
Зачем вообще нужен cygwin? Qt и так кросплатформенный по самые яйца
>>677037
#96 #677034
>>676970
Погугли по этому dorun.sh. Проблема решалась.
#97 #677037
>>677033
Ну вот пусть, сука, и на платформе cygwin работает.
#98 #677046
>>676970
Всё работает из коробки с Qt Creator'ом, но илитка как обычно не ищет легких путей
>>677049
#99 #677049
>>677046
QtKreakl воняет.
>>677052
#100 #677052
>>677049

>QtKreakl воняет


>сидит на netbeans


Хм...
>>677054
#101 #677053
Чем больше я узнаю про С++, тем больше я понимаю, что ничего не знаю. У всех так было?
#102 #677054
>>677052
Я не анон с netbeans
#103 #677055
>>677053
По каким источникам узнаёшь?
>>677062
#104 #677062
>>677055
Липпман, курсы на stepic, статьи из интернета, cplusplus.com.
>>677065>>677068
#105 #677065
>>677062
И boost по доке ковыряю.
#106 #677068
>>677062
Ну, цепепе несколько изъебистый, да.
#107 #677077
>>677082>>677142
#108 #677082
>>677077
Ну значит я всё делаю правильно. Пойду допиливать свой простенький аллокатор.
#109 #677090
>>677053
Я кодгда начал учить плюсы доучил, по моему мнение, до 3/10 и начал искать работу. Понял что я нихуя не знаю, и у меня 1/10.
#110 #677142
>>677077

>За это исследование авторам статьи была присуждена Шнобелевская премия по психологии за 2000 год[4].


)))
#111 #677149
Петуханы, поясните за const correctness. Любой const-метод должен в общем случае лочить мьютекс?
673 Кб, 1024x1024
#112 #677202
>>679474
#113 #677242
А давайте на гитхаб шапку. А мод от туда разметку возьмёт. Все будем комитить. Так вообще для всего pr можно сделать.
#114 #677249
>>677240
Тебе так хочется прыгающую мартышку в шапке?
>>677265
## Mod ## #115 #677263
>>677242
Я поддерживаю идею. Если договоритесь между собой, что это приемлемо, запилю отдельный гитхаб для шапок официальных тредов. Потом сможете при перекате дергать меня, чтобы я заливал актуальную версию шапки.
#116 #677265
>>677249
Вот эту штуковинку можно в скрипт засунуть:

><script src="http://xcont.com/snow.js"></script>


Зимой будет очень круто смотреться :3
48 Кб, 640x400
#117 #677357
Это опять я >>676295
У меня такой вопрос. Тут на википедиях пишут, что тысячи программ во всем мире написаны с использованием Qt.
Есть какие-то яркие примеры? Я пока нахожусь в сомнениях - вкатываться мне в Qt или засесть за WinAPI
>>677378>>677441
#118 #677378
>>677357
Ебать ты ленивый http://www.qt.io/qt-in-use/
>>677407
#119 #677392
>>676033 (OP)
Ты спиздил шапку у предыдущего ОПа, стихов не написал. Так чем же ты, пидор, лучше? Предыдущий, кстати, обещал допилить шапку.
>>677409
#120 #677407
>>677378
Я тут про C++ Builder узнал, который тоже окошки перетаскиванием создает.
>>677425>>677455
#121 #677409
>>677392
Я ее нормально оформил, а не спиздил. На стихи мне похуй.
#122 #677425
>>677407
Разница в том, что Qt намного распространеннее и opensource.
>>677449
#123 #677431
Хуя тут у вас- легиминые и нелегитимные, прям угон тредов. В порашу скатились, плюсаны.
#124 #677441
>>677357
В консольке сначала пиши на С++, визуальное программирование подождет. Вполне подойдет code::blocks
>>677451>>677508
#125 #677443
Можно ли писать имено функций ф одно хедере allfunctionanmes.h а реализации в разных function1.cpp, funtion2.cpp ?
>>677570>>677575
#126 #677449
>>677425
Ты мне лучше за такую штуку поясни. Мой exe-шник helloworld.exe (написанный с использованием Qt) запустится у моего друга Васяна, если я ему его по скайпу скину?
>>677450>>677452
#127 #677450
118 Кб, 1914x512
#128 #677451
>>677441
Нинужно.
#129 #677452
>>677449
Если у него DLL-ки есть или экзешник собран статически.
#130 #677455
>>677407
Там даже layout manager не завезли.
#131 #677481
Анончики, как char сконвертировать в string?
Решение типа:
string s;
s = (const char
)aWord;
не работают
#132 #677484
http://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines.html#S-naming
Правильно ли я понял, что нам рекомендуют свои функции и типы писать с большой, а заместо верблюда юзать нижний прочерк?
#133 #677485
>>677481
блядь, там указать на чар.
>>677487>>677497
#134 #677487
>>677485
Двойной обосрамс. Указатель на чар конечно.
>>677497
#135 #677497
>>677503>>677511
#136 #677503
>>677481
>>677497
Или девятый. Если знаешь, что такое initializer_list
>>677505
#137 #677505
>>677503
Хотя нет, наверное нельзя девятый.

Пора спать.
#138 #677508
>>677441

>консольке


Ок. Как мне в консольке нарисовать график функции y=sin(x)?
#139 #677511
>>677497

Спасибо
#140 #677513
>>677508
Псевдографика же
>>677515
#141 #677514
>>677508
Тебе так принципиально для изучения цепепе нарисовать, а не вывести в таблицу?
#142 #677515
>>677513
Слишком сложно. 99% не могут даже нарисовать крестик.
#143 #677520
>>677242
два чая адеквату
#144 #677570
>>677443
Можно. Но это удлиняет время компиляции, так как при изменении хедера будут перекомпилироваться все зависимые модули.
#145 #677575
>>677443
Пиши имено функций ф в хедерах function1.h function2.h, и подключай их в allfunctionanmes.h, если так хочешь их всех объединить где-то.
#146 #677629
>>677508
очевидные ncurses жи
#147 #677630
Сделал программу для конвертации рублей в валюту, стринг в инклуде лишний, просто я его с прошлых программ оставил: http://pastebin.com/ZF77tNsV
#148 #677635
>>677630
М. И?
>>677638
#149 #677636
>>677630
Ты мне кароч даёшь экзешник и я как счастливый юзер могу использовать всё это один день, пока курс не изменится, да?
Запили ка ты нормальный класс Money с соотв. перегрузкой операторов. Шоб было что-нить навроде:

t::Money m1{ 123.2, Money::dollars };
t::Money m2{ 4, Money::rubles };
std::cout << m1 + m2 << std::endl;
>>677638
#150 #677638
>>677635
В смысле?

>>677636
Извините, я пока еще учу язык. Как выучу - сделаю программу, которая бы онлайн курс ловила бы и выводила для валюты на выбор. (почему-то я думаю что таких прог уже 100+ есть)

Просто, показываю что сделал, если какие недоработки и т.д.
Вообще, когда в сообществе что-то делаешь, то тяжелее бросить начатое - я так считаю.
#151 #677639
>>677638
Ты хотел поведать нам о своих успехах?
#152 #677640
>>677630
Круто. Сам делал или помогал кто?
>>677641
#153 #677641
>>677640
Батя помогал.
#154 #677642
>>677638
Если ты сюда это пишешь, значит хочешь критики. Вот она. Пили нормальный класс с нормальным интерфейсом и перегрузками.
>>677645>>677673
#155 #677644
>>677638
Ну молодец, что осваиваешься, чего еще сказать. Попробуй смотреть в сторону прикручивания http-библиотеки, чтобы оно курс брало с какого-нибудь сайта автоматически. Тогда получится если не полезная программа, то уже что-то похожее на полезную.
>>677673
#156 #677645
>>677642
Не критики, а похвалы. Иначе загрущу и брошу кресты.
>>677648>>677650
#157 #677648
>>677645
Похвалы? Ты шутишь? Осиль switch-case, а то от elif'ов рябит в глазах. Нормальную абстракцию и напиши что-нибудь полезное. Тогда, может быть, тебе не обосрут. Похвалы, лол. Мы тебе не родители и не тянка твоя.
>>677649>>677651
#158 #677649
>>677648
Ну всё. В пизду кресты. Хорошо что ещё не много времени на них угробил. Питон учить буду.
>>677650
#159 #677650
>>677649
>>677645
Это не я писал: >>677638
300 Кб, 426x588
79 Кб, 900x691
#160 #677651
>>677648
Сука, тебе похвалить сложно? Или ты только обсирать можешь? Запомни: как ты к людям, так и они к тебе!
>>677654>>678989
#161 #677654
>>677651
Ты жырен, ты толстен, но критика != обсирание. Съеби.
>>677655
#162 #677655
>>677654
Ты сам написал

> Тогда, может быть, тебе не обосрут.

>>677656
#163 #677656
>>677655
Это же двач. Тут всех обладать могут.
>>677657
#164 #677657
>>677656
Поэтому борда "успешных" людей.
#165 #677673
>>677644
>>677642
Кстати, поясните вот что, у меня в папке проекта лежит дебаг с расширением .ехе, он работает как программа, которую я написал. Но, если я запускаю этот файл на другом компьюторе, то он ругается на отсутствие каких-то библиотек, которые, как я понял, идут с вижуалом.
Как я понял, потом я уже узнаю как делать экзешник и вшитые в него билиотеик?
>>677675>>677687
#166 #677675
>>677673

> ругается на отсутствие каких-то библиотек


РУГАЕТСЯ НА ОТСУТСТВИЕ РАНТАЙМА С ДЕБАГ-СИМВОЛАМИ
#167 #677680
>>677242
Перенеси щас питонерам шапку с гитхаба. Посмотрим как это выглядит. Алсо как происходит вставка хтмлэля в пост? Может они тебе бота для автопереката запилят?
#168 #677687
>>677673
И на другие компьютеры надо распространять Release-билды.

Если у тебя студия, то там запрещено вообще распространять дебаг-версии.
>>677690>>677710
#169 #677690
>>677687
А как релиз билд сделать?
Я на вижула_студио пишу, пишут что вроде самая удобная иде для разработки.
Я, конечно, еще много чего не понял, и интерфейс громоздкий и н слишком удобный...
А ты на нём пишешь? У меня была бы пара вопросов по интерфейсу.
>>677707>>677710
#170 #677707
>>677690
Нет, я не пишу.
Поищи в меню/на панели Release-сборку.
#171 #677710
>>677687

>Если у тебя студия, то там запрещено вообще распространять дебаг-версии.


>>677690
Вот тебе пруф, если хочешь:

> Debug versions of an application are not redistributable, and debug versions of the Visual C++ library DLLs are not redistributable. You may deploy debug versions of applications and Visual C++ DLLs only to your other computers, for the sole purpose of debugging and testing the applications on a computer that does not have Visual Studio installed.


https://msdn.microsoft.com/en-us/library/aa985618.aspx
>>677929
#172 #677746
Что значит конструкция

int a;
(void
*)&a;
>>677747>>677872
#173 #677747
>>677746
Каст к указателю на void.

В C ненужно, так как любой указатель кастуется в на-void
В C++ ненужно, так как убивать за это
>>677985
#174 #677840
>>677567
Мод, плиз.
#175 #677853
Итак, почему память, выделенная под одну строку высвобождается за считанные секунды, а столько же памяти выделенной в сумме для нескольких строк, и высвобождение идёт по строкам, протекает в 10 раз медленнее и как это можно ускорить?
>>677855>>677856
#176 #677855
>>677853
Говно
#177 #677856
>>677853
Может фрагментация памяти и нужно использовать буфер?
>>677870
#178 #677870
>>677856
1. какой у тебя аллокатор, попробуй jemalloc
2. если критично, делай свой пул памяти и развлекайся с имплейментами
>>677871
#179 #677871
>>677870
* имплейсментами
#180 #677872
>>677746
она предвещает большую беду. увидишь её, сразу закрывай двери и залазь под кровать
#181 #677926
>>676224
лабы идут на хуй
#182 #677929
>>677710
Так это чисто юридический запрет, лол.
#183 #677965
Аноны, а книга Джефф Элджер - C++: Библиотека программиста годнота или нет? Я просто посмотрел там много про работу с памятью написано. Может есть что поновее?
51 Кб, 460x619
#184 #677973
Сап, анон.
http://ideone.com/df6V1p
Суть такова: пользователь создаёт файл A, в который пишет целые ненулевые числа. Положительных столько же, сколько и отрицательных. Программа создаёт файл B, в котором эти числа записываются так, чтобы рядом не стояло двух чисел с одинаковым знаком (т.е. положительные и отрицательные чередуются), но отдельный порядок следования сохраняется как для положительных, так и для отрицательных чисел.
Вопрос: какого хуя эта хуерга не работает, блядь? Я напутал что-то с указателями? Вчера весь вечер ебался с ней, в итоге не доебал.
>>677977>>677982
#185 #677977
>>677973

>лабы идут на хуй

#186 #677982
>>677973
Хуерга не работает, потому что ты накопипастил с-шного говнеца
#187 #677985
>>677747

Так там как понял без этого никак. Это для CUDA C, конструкция (void)&a. Что значит каст, ни разу такое не использовал на обычном С++. На приведение не похоже, на взятие адреса тоже.
>>677988
#188 #677988
>>677985

(void)&a ебаная вакаба, чего ей не шатается и она режет звезжочки
#189 #678002
>>676295
WinAPI лучше Qt. Сам несколько лет назад решил освоить какую-нибудь библиотеку для всяких гуёв. Выбор пал на Qt. Потихоньку осваивался, переписывал свои старые программы под GUI, но с каждым разом разочаровывался в Qt всё больше и больше. Реализация простейшей хуйни требовала создание абстрактного класса листенера события и использование парадигмы MVC. Про один экзешник можно забыть - нужен ещё и Qt5Core.dll, Qt5Widgets.dll и т.д. Программы не всегда делали то, что я хочу - например, не могли создать объект QImage размером больше гигабайта, а без QImage я тогда обойтись не мог. Поведение некоторых элементов было не такое, какое следовало ожидать. Где-то тогда же я узнал про WinAPI - древнюю, могущестенную библиотеку, когда-то бывшую доминантой, но теперь забытую за всеми этими фреймворками и абстрактными парадигмами. Уже тогда, не зная её вообще, я называл её "лучшей библиотекой в мире". А когда решил выучить её - понял, насколько же я был прав. Один экзешник, маленького размера. За счёт отсутствия нагромождения абстракций код на WinAPI получатся даже короче. Делала библиотека всё, что нужно, я до сих пор удивляювь, когда узнаю, что в ней есть яички для моей сегодняшней задачи. Вдобавок в Visual Studio был охуительный шрифт и сама архитектура WinAPI-программ взрывали мозг. Он охуителен.
#190 #678004
>>678002
А вообще её за месяц-полтора можно как-нибудь освоить?? Ну, даже не освоить, а реализовать проект. Дело в том, что я никогда не писал приложения с гуи, а тут вот понадобилось и чтоб таблица была и картинки...
#191 #678005
>>678004
StackOverflow там -->>
#192 #678023
>>678002
Блядь, ты там ебанутый нахуй? Пошел ты в жопу с такими дебильными пастами. Бинарник у него один, бля. Если этот хуила не знает про статическую линковку, понятно какое ценное у него мнение.
>>678066
#193 #678066
>>678023
Знаю я, блядь, про статическую линковку. Как и про то, что ты ОБЯЗАН распространять программу под GPL, если слинкуешь статически. Я уж молчу про то, сколько всякого говна надо ставить, чтобы пересобрать Qt под статическую линковку.

>>678004
По документации можно, но только если ты умеешь читать документацию.
>>678067>>678070
#194 #678067
>>678066

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


Сколько? Qmake и компилятор C++? (Которые в составе Qt SDK идут, лол).
Даже 200 мб библиотек – лучше чем привязывание ануса к одной платформе и пожирание сишного говнолегаси из 70-х (винапи).

Алсо, я так понимаю поставлять бинарник в комплекте с 2 дллками – слишком трудно.
>>678232
#195 #678070
>>678066

>ОБЯЗАН


Проиграл чёто. К тебе на хату завалятся, отпихдят и свяжут, потом будут натягивать кишки на скалку, крича -"ХУЛИ ТЫ КУТЮ СТАТИЧЕСКИ СЛИНКАВАЛ ПИДАР".
>>678080
#196 #678080
>>678070
Посмотрим как ты запоешь когда тебе позвонит один из сотен натренированых лично Столлманом юристов FSF.
>>678083>>678094
#197 #678083
>>678080
А что, если я нигде не указывал свой телефон?
>>678092
#198 #678091
Линковать qt статически можно, если лицензия коммерческая. Если open source, то да, нельзя. Но, честно говоря, я не вижу проблемы поставлять либы вместе с бинарником.

Про то, что код на winapi короче и проще, - это вообще пушка. Ну покажи нам этот код, хули.
>>678232
#199 #678092
>>678083
Как ты можешь распространять не свободно свою программу и нигде не указать свой телефон? Ситауция такая что ты начинаешь распространять свою программу за $10, другие парни начинают продавать ее за $5. Ты пытаешся подать на них в суд - общественности становится известна твоя личность. К тебе подъезжают люди от Столлмана для разговора.
>>678103
#200 #678094
>>678080
Поссу им на ебало и кекну. У нас здеся за хентай сажают, а не за нарушение лицензий на ПО.

Алсо, какая вообще вероятность что твоим высером будет пользоваться больше 2,5 васянов и кто-то вообще узнает о факте этой статической линковки?
>>678097>>678101
#201 #678097
>>678094

>узнает о факте этой статической линковки


Справедливости ради, если код без защиты, то сделать это довольно легко.
>>678107
#202 #678101
>>678094
Это хорошо что ты определился с целями своей жизни и решил что ничего больше laba2.cpp ты не напишешь - тут действительно можно линкануть статически с маловероятными последствиями. Но анона, возможно, интересует написание серьезных коммерческих проектов. И писать их с нарушениями лицензий недальновидно.
>>678106>>678107
#203 #678103
>>678092
Если будешь делать коммерческий софт – уж будь так добр заплатить и за Qt и не выёбываться. Это не студия с ценником от 1,5к до 6к$, всего-то 300$ для коммерческого проекта – не много. Ну а если у тебя очередное васяноподелие для 2-х человек – не вижу смысла ебать мозги.
#204 #678106
>>678101
Но тогда он и купит коммерческую лицензию на qt и точно будет поставлять свой продукт не одним бинарником. Так что его аргументы выглядят весьма вскукаречно.
#205 #678107
>>678101
Для сурьёзного проекта 300$ – не деньги. Только это всё высер твоего манямирка, в попытках оправдать сказанную тобой тупость.
>>678097
Что с этого будет-то? Кто-то усрётся и наспамит тебе на почту что ты хуесос?
>>678115
#206 #678109
Да вас тут траллируют, лалки. Причем очень толсто:

>Вдобавок в Visual Studio был охуительный шрифт и сама архитектура WinAPI-программ взрывали мозг. Он охуителен.

>>678112>>678232
#207 #678112
>>678109
Да ясен хуй что это даун уровня ОПа пуревасик треда, просто чем жирнее наброс тем сложнее пройти мимо когда так нагло ебут кому-то мозги.
#208 #678115
>>678107

> Да кто вообще узнает, ха хах ах, как хочу так и линкую))))


> ну конечно я заплачу деньги, какой вопрос

>>678119
#209 #678119
>>678115
Уменьши обороты манямирка, дефектное. Ты впаривал нюфагу про то, что ДЛЯ СУРЬЙОЗНОГО ПРАИКТА НУЖНА ПЛАТИТЬ, ИНАЧИ ПАЗВОНЯТ ДЯДИ И СКАЖУТ ЧТО ТЫ ДОЛЖИН ЖРАТЬ ГРЯЗЬ ИЗ ПОД НОГТЕЙ КАК СТОЛЛМАН))). И что-то не заметно, чтобы тебя ебало, что на статическую линковку васяноподелия без крупной базы (тем более если оно некоммерческое – тебе даже по закону сделать в СШП нихуя не смогут) всем похуй.
>>678232
#210 #678198
>>678002
Ты двинулся. Эта бибка сишная, которая по существу эмулирует сишными же средствами ООП. Чего в этом хорошего, учитывая, что всё это досталось со временён третьих Окон?

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

Алсо, что не так с MVC-парадигмой? Давай разложи по полочкам, мамкин проектировщик.
>>678232
#211 #678199
>>678004
Гуи на гуёвых языках. Если очень хочется писать на плюсах и иметь gui, то как вариант пиши плюсовую бибку, которая дёргается из графического фронт-энда, написанного на C++ .NET.
#212 #678232
>>678067
Насколько я помню, git, msys, ruby, python, Cygwin и что-то ещё. А, ну и Qmake и mingw. По крайней мере, в 2013 было так.

Да, таскать за собой лишний мусор - это пиздец. Лучшая программа - та, что распространяется в одном .exe. Всякие zip-архивы с rar-архивами мусора не нужны.

>>678091
Да, вот только с WinAPI тебе вообще не нужно ни за что платить, чтобы нормально распространять программы.

Код бы показал, да вот Qt давно не стоит, чтобы написать аналогичный для сравнения.

>>678109
Это не троллинг. Когда устал от паттернов абстрактных фабрик синглтонов(а Qt ими наполнен), то WinAPI кажется невероятно охуительным. В нём всё так неправильно, так непривычно. И это круто.

>>678198
Что в этом хорошего?

Там, блядь, ООП НА СИ! Без крестов! ООП! НАСТОЯЩИЙ! НА СИ! И ВСЁ ПРИ ЭТОМ РАБОТАЕТ! Это же венец творения!

Каждый дурак может написать ООП на C++. ООП на сях могут написать только самые крутые чуваки с инженерным мышлением.

MVC-парадигма? Да всё с ней нормально, только заехал этот ДИЗАЙНЕРСКИЙ АРХИТЕКТУРНЫЙ ПОДХОД. Хочется чего-то неправильного. Того, что нарушает правила по разработке ПО.

А ведь в WinAPI помимо всего этого ещё и синтаксис охуителен.

>>678119
Дело даже не в том, что где-то следят какие-то дяди. Дело в собственном ощущении лицензионной чистоты.
#212 #678232
>>678067
Насколько я помню, git, msys, ruby, python, Cygwin и что-то ещё. А, ну и Qmake и mingw. По крайней мере, в 2013 было так.

Да, таскать за собой лишний мусор - это пиздец. Лучшая программа - та, что распространяется в одном .exe. Всякие zip-архивы с rar-архивами мусора не нужны.

>>678091
Да, вот только с WinAPI тебе вообще не нужно ни за что платить, чтобы нормально распространять программы.

Код бы показал, да вот Qt давно не стоит, чтобы написать аналогичный для сравнения.

>>678109
Это не троллинг. Когда устал от паттернов абстрактных фабрик синглтонов(а Qt ими наполнен), то WinAPI кажется невероятно охуительным. В нём всё так неправильно, так непривычно. И это круто.

>>678198
Что в этом хорошего?

Там, блядь, ООП НА СИ! Без крестов! ООП! НАСТОЯЩИЙ! НА СИ! И ВСЁ ПРИ ЭТОМ РАБОТАЕТ! Это же венец творения!

Каждый дурак может написать ООП на C++. ООП на сях могут написать только самые крутые чуваки с инженерным мышлением.

MVC-парадигма? Да всё с ней нормально, только заехал этот ДИЗАЙНЕРСКИЙ АРХИТЕКТУРНЫЙ ПОДХОД. Хочется чего-то неправильного. Того, что нарушает правила по разработке ПО.

А ведь в WinAPI помимо всего этого ещё и синтаксис охуителен.

>>678119
Дело даже не в том, что где-то следят какие-то дяди. Дело в собственном ощущении лицензионной чистоты.
>>678245>>678268
#213 #678245
>>678232

>Насколько я помню, git, msys, ruby, python, Cygwin и что-то ещё. А, ну и Qmake и mingw. По крайней мере, в 2013 было так.


На ШIИD0W2 так и до сих пор. Блять, даже в OSX позиционирующейся как ОС для домохозяек это всё есть из коробки.

>Да, таскать за собой лишний мусор - это пиздец. Лучшая программа - та, что распространяется в одном .exe. Всякие zip-архивы с rar-архивами мусора не нужны.


Когда у тебя большой софт - намного удобнее положить хуй и слинковать динамически.

>Да, вот только с WinAPI тебе вообще не нужно ни за что платить, чтобы нормально распространять программы.


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

>Код бы показал, да вот Qt давно не стоит, чтобы написать аналогичный для сравнения.


Ясен хуй, что ты просто вбрасываешь потолще. Молодец, заглотни хуйца и слейся до конца.

>Это не троллинг. Когда устал от паттернов абстрактных фабрик синглтонов(а Qt ими наполнен), то WinAPI кажется невероятно охуительным. В нём всё так неправильно, так непривычно. И это круто.


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

>Каждый дурак может написать ООП на C++. ООП на сях могут написать только самые крутые чуваки с инженерным мышлением.


Эээ, блять, кек. Чтобы писать на Goвне теперь тоже нужно инжинерное мышление. Создал структурку, в хидерах маскируешь её под void* и мартышки НИПАНИМАЮТ))))) АХУИТЬ КЛАССНА)))

>Дело в собственном ощущении лицензионной чистоты.


И при этом тебе нравится измазываться говном Билли 30-ти летней выдержки?
>>678270>>678302
#214 #678268
>>678232

>Код бы показал, да вот Qt давно не стоит, чтобы написать аналогичный для сравнения.


Ну давай без сравнения, закинь свой код winapi онли.
#215 #678270
>>678245
Да чего ты с ним разговариваешь, лол? Это же тот поехавший с охуительными историями про его превозмогания винапи. Его еще зимой тут хуями накормили.
>>678281>>678302
52 Кб, 600x600
#216 #678272

>Лучшая программа - та, что распространяется в одном .exe. Всякие zip-архивы с rar-архивами мусора не нужны.



Назови хоть одну такую.

Покормил
>>678302>>679296
177 Кб, 2430x598
#217 #678281
>>678270
Нашел его.
96 Кб, 1268x594
#218 #678283
Еще, кстати, нашел это. Я так и не понял, прошлый ОП-стихоеб моча или нет?
>>678382>>678414
#219 #678302
>>678245

>На ШIИD0W2 так и до сих пор. Блять, даже в OSX позиционирующейся как ОС для домохозяек это всё есть из коробки.


Но блядь, нахуя мне одноразовый мусор в системе? Ещё и из коробки, охуеть просто. Мусора вообще быть не должно. Если ты не ruby-кодер, то нельзя ставить ruby для подобных задач ни при каких обстоятельствах. Всё, что у меня стоит на компьютере, так или иначе мной используется.

Поэтому никакой статической линковки.

>Когда у тебя большой софт - намного удобнее положить хуй и слинковать динамически.


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

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

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


Тебя удивить? В Qt та же сотня строк кода. Только они уходят не на очевидные действия, а на всякое наследование абстрактных классов и перегрузку методов листенеров. Скууууука!

>Ясен хуй, что ты просто вбрасываешь потолще


Да, конечно, можешь не замечать того, что я написал строкой выше. Только меньшей правдой оно от этого не становится.
Давай так - вбрось-ка сам сюда код на Qt.

>Учитывая что всё это облегчает код во всех аспектах - попизди ещё что ты не жирный ублюдок


Это не облегчает код, это вызывает жуткое уныние. По сложности абсолютно то же самое.

>Эээ, блять, кек. Чтобы писать на Goвне теперь тоже нужно инжинерное мышление. Создал структурку, в хидерах маскируешь её под void и мартышки НИПАНИМАЮТ))))) АХУИТЬ КЛАССНА)))


Хуйня какая-то, подумаешь, под void
замаскировать. А вот WNDCLASS::lpfnwndproc(я от одного этого названия кончаю) - это интересное и замысловатое архитектурное решение.

>И при этом тебе нравится измазываться говном Билли 30-ти летней выдержки?


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

>>678270
Что-то я не помню такого, помню лишь, что никто так и не смог доказать, чем их %либанейм% лучше WinAPI.

>>678272
Такие пишу только я. Смотри, например, тебе нужно, чтобы пара твоих знакомых посмотрело, какую охуенную штуку ты написал. Дальше 2 сценария:
Сценарий 1.
-Смотри, что у меня!
-Ладно, давай посмотрю. Принимает. Не запускается чёт, Qt5Core.dll какой-то требует.
-Эээ... Ладно, подожди, я кинуть ещё.
-Скучающий вздох Ладно, давай. Принимает. Опять требует что-то.
-Ой-ой, ща.
-Да ладно, забей, потом как-нибудь.

Сценарий 2.
-Смотри, что у меня!
-Ладно, давай посмотрю. Принимает. Вау, чувак, это круто!

Ну и что бы ты выбрал?
#219 #678302
>>678245

>На ШIИD0W2 так и до сих пор. Блять, даже в OSX позиционирующейся как ОС для домохозяек это всё есть из коробки.


Но блядь, нахуя мне одноразовый мусор в системе? Ещё и из коробки, охуеть просто. Мусора вообще быть не должно. Если ты не ruby-кодер, то нельзя ставить ruby для подобных задач ни при каких обстоятельствах. Всё, что у меня стоит на компьютере, так или иначе мной используется.

Поэтому никакой статической линковки.

>Когда у тебя большой софт - намного удобнее положить хуй и слинковать динамически.


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

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

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


Тебя удивить? В Qt та же сотня строк кода. Только они уходят не на очевидные действия, а на всякое наследование абстрактных классов и перегрузку методов листенеров. Скууууука!

>Ясен хуй, что ты просто вбрасываешь потолще


Да, конечно, можешь не замечать того, что я написал строкой выше. Только меньшей правдой оно от этого не становится.
Давай так - вбрось-ка сам сюда код на Qt.

>Учитывая что всё это облегчает код во всех аспектах - попизди ещё что ты не жирный ублюдок


Это не облегчает код, это вызывает жуткое уныние. По сложности абсолютно то же самое.

>Эээ, блять, кек. Чтобы писать на Goвне теперь тоже нужно инжинерное мышление. Создал структурку, в хидерах маскируешь её под void и мартышки НИПАНИМАЮТ))))) АХУИТЬ КЛАССНА)))


Хуйня какая-то, подумаешь, под void
замаскировать. А вот WNDCLASS::lpfnwndproc(я от одного этого названия кончаю) - это интересное и замысловатое архитектурное решение.

>И при этом тебе нравится измазываться говном Билли 30-ти летней выдержки?


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

>>678270
Что-то я не помню такого, помню лишь, что никто так и не смог доказать, чем их %либанейм% лучше WinAPI.

>>678272
Такие пишу только я. Смотри, например, тебе нужно, чтобы пара твоих знакомых посмотрело, какую охуенную штуку ты написал. Дальше 2 сценария:
Сценарий 1.
-Смотри, что у меня!
-Ладно, давай посмотрю. Принимает. Не запускается чёт, Qt5Core.dll какой-то требует.
-Эээ... Ладно, подожди, я кинуть ещё.
-Скучающий вздох Ладно, давай. Принимает. Опять требует что-то.
-Ой-ой, ща.
-Да ладно, забей, потом как-нибудь.

Сценарий 2.
-Смотри, что у меня!
-Ладно, давай посмотрю. Принимает. Вау, чувак, это круто!

Ну и что бы ты выбрал?
>>678319>>679296
33 Кб, 295x400
#220 #678319
>>678302

>Такие пишу только я


Не думал, почему так? Собственно, я уже точно знаю, что ты больших проектов в глаза не видел. Достопочтенным господам в крупных проектах нужно:
- Кроссплатформенный GUI и код в целом.
- Скорость работы отладчика
- Скорость работы IDE на проекте
- Внешняя конфигурация работающего приложения
- Плагины
- Простота доставки обновлений
- Расшаривание функциональности между несколькими бинарниками.

Поставлять приложение одним бинарником - это бред, никто так не делает. Использовать непереносимую библиотеку GUI на десктопе это тоже бред.

P.S. И покажи все же свой код на WINAPI
>>678328
#221 #678328
>>678319

>Кроссплатформенный GUI и код в целом


Не нужно. У меня нет ни одного знакомого, который всерьёз бы использовал линукс. А это вполне нормальная выборка, чтобы сделать соответствующие выводы.

>Скорость работы отладчика


И на Visual Studio она очень высокая. А на Qt вообще где-то до 5.1 был просто отвратительный отладчик.

>Скорость работы IDE на проекте


И тоже достаточно высокая.

>Внешняя конфигурация работающего приложения


Есть.

>Плагины


Уточни - плагины для IDE(потому что в Visual Studio, в отличие от Qt Creator, они есть) или плагины для твоего же приложения? Если второе - то идеальному приложению вообще плагины не нужны, оно выполняет все необходимые задачи.

>Простота доставки обновлений


Заменяешь бинарник и всё, делов-то.

>Расшаривание функциональности между несколькими бинарниками


А что ты имеешь в виду? Нахуй несколько бинарников?
#222 #678369
>>678328
А у меня полно знакомых девочек с макбуками. Пилить им отдельных гуй на cocoa?
>>678397
#223 #678376
>>678328

> У меня нет ни одного знакомого, который всерьёз бы использовал линукс.


Андроид твои знакомые тоже не используют?

>И на Visual Studio она очень высокая. А на Qt вообще где-то до 5.1 был просто отвратительный отладчик.


Qt вообще-то нормально работает под Visual Studio.
>>678397
#224 #678382
>>678283
Любезный, не следует отверзать ту бездну, что скрывается за сим суждением.
#225 #678397
>>678369
А нужен ли им вообще твой софт для начала? Девочки с макбуками - весьма специфическая аудитория. Если твой софт для них, может, тогда виндовая версия вообще не нужна?

>>678376

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


Прости, но Android - это вообще не десктоп. Мобильные приложения - совершенно другая среда. Они по-другому распространяются, по-другому пишутся, по-другому работают и по-другому используются. Я уж молчу про то, что только идиот будет писать приложение под андроид не на Java(хотя Java - ужаснейший язык).

>Qt вообще-то нормально работает под Visual Studio


Только вот он там не особо нужен.
>>678412
#226 #678412
>>678397
Мобильные приложения другая среда только для winapi-дрочеров. Ничего особенного в них нет для тех, кто умеет писать кроссплатформу. Ты просто программист ниже рангом, вот и все.
>>678484
#227 #678414
>>678283
Нет. Тут 3 профи сидят 2 могут в асм 1 в js. Оп студент последнего курса возможно работает в бодишопе и когда говорит от своего имени часто называет остальных няшеми ещё олдфаг или луркоёб. Другой отвечает даже на глупые вопросы и использует vim, а третий использует класс tvoymamka и часто материться тогда что-то поясняет похоже что это алчан и теперь он куда-то сбежал. Остальные не очень активные. Раньше похоже модер сильно не выделялся как и новый оп т.к. их не помню. Алсо предлагаю затролить мода и устроить бамплимит до 8ого марта и это где его посты? Нахуя потёр всё?
>>678449
#228 #678449
>>678414
может это все один человек
>>678453
#229 #678453
>>678449
Не. Я точно этих трёх запомнил. А до нашего опа опом был алчан кстати. Это он писал в шапке чтобы все шли нахуй и свой скрипт для [code] в шапку пихал.
>>678459>>678463
#230 #678459
>>678453
а прошлый оп сам рассказывал про последний курс и бодишоп чтоли?
>>678476
#231 #678463
>>678453
Алчан это не тот, который сделал разметку MakabaCode?
>>678476
#232 #678466
>>678328

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



Это просто ультратолсто. Ты уже давно не помещаешься в этот тред. Давай тоньше, а то не интересно.

>И тоже достаточно высокая.


Охуительные истории ITT. Ты хоть раз открывал солюшн с 170 подпроектами? Я открывал. Мне не понравилось. Помимо того, что code assistant работал довольно медленно, так он еще и хуево работал. В Eclipse ситуация намного лучше, но все равно на таких объемах кода разработчики иногда включают распарс только на проектах, на которых работают. А если у тебя еще нет SSD, то это просто блять обязательно, иначе можешь идти пить чай, пока анализ кода не завершится.

>Есть.


В реестре, лол? А я думал, в отдельном файлике, который рядом с бинарником лежит. Вот ведь не задача-то!

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


Ага, попизди тут еще, макака ебаная. А если эти плагины платные и кастомеру все они не нужны? А если это моды к играм? Я же говорю, ты никогда не работал с крупными проектами, а пиздишь, будто ты Макконелл.

>А что ты имеешь в виду? Нахуй несколько бинарников?


Ну ты поставляешь консольную и gui-шную версию приложения, например. Ах да, в твоем манямирке такого не предусмотрено.
>>678471
#233 #678471
>>678466

>170 подпроектами


Вы же ебанулись. Еще поди в SVN?
>>678472
#234 #678472
>>678471
Сперва. На git потом перебрались.
Ты так говоришь, как будто это что-то плохое.
#235 #678476
>>678463
Ну да. Я же это и написал. Только не помню почему так решил.

>>678459
Про последний курс да. Но он не говорил что он ОП. В одном из тредов 1 хуй какие-то лекции по архитектуре компьютера советовал когда другой реквестил аналог таненбаума покороче. Там у него спросили аспирант ли он, а он ответил что студент. Про последний курс не помню, но судя по знаниям последний. Было это летом или весной. Раньше всё записывал, но проебал файл. Ухожу на архивач освежить воспоминания.
>>678482
#236 #678482
>>678476

>Только не помню почему так решил.


Всё. Вспомнил. У него они на одном гитхабе лежат. А ещё возможно это он этот тред вайпал т.к. там же и какая-то универсальная вайпалка лежит https://github.com/ololoepepe/wipe.js
>>678499
#237 #678484
>>678412

>Мобильные приложения другая среда


Блядь, я тебе как пользователь это говорю. У десктопа и у мобайла совершенно разные задачи. Там, блядь, даже браузеры разные.

Кроссплатформы "мобайл-десктоп" не бывает. Назови мне хотя бы одно приложение, которое одинаково работает в обеих средах.
#238 #678491
А вот и результаты подъехали. http://www.polljunkie.com/poll/jtdoir/c/view
#239 #678496
>>678512
#240 #678498
>>678484

>Кроссплатформы "мобайл-десктоп" не бывает.


Серия GTA, например. Ты думаешь они ее заново переписали?
>>678512
#241 #678499
>>678482
Шел бы ты нахуй со своими неймфагами.
>>678510
#242 #678510
>>678499
Да ладно. Кстати дочитываю первый тред. Там как-раз оп и говорит что те лекции у них на 2ом курсе читают. Значит Он минимум 3ий курс. А задедектил его по спойлерам. Оп их любит.
>>678513
#243 #678512
>>678498
Мы вроде о гуёвых библиотеках говорим, а не о рендеринге.

>>678496
"Мобильный даже на десктопе". Этот лозунг бы ему подошёл, вот только на десктопе он совсем неудобен.
54 Кб, 1130x272
#244 #678513
>>678510
Лол. Нашёл все 3 или 4 признака опа в одном посте.
>>678520
#245 #678516
>>678484

>Кроссплатформы "мобайл-десктоп" не бывает.



Зато бывает мобайл-мобайл, лал. И вообще, что ты пытаешься доказать? Что winapi не говно? Ну давай ты накинешь сравнений, а потом мы тебя обоссым.
>>678532
21 Кб, 1296x120
#246 #678518
Во что ещё нашёл. Как узнать из каких байтов состаит функция? Можно приммер такой программы?
#247 #678520
>>678513
так это какой из опов, со стихами или нынешний? я не понимат
>>678523
#248 #678522
>>678518
Напиши функцию, скомпилируй ее в машинный код и вынь байты HEX-редактором. Очевидно же.
>>678531
#249 #678523
>>678520
Со стихами
>>678526
#250 #678526
>>678523
а нынешний откуда взялся? это тот который с разметкой или другой?
#251 #678530
>>678518
Может, у тебя у функций ещё адреса нет?
#252 #678531
>>678522
А как я узнаю какие байты принадлежат функции?

Вот ещё нашёл.

>Статический метод попадает туда же, куда и обычные методы - в сегмент команд. Суть в том, что методы не копируются для каждого объекта класса. В смысле размещения все функции "статические", потому что все функции, которые вызываются хотя бы один раз, записываются в память и не дублируются. static-методы отличаются только тем, что они не принимают неявно первым параметром указатель на объект, и поэтому их можно вызывать не только от имени объекта как mamka.ebat (), но и вообще при отсутствии объектов класса, от имени всего класса: TvoyaMamka::ebat ().



Тут же дохуя проблем может быть. Например если эта функция будет обращаться к другому методу или переменной в классе, а объект не создан. Знаю что можно попробовать проверить, но могут быть проблемы о которых я не подумал. Где на столько подробно за кресты поясняют?

>>678526
Он увидел спагети в шапке и тред который 2 дня в бамплимите и решил стать новым опом.
>>678537>>678550
#253 #678532
>>678516

>Зато бывает мобайл-мобайл


Да, но мы говорим о десктопе. Мне похуй, что там в мобильной разработке, всё равно интересных средств там нет.

>Ну давай ты накинешь сравнений


Ну отлично, кидай код на Qt, а я его сравню с винапишным.
#254 #678534
>>678526

>это тот который с разметкой или другой?


Нет. Тот написал

>Красава, достойный преемник, благословляю.


И перестал быть опом.
#255 #678537
>>678531
Ну там изи, если немного разобраться. Можно прочитать про формат бинарника для своей архитектуры и отрезать от существенных байтов заголовок и всякую хуйню. Или просто взять таблицу машинных кодов и перегнать ассемблерный код вручную в машинные команды.
>>678646
#256 #678540
>>678526

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



Прошу, начинайте:
https://github.com/qtproject/qtquickcontrols/tree/dev/examples/quick/controls/gallery
>>678611
# OP #257 #678544

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


Так нельзя. Объекта же нет.

>Где на столько подробно за кресты поясняют?


Страуструп/стандарт
>>678548
#258 #678547
Поясните ньюфагу, как записывать переменные в файл и читать с него.
#259 #678548
>>678544

>Страуструп


Там нет.

>стандарт


Там много сложно.

>Так нельзя. Объекта же нет.


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

>>678562
#260 #678550
>>678531
Если статическая функция попытается обратиться к нестатическому члену, то код просто не скомпилируется. Почитать можно книги из шапки, те, что более хардкорные.
>>678556
#261 #678551
>>678547
fstream
#262 #678553
>>678547
Что тебе именно не понятно?
Используй FILE *, fread, fwrite.
#263 #678555
>>678547
std::ofstream tvoya_mamka {"file.txt"};
int hui = 1488;
tvoya_mamka << hui;
>>678558
#264 #678556
>>678550

>те, что более хардкорные.


>Литература для тех, кто осилил предыдущий пункт


>Наиболее детальные описания языка:


>Тонкости языка (для гурманов)


Какие?
>>678561>>678565
#265 #678558
>>678555
Может, сначала создать класс "орган"?
#266 #678561
>>678556
В старой шапке был пункт "Отдельные аспекты".
>>678572
580 Кб, 1366x1318
#267 #678562
>>678548

>Там нет.



Почему я тогда нашел?
>>678573
#268 #678565
>>678556
Еще есть охуенная книжка Inside the C++ Object Model Липпмана, но она емнип только на английском.
# OP #269 #678572
>>678561
Хуй его знает, почему я выкинул этот раздел. Помню только, что "Параллельное программирование" выкинул как нерелейтед, хотя сейчас понимаю, что зря.
Вероятно, случайно забыл добавить.
13 Кб, 409x166
158 Кб, 682x408
#270 #678573
>>678562
Потому что у тебя другая книга. Какая?
>>678577
#271 #678577
>>678573

>4. Наиболее детальные описания языка:


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



У тебя старое издание. Но там тоже это есть. В главе "Классы"
>>678582
#272 #678582
>>678577
Понял спасибо. Значит читал не внимательно.
#273 #678590
#274 #678611
>>678540
Хорошо, подожди часик и я напишу WinAPI-код. Только уточни для начала, ты вот эти вот QML+JS тоже считаешь? Ибо QML+CPP как раз и занимает у тебя примерно столько же кода, сколько винапишный эквивалент.
>>678631>>678973
206 Кб, 1504x1228
185 Кб, 1504x1228
211 Кб, 1504x1228
191 Кб, 1504x1228
#275 #678631
>>678611

>ты вот эти вот QML+JS тоже считаешь?


Ну конечно.

>Ибо QML+CPP как раз и занимает у тебя примерно столько же кода, сколько винапишный эквивалент.


Охуительные истории.
>>678638>>680666
#276 #678638
>>678631
Алсо, код на Qt занимает ~360 строк.
117 Кб, 1358x453
5 Кб, 178x85
33 Кб, 373x412
#277 #678646
>>678537
Что дальше? Как узнать сколько байт отрезать и в какую сторону?
>>678791
#278 #678652
Анон, поясни заходящему сюда раз в пару лет мимо-пасквилянту, какую оптимальную версию MS Visual С++ покупать на торрентах для начала? Свистелок и маус-кодинга не хочу, меня интересует просто создание 32-разрядных оконных приложений с нуля, поэтому ранние версии предпочительней. Чтобы программа не требовала левых библиотек в рабочей папке и всяких богомерзких установленных пакетов типа MS Visual C++ Redistributable 20хх, и чтобы не вылетала на старых осях типа ХР без причины. Например мои программы, написанные на Delphi 4.0 (1998 года) нормально, быстро и без проблем работают и на Win10 x64, поэтому от плюсов я жду того же, на всякие фичи типа использования 64-разрядности или многоядерности проца я не претендую.
И еще: мне когда-то посоветовали хороший учебник по сабжу от одного из майкросовтовских разработчиков Visual C++, но я пролюбил PDF-ку и в упор не могу вспомнить имени автора, могу точно сказать, что это не Страуструп и не Мейерс, других авторов из ОП-поста пока не гуглил. Есть идеи?
>>678724>>678752
#279 #678720
>>677508
gnuplot
#280 #678724
>>678652
MS давно не поддерживает формошлепство на С++. Ставь или QtCreator или новый C++ Builder.
>>678897
#281 #678732
>>678518
http://ideone.com/eooRjZ
Только твой код должен быть position independent.
>>678738>>678749
#282 #678738
>>678732
Зачем там fflush? И как узнать какой длины должен быть цикл?
>>678741
#283 #678741
>>678738
Чтобы если программа упадет от чтения в неположенном месте, вывелось все, что успело вывести, а не подохло вместе в буфером. Какой длины - узнать x86 код ассемблерной команды RET и заменить цикл на while. Ну или в отладчике посмотреть disassembly и прикинуть сколько байт там будет.
>>678791
#284 #678749
>>678732
Причем здесь position independent и что за magic number 10?
>>678763
#285 #678752
>>678652
Чем свежее - тем лучше. Вот в 2015 Visual Studio добавили профайлер памяти встроенный, и, насколько я понимаю, добавили туда поддержку стандарта C++14.
Что касается свиньи (шиндоус хр) и прочего старого хлама - то это там можно, да.
Стандартная библиотека сейчас очень даже ничего, но кк ни крути, редист качать надо будет, даже для старых версий компилятора. Таки дела.
>>678897>>680135
#286 #678763
>>678749
Даже больше скажу, скорее всего ты прочитаешь данные PLT, а не саму функцию в случае PIC.
>>678769
#287 #678769
>>678763
Но если функция, которую хотят прочитать и функция, которая читает находятся в одной секции, то да, в случае PIC все сработает. Но я все равно не понял, зачем ты упомянул PIC
68 Кб, 1341x573
#288 #678791
>>678646
Как сделать чтобы программа со второго пика компилировалась не в 8.5 кб, а поменьше?

>>678741

>узнать x86 код ассемблерной команды RET


Похоже c3, но это не точно.

https://ideone.com/h0Un65
>>678804>>678861
36 Кб, 605x358
#289 #678804
>>678791
Скрин где про c3 написано забыл.
>>678861
#290 #678861
>>678804
>>678791
Если раскоментить строку, то будет ошибка в время выполнения. Как исправить? Может не правильно количество байт беру?

https://ideone.com/CU77R1
>>678879>>678921
#291 #678879
>>678861
Ребята, вы тут?
>>678921
#292 #678897
>>678724
Формошлепством уже давно не интересуюсь, все руками делаю.

>C++ Builder.


Ты про борландовский цпп? Да ну его нах, после нескольких лет дельфоебства я теперь на пушечный выстрел не подойду к их кривому софту. В фак-треде на 100% верно про них написано:

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


Я несколько лет страдал изобретением велосипедов, правкой их багов и обходом вредных свистелок, в то время, когда нормальные люди учились нормальным языкам и не тратили время.
>>678752
Спасибо, наверное стоит попробовать с 2015 Visual Studio. А что насчет классической MS Visual C++ 6.0? У меня самого железо - старый хлам, когда нормальный ноут помер, я собрал на скорую руку свое нынешнее помойное ведро и ХР на нем работает нормально, чаще даже под ней приходится сидеть, чем под Семеркой. Меня, если что, не интересует на данный момент ничего кроме создания простейших приложений с окном и простым циклом обработки сообщений. На дельфе все это есть, но хочется поближе к системе, и чтобы без гигантских и глючных объектных нагромождений поверх простых вещей.
>>678900
#293 #678900
>>678897

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


>Меня, если что, не интересует на данный момент ничего кроме создания простейших приложений с окном и простым циклом обработки сообщений.


Ты ебанутый и так ничего и не понял. Голое winapi в 2016 - это трата времени.
>>678906
#294 #678906
>>678900
Ебанутый здесь толькот тот, кто считает, что для программы, где нужен только WinAPI, нужно использовать что-то кроме него. А обучение нужно начинать с основ, а не с наворотов.

>2016


Ох уж эти форчково-школьные ракомемы. Тебе лет-то сколько вообще? Если нечего сказать, так ничего не говори.
>>678925
#295 #678921
>>678861
>>678879
Вангую, защита данных от исполнения стоит.
>>678929
#296 #678925
>>678906

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


WinAPI просто не нужен, нужны кроссплатформенные объектно-ориентированные фреймворки. Qt, wx, fltk если так охота что-то от MS, то winforms, но MS давно забила на гуй для нативного С++.

>А обучение нужно начинать с основ, а не с наворотов.


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

>Ох уж эти форчково-школьные ракомемы. Тебе лет-то сколько вообще?


Мне 27. При чем тут мемы я не понял.
#297 #678929
>>678921
Что и как быть? Перекампилировать компилятор?
>>678931>>678935
#298 #678931
>>678935>>678936
#299 #678935
>>678929
>>678931
Ах, да.

> POSIX says that the behavior of mprotect() is unspecified if it is applied to a region of memory that was not obtained via mmap(2).



Так что, для надёжности, замени
UC w[100];
на выделение куска памяти через mmap(). Заодно и флаги, разрешающие исполнение укажешь при вызове mmap().
#300 #678936
>>678931
Что это? Написано он устанавливает защиту на участок памяти, а не снимает. Пример не понял.
>>678939
#301 #678939
>>678936
>>678936

> Написано он устанавливает защиту


> mprotect() changes protection


Что-т ты пиздишь.

> Пример не понял


Забей на mprotect(), выдели место, куда будешь копировать код функции, с помощью mmap() с флагами PROT_EXEC, PROT_READ и PROT_WRITE
>>678944
#302 #678944
>>678939

>Что-т ты пиздишь.


Да. Случайно.

>Забей на mprotect(), выдели место, куда будешь копировать код функции, с помощью mmap() с флагами PROT_EXEC, PROT_READ и PROT_WRITE


Щас сделаю.
>>678948
#303 #678948
>>678944

>Щас сделаю.


Заметь, я перечислил не все флаги, которые тебе будут нужны. Только те, которые сделают возможным запись и исполнение.
Ну и да, mmap() это POSIX. Если у тебя сперма, тот там свои функции для управления защитой памяти.

Будет полезно: http://eli.thegreenplace.net/2013/11/05/how-to-jit-an-introduction
>>679007
#304 #678973
>>678611
Ну что там, бро. Написал уже?
>>679183
#305 #678989
>>677651
Эти картинки. Не могу поверить, что ЭТИ ебонаты уже в профессии.
#306 #679007
>>678948
Получилось. Спасибо. А как сделать переносимым?

https://ideone.com/TOretT У меня 75 20 30
>>679009
#307 #679009
>>679007

> А как сделать переносимым?


Как сделать ассемблерный код для процессора переносимым?
>>679010
#308 #679010
>>679009
А как это сделано у других? JIT который выше кидали вроде что-то похожее делает. И это ведь не зависит от компилятора? Только типа процессора и ОС?
#309 #679011
>>679010

>А как это сделано у других?


Тебе в доки llvm прямая дорога
>>679016
#310 #679012
>>679010
То, что я выше кидал, это не особо про JIT. Это про то, как правильно выделить память под запись в неё машкода и выполнение оного.
#311 #679015
>>679010
JIT-компилятор - это прежде всего компилятор. Как компиляторы работают?
>>679016
#312 #679016
>>679015
Я в это не вникал. Просто прочитал по диагонали и посмотрел как код этот вставлять.

>>679011
Уже гуглю, но что там конкретно искать?
>>679020
#314 #679035
>>679020
Нихуя не понял кроме того что пишут на вики про промежуточный код. Наверно хватит на сегодня. Всем спасибо.
sage #315 #679108
Прочитал абсолютно все книги из шапки, только про qt и boost, и прочие либы не знаю, спокойно решаю задачи на cppquiz. Что мне теперь делать? В тредах пишут работу хуй найдешь.
Кстати, я только в консольке код писал. Не могу в гуи, еще всяких терминов типо тех.лид, фронт енд, бек енд не понимаю.
#316 #679109
>>679108
сега прилипла
#317 #679113
>>679108
А еще STL не очень знаю.
#318 #679114
>>679108

>прочитал про qt


>не могу в gui


Это как?
>>679116
#319 #679115
>>679108
Учи CUDA, OpenCL и на апворк.
#320 #679116
>>679114

> только про qt и boost, и прочие либы не знаю


> и прочие либы не знаю


> не знаю


> qt

#321 #679124
>>679108
Толсто, братиш.
#322 #679162
>>679108
Нахуя ты книги то читаешь? Ты код пиши.
#323 #679183
>>678973
Я так понимаю, можно официально признать, что код на winapi настолько большой, что его не получилось написать за вечер?
28 Кб, 695x87
#324 #679293
Сап аноны. У меня очередной ламерский вопрос. Читая раздел в учебнике, посвященный различным контейнерам и массивам, столкнулся с понятием "указатель (итератор) на элемент после конца массива (контейнера)".
Вопрос, что это за такой "элемент после конца" и нахрена он нужен? Почему не возвращается указатель (итератор) просто на последний элемент? И, тем более, в учебнике сказано, что значение этого самого "элемента после конца" не может быть получено.
Короче, что это за хуйня такая? Я так понимаю, если у нас массив типа int (кстати, сколько там оно занимает? Ну пусть будет 4 байта), то "указатель на элемент после конца массива", это то же самое, что и указатель на последний элемент + 4 байта?
В чем смысл этого понятия, я не понимаю. Может кто-нибудь объяснить?
Пикрелейтед, одно из упоминаний.
>>679297>>679304
#325 #679296
>>678272
>>678302

>Сценарий 1.


>-Смотри, что у меня!


>-Ладно, давай посмотрю. Принимает. Не запускается чёт, Qt5Core.dll какой-то требует.


>-Эээ... Ладно, подожди, я кинуть ещё.


>-Скучающий вздох Ладно, давай. Принимает. Опять требует что-то.


>-Ой-ой, ща.


>-Да ладно, забей, потом как-нибудь.


Перед нами школьник. Сам также грустил лет пятнадцать назад.

Маня, в какой класс ходишь?
#326 #679297
>>679293
for(map<int,int>::iterator i=m.begin();i!=m.end();i++)
>>679309
#327 #679304
>>679293
В основном указатель на следующим за последним элементом возвращается из соображений удобности.

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

Что за шарага с таким учебником?
>>679305>>679308
#328 #679305
>>679304

>Что за шарага с таким учебником?


Это и страуструп может быть. Что с ним не так?
>>679311
#329 #679308
>>679304
Я понимаю, что такое итератор и что такое указатель.
Я к тому, что в чем тут удобство, возвращать указатель (итератор) на элемент (которого на самом деле нет) после последнего?
В том, что тебе цикл for проще писать или где?

Учебник кстати из шапки, вот этот:
Стэнли Липпман, Жози Лажойе и Барбара Му - Язык программирования C++ (2014)
#330 #679309
>>679297

Неужели придумали еще одну сущность ("элемент после конца") только ради того, чтобы цикл for писать было "удобно"?
Как по мне, так это полный пиздец, если так.
>>679310
#331 #679310
>>679309

>еще одну сущность


А как ты по другому последний элемент узнаешь?

Ещё можно по аналогии с си-массивами делать. Массив размером 5. Сдвиг от нулевого элемента может быть от 0 до 4. А 5 это элемент после последнего.
>>679312
#332 #679311
>>679305
У нас в шараге Страуструп позиционировался как оче сложный, что-то на уровне Кнута. Ботаны читали Шилдта, обычные студенты - методичку.
#333 #679312
>>679310

Ну смотри, на пикче, которую я скопипастил из учебника написано про позицию за последним элементом массива или контейнера.
Т.е. последний элемент (про который ты говоришь), это элемент, находящийся на позиции: результат функции end() - 1. Не проще ли сразу было сделать эту функцию, возвращающей итератор или указатель на последний элемент?
Я пытаюсь понять, зачем нужен "элемент идущий после последнего" вместо "последний элемент"?
Нахуя мне элемент, идущий после последнего? Согласно тому же учебнику, я его значение получить не могу. Это просто итератор, либо указатель, указывающий куда-то за конец контейнера либо массива.
На-ху-я он мне нужен? Он мне нахуй не нужен. Покажите, если кто знает, где он нужен, кроме цикла for.
Я не понимаю.
>>679316>>679376
#334 #679316
>>679312
Как часто ты используешь последний элемент? Покажи программу где end() возвращающий итератор на последний элемент полезнее чем тот end() который сейчас. И есть всякие push_back которые упрощают работу с разными контейнерами.
>>679331>>679334
#335 #679321
Говорят, невозможно забыть свою первую женщину и своего первого программиста. И это так.

У меня это произошло осенью. С друзьями мы сидели в клубе "Golden Dolls", болтали, пили абсент, смотрели стрип-шоу, когда ко мне подошел Ганс и сказал:
- Пора, мой друг.

Я сразу понял, что он имеет в виду - все-таки готовился все лето - но переспросил на всякий случай:
- Пора - что?

- Пора валить программиста! - засмеялся Ганс.

Мы пошли на улицу, на парковку, где стоял джип Ганса. Он открыл заднюю дверь, и я увидел разложенное оружие - пистолеты, снайперскую винтовку, разнообразные карабины, дробовики, автоматы - целый арсенал.

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

- Из автомата валить программиста неинтересно, - сказал он. - Разве что из "узи", но тут надо уметь разрезать его пополам, тогда прикольно. А так просто решето получается - некайфовое. Из пистолета - тоже требуется навык, чтобы засадить программисту пулю между глаз. Снайперская винтовка - для девчонок. А вот карабин большого калибра - самый то. Да еще пуля с тупым наконечником. Если засадить программисту в голову, она разлетается на кусочки, как арбуз, а если в грудь - он смешно так подпрыгивает и отлетает. Так что советую - карабин.

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

Программисты ездят на метро, велосипедах и дешевых машинах-развалюхах. Поэтому и ловить их надо в соответствующих местах. Я выбрал метро. Время было позднее, программисты уже вернулись с работы, попадались в основном старичье, стайки негламурной молодежи с банками пива в руках, противные тетки. Я уже думал ехать к район хрущевок, где программиста можно найти, когда он выносит мусор, но тут повезло. Из метро вышел одинокий программист. То, что это он, я понял сразу - средних лет, одетый в какое-то потертую куртку китайского или турецкого производства - буэээ! - стоптанные ботинки, какая-то кожаная кепка на голове. С ноутбуком в руке. Да, да, с ноутбуком!

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

Так как я заранее покатался вокруг этой станции метро, я знал, что надо делать. С места врубил на полную, выскочил на площадку между домом и программистом, ударил по тормозам прямо на протоптанной программистами тропинке и одновременно развернул машину на 180 градусов, так, что моя дверь оказалась как раз напротив него. Программист замер, не понимая что происходит. А я уже взял зажатый между коленями карабин, передернул затвор, открыл дверь "джипа" и выскочил из машины. Все это заняло у меня от силы две-три секунды. Программист ошалело смотрел на меня, и тут я к своей радости увидел на нем очки. Во повезло-то, успел подумать я. И всадил ему пулю в грудь. Программист взмахнул руками, ноутбук упал в сторону, а сам он улетел метра на два или три от меня - вот что значит большой калибр! - и лишь его кепка плавно спланировала на то место, где он только что стоял.

С другой стороны джипа вышел Ганс, неторопливо подошел к лежащему в грязи программисту:
- Точно, с одной пули, молодчина!

Он вернулся к машине, протянул мне фляжку с коньяком. Было прохладно, коньяк пришелся очень даже. А сам Ганс стал обзванивать всех, кого надо. Сначала прилетела съемочная группа "НТВ", довольно симпатичная девушка-журналист расспросила меня, какие чувства я испытываю после того, как убил своего первого программиста. Я от волнения плел что-то невнятное - потом, когда смотрел в наших новостях по кабельному, было даже немного стрёмно, но мама сказала, что я выглядел очень мужественно с карабином в руках. Потом приехала полиция, Ганс дал им по 100 баксов, старшему пятьсот, и они принялись заниматься формальностями. Уже после того, как труповозка увезла тело программиста, ко мне подошел старший, кажется, капитан, отдал честь и сообщил, что программиста звали Степанов, и работал он на заводе C++'ником. Даже Ганс позавидовал мне - такого кристально чистого программиста не всегда удается завалить.

Тут принялся разрываться мой телефон. Позвонил отец, поздравил меня с первым, сказал, что завтра меня ждет сюрприз. Сюрпризом, кстати, оказался новенький "Бентли". Потом начали звонить друзья - сообщение о том, что я завалил программиста, да еще такого, быстро разлетелась по всему твиттеру.

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

Праздновать дальше мы потом поехали в наш поселок на Рублевке и вот там ко мне подошла наша соседка, отдыхавшая у родителей после учебы в Гарварде. Я давно на нее положил глаз, но до этого дня она казалась мне Снежной Королевой. А тут подошла сама и прошептала на ухо: "Я хочу тебя".

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

У меня это произошло осенью. С друзьями мы сидели в клубе "Golden Dolls", болтали, пили абсент, смотрели стрип-шоу, когда ко мне подошел Ганс и сказал:
- Пора, мой друг.

Я сразу понял, что он имеет в виду - все-таки готовился все лето - но переспросил на всякий случай:
- Пора - что?

- Пора валить программиста! - засмеялся Ганс.

Мы пошли на улицу, на парковку, где стоял джип Ганса. Он открыл заднюю дверь, и я увидел разложенное оружие - пистолеты, снайперскую винтовку, разнообразные карабины, дробовики, автоматы - целый арсенал.

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

- Из автомата валить программиста неинтересно, - сказал он. - Разве что из "узи", но тут надо уметь разрезать его пополам, тогда прикольно. А так просто решето получается - некайфовое. Из пистолета - тоже требуется навык, чтобы засадить программисту пулю между глаз. Снайперская винтовка - для девчонок. А вот карабин большого калибра - самый то. Да еще пуля с тупым наконечником. Если засадить программисту в голову, она разлетается на кусочки, как арбуз, а если в грудь - он смешно так подпрыгивает и отлетает. Так что советую - карабин.

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

Программисты ездят на метро, велосипедах и дешевых машинах-развалюхах. Поэтому и ловить их надо в соответствующих местах. Я выбрал метро. Время было позднее, программисты уже вернулись с работы, попадались в основном старичье, стайки негламурной молодежи с банками пива в руках, противные тетки. Я уже думал ехать к район хрущевок, где программиста можно найти, когда он выносит мусор, но тут повезло. Из метро вышел одинокий программист. То, что это он, я понял сразу - средних лет, одетый в какое-то потертую куртку китайского или турецкого производства - буэээ! - стоптанные ботинки, какая-то кожаная кепка на голове. С ноутбуком в руке. Да, да, с ноутбуком!

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

Так как я заранее покатался вокруг этой станции метро, я знал, что надо делать. С места врубил на полную, выскочил на площадку между домом и программистом, ударил по тормозам прямо на протоптанной программистами тропинке и одновременно развернул машину на 180 градусов, так, что моя дверь оказалась как раз напротив него. Программист замер, не понимая что происходит. А я уже взял зажатый между коленями карабин, передернул затвор, открыл дверь "джипа" и выскочил из машины. Все это заняло у меня от силы две-три секунды. Программист ошалело смотрел на меня, и тут я к своей радости увидел на нем очки. Во повезло-то, успел подумать я. И всадил ему пулю в грудь. Программист взмахнул руками, ноутбук упал в сторону, а сам он улетел метра на два или три от меня - вот что значит большой калибр! - и лишь его кепка плавно спланировала на то место, где он только что стоял.

С другой стороны джипа вышел Ганс, неторопливо подошел к лежащему в грязи программисту:
- Точно, с одной пули, молодчина!

Он вернулся к машине, протянул мне фляжку с коньяком. Было прохладно, коньяк пришелся очень даже. А сам Ганс стал обзванивать всех, кого надо. Сначала прилетела съемочная группа "НТВ", довольно симпатичная девушка-журналист расспросила меня, какие чувства я испытываю после того, как убил своего первого программиста. Я от волнения плел что-то невнятное - потом, когда смотрел в наших новостях по кабельному, было даже немного стрёмно, но мама сказала, что я выглядел очень мужественно с карабином в руках. Потом приехала полиция, Ганс дал им по 100 баксов, старшему пятьсот, и они принялись заниматься формальностями. Уже после того, как труповозка увезла тело программиста, ко мне подошел старший, кажется, капитан, отдал честь и сообщил, что программиста звали Степанов, и работал он на заводе C++'ником. Даже Ганс позавидовал мне - такого кристально чистого программиста не всегда удается завалить.

Тут принялся разрываться мой телефон. Позвонил отец, поздравил меня с первым, сказал, что завтра меня ждет сюрприз. Сюрпризом, кстати, оказался новенький "Бентли". Потом начали звонить друзья - сообщение о том, что я завалил программиста, да еще такого, быстро разлетелась по всему твиттеру.

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

Праздновать дальше мы потом поехали в наш поселок на Рублевке и вот там ко мне подошла наша соседка, отдыхавшая у родителей после учебы в Гарварде. Я давно на нее положил глаз, но до этого дня она казалась мне Снежной Королевой. А тут подошла сама и прошептала на ухо: "Я хочу тебя".

И потом, уже под утро, у меня был с ней такой секс, какого никогда еще не было в моей жизни. Все-таки не зря говорят, что когда уложишь программиста - потом такая эрекция, как после травы или кокса. А уж тем более - после первого программиста.
>>679323>>680101
#336 #679323
>>679321
Что это и зачем оно здесь?
>>679333
#337 #679331
>>679316

До этого я читал книжку (дошел до раздела по STL и решил, что надо бы обратиться к более современным трудам) по крестам 2004 года от Роберта Лафоре. Там такой функции не упоминалось, да и вообще такого понятия не было.
Поэтому в паре программ, которые я написал, эту вещь я не использовал.

Я к тому, что с точки зрения новичка (кем я являюсь), непонятно, нафига придумали эту сущность.

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

Неужели только для того, чтобы цикл for писать типа удобнее?
#338 #679332
>>679331

>Неужели только для того, чтобы цикл for писать типа удобнее?


Да. В таком end'е смыла и пользы больше чем в другом.
>>679336
#339 #679333
>>679323
Ну ОП раньше графоманил, я тоже решил попробовать.
#340 #679334
>>679316
>>679331

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

Ну ок, просто я очень не люблю использовать что-то, чего не понимаю.
#341 #679336
>>679332

Хех. Ну ладно, может быть с опытом понимание придет.
#342 #679343
>>679331

> Неужели только для того, чтобы цикл for писать типа удобнее?


Да. Для итератора может быть не определена операция >, как тогда узнать, в какой момент надо прервать цикл?
С невалидным последним элементом цикл выглядит так:
for (auto it = begin(); it != end(); ++it){...}

А последний элемент валидный, то нужно писать специальный метод, чтобы узнать, когда он будет невалидным.
for (auto it = begin(); it.vaild(); ++it){...}

Сделать-то так можно было, но ребятам больше понравилось первое решение. В принципе, я видел и второй вариант в одном коммерческом коде. Это всего лишь решение, а не догма или правило.
>>679410
#343 #679376
>>679312

> зачем нужен "элемент идущий после последнего" вместо


По каким-то причинам было принято решение что функционал итератора (в том числе синтаксис) должен полностью повторять функционал указателя (и естественно быть шире). Вполне возможно это для того чтобы функции из <algorithm> можно было без всяких промежуточных сущностей использовать с указателями. Тоесть можно использовать std::sort как с итератором, так и с старым добрым указателем на массив. А исторически (почему-то) так сложилось что указатели перемещают именно таким образом - проверятся не то что указатель показывает на последний элемент, а то что на элемент следующий за последним. Эта хуйня еще с С тянется.
>>679410
#344 #679410
>>679343
>>679376

Большое спасибо за пояснения!
#345 #679414
>>676033 (OP)
На ОП-пике Николай II и Ленин?
>>679419>>679474
#346 #679419
>>679414
ОП-пик символизирует террор нового ОПа, шапку, которую мы потеряли, а также предвещает 70 лет сосания для всех анонов ИТТ.
>>679473
#347 #679433
Работаю в топовой компании. Сую мнение, что самый лучший язык - это си, а не си-п-п. Работаю и с тем и с тем, но код на си всегда проще, понятнее, и быстрее. Всякие джавы , питоны, и си шарп - вообще параша.
Только си и гну.
>>679471>>679505
85 Кб, 987x706
#348 #679434
не знаю сюда или нет
делал по видео гайду https://www.youtube.com/watch?v=aTZIJc-_nq4
и получил пикрезультат
где там прописывать кодировку?
сразу не посылать в хуй, я только начинаю познавать этот мир
>>679600
#349 #679471
>>679433
Работаю в топовой компании. Сую мнение, что самый лучший язык - это си-п-п, а не си. Работаю и с тем и с тем, но код на си-п-п всегда проще, понятнее, и быстрее. Всякие джавы , питоны, и си шарп - вообще параша.
Только си-п-п и гну.
#350 #679473
>>679419
Прошлый ОП, плиз.
#351 #679474
>>679414
Лучше зацени этот. Там Дмитрий и Лжедмитрий. >>677202
175 Кб, 500x480
#352 #679489
Че за хуйня, бля.
http://ideone.com/4rn714
>>679509>>679520
#353 #679505
>>679433
Работаю в топовой пекарне. Сую мнение, что самый лучший хлеб - это черный, а не белый. Работаю и с тем и с тем, но черный хлеб всегда пропекается лучше, поджаристее и быстрее. Всякие булки , коржики, и пицца - вообще параша.
Только черный хлеб и вода.
#354 #679509
>>679489
у тебя референсы сколлапсировали
>>679511
#355 #679511
>>679509
Схуяли? Я так и не понял
#356 #679512
Сап, анон. Подскажи, могу ли я в плюсах считать число с помощью cin сразу в две переменные. Нид char и int.
#357 #679516
>>679512
Нет.
#358 #679520
>>679489
NAMED RVALUE REFERENCES ARA LVALUE. Енждой йор ПЛЮСЫ
#359 #679532
>>679512
cin >> ch >> i
>>679538
#360 #679538
>>679532
1 значение сразу в две переменные, а не по очереди!
>>679542>>679550
#361 #679540
сап, программач! вопрос, символ | и ctrl+z заканчивают полностью программу или как? в учебнике Стровструпа указано заканчивать ввод подобным методом. Каким образом предотвратить окончание всей программы изза такого?
#362 #679542
>>679538
Ну присвое значение одной переменой в другую. Или поясните ему как в cin курсор сдвинуть что-то типа seek а то я умею
#363 #679550
>>679538
cin >> ch >> i это тоже самое, что cin >> ch; cin >> i;
так понятнее?
>>679557
#364 #679557
>>679550
да но мне надо не чтобы я вводил два раза число в разные переменные. А чтобы я один раз с клавы ввел число, и мне его записало сразу в int и в ch! на 2 в 2 а 1 в 2
>>679559
#365 #679559
>>679557
cin>>i;
char ch=i;
>>679562
#366 #679562
>>679559
а если я введу допустим буковку в cin то в ch её не будет!
>>679567
#367 #679567
>>679562
без знаковый чар должен сохраниться.
>>679569>>679663
#368 #679569
>>679567
т.е. при
cin >> i;
char ch = i;
и вводе 'h' с клавиатуры. Оно запишет в ch 'h' ? ща протестим
16 Кб, 583x90
#369 #679570
>>679569

>результат


нулевой!
>>679571
19 Кб, 583x173
#370 #679571
>>679570

>не ту пикчу приклеил


фикс
#371 #679584
>>679569
Работает. https://ideone.com/lEEftE
Только как ты собрался читать числа? И зачем? Ведь если считывать число как чар, то он первую цифру считывает.
>>679585
#372 #679585
>>679584
другой порядок! сначало int потом char, а то как ты собрался число например 930 вводить. Ошибочку получишь.
#373 #679586
>>679569
Короче. Вводи число. Проверяй поток на fail. Если fail, то в потоке символ. Вызывай clear и вводи символ. Потом преобразуй и всё. Правда я не знаю зачем тебе это нужно.
>>679591
#374 #679591
>>679586
просто чтобы знать это :) и что int передает если введен символ? как проверить?
>>679598>>679628
#375 #679598
>>679591
в переменной будет старое значение. В потоке будет fail.

>как проверить?


int a = 0;
char ch = '\0';
std::cin >> a;
if(std::cin.fail())
{
std::cin.clear();
std::cin >> ch;
a = static_cast<int>(ch);
}
else
{
ch = static_cast<char>(a);
}

Как-то так.
>>679601
#376 #679600
>>679434
сам разобрался
close = new QPushButton(trUtf8("Выход"));
#377 #679601
>>679598
cin.fail() значит? указывает на несоответствие введеного значения относительно типа?
>>679607
#378 #679603
>>679512
Покажи приммер как должна работать тв>>679512
оя программа. Я запутался.
>>679606
#379 #679606
>>679603
int a = 0;
char ch = 's';
cin >> a;
// вот только чтобы тут одновременно значение записывалось в и в "a" и в "ch"! т.е. в обе переменные! а вводить пришлось только 1 раз.
>>679610
#380 #679607
>>679601

>указывает на несоответствие введеного значения относительно типа?


Нет. Проверяет failbit и badbit. Что в каком случае ставится гугли сам.
>>679609
#381 #679609
#382 #679610
>>679606
Я ввёл 75. Что лешит в каждой из переменных? А если ввиду h?
>>679614
#383 #679614
>>679610
вот меня интересует что например при вводе 2 запись была и туда и туда, при ошибке с любой переменных запись только в ту что без ошибки
>>679616
#384 #679616
>>679614
То есть тебе надо узнать ввели число или букву?
>>679619
#385 #679619
>>679616
ну, по-сути да, но хочется просто узнать возможно ли без "дублирование" (i=a;) и т.д. сразу в две переменные разных типов считывать
>>679623
ОТСОС #386 #679622
концептов не будет в с++17
http://honermann.net/blog/?p=3
>>679625>>679813
#387 #679623
>>679619

>но хочется просто узнать возможно ли


Нет. Для таких глупостей инструментов не завезли. Сам пиши если надо.
#388 #679625
>>679622

>концептов


Что это?
>>679626
#389 #679626
>>679625
статическая типизация для шаблонов
>>679627
#390 #679627
>>679626
А модули будут?
>>679667
#391 #679628
>>679591

>как проверить?


Здесь почитай http://d.hatena.ne.jp/kkishi/20090423/1240499461
#392 #679659
С какими технологиями/ЯП заебись совмещать кресты?
>>679664>>679712
#393 #679663
>>679567

>без знаковый


¿Ya sabes lo que eso significa?
>>679673
#394 #679664
>>679659
C
Asembler
Python
>>679665
#395 #679665
>>679664
И какая работа с каждым из сочетаниев светит?
>>679668
#396 #679667
>>679627
Модули не рассматривались на этой конференции и modules TS не имеют сейчас никаких установленных сроков работы. Плюс есть некоторые срачи на форуме стандартизации по поводу этой фичи. С другой стороны clang и MSVC уже сделали кое-какие реализации модулей, что вселяет надежду, что на следующей конференции рабочая группа уже будет иметь какой-то опыт использования этой хуерги и может быть к чему-то прийдет.

Но пока хз
#397 #679668
>>679665
1 и 2 - МК
>>679686
16 Кб, 675x539
#398 #679673
#399 #679681
while(temp[0]!=numbs[0] && temp[1]!=numbs[1] && temp[2]!=numbs[2] && temp[3]!=numbs[3]);

ребят в чем беда такой проверки? по идее должно же заканчивать цикл только когда temp[0]==numbs[0] и т.д. правильно? почему тогда просто выходит с цикла?
>>679684>>679712
#400 #679683

>while(temp[0]!=numbs[0] && temp[1]!=numbs[1] && temp[2]!=numbs[2] && temp[3]!=numbs[3]);


>;

>>679684>>679688
#401 #679684
29 Кб, 858x192
#402 #679686
>>679668
Да ну нахуй.
#403 #679688
>>679683
а где разница?
>>679693>>679696
#404 #679693
>>679688

>просто выходит с цикла

>>679697
#405 #679696
>>679688
; убери, у тебя цикл нихуя не делает
>>679697
#406 #679697
>>679696
>>679693
do{
//код
}while(temp[0]!=numbs[0] && temp[1]!=numbs[1] && temp[2]!=numbs[2] && temp[3]!=numbs[3]);
умники.
>>679699>>679721
13 Кб, 565x42
#407 #679699
>>679697
с вот такими значениями вышло с цикла..почему?
>>679707
#408 #679707
>>679699
Вектора сравнить попробуй.
>>679710
#409 #679710
>>679707
а если вектора больше? Мне надо именно 4 первых значения :(
>>679714>>679717
#410 #679712
>>679659
>>679681
Ниет.
Когда хоть одна не равна, тогда и закончит. Тебе видимо надо ||
>>679724
#411 #679714
>>679710
Сравнивай 4 первых значения.
>>679721
#412 #679717
>>679710
std::equal
#413 #679721
#414 #679724
>>679712
ооо, вот оно что, чаю этому господину. Помогла замена && на ||... Сначало не понял почему, но потом сразу допер..... Пока a1!=b1 ИЛИ a2!=b2 ...т.е. как сразу несколько значений для выхода, а если && то при исполнении любого выйдет из цикла, верно? или я опять не прав? )
40 Кб, 490x274
#415 #679734
подскажите оптимальный шрифт и цветовую палитру для кодинга
#416 #679793
>>679790
Consolas + monokai
#417 #679810
>>676033 (OP)
вопрос к знатокам
я интересующийся
есть ли путь программить на c++ кроссплатформенные приложения?
что?где? и как для этого нужно.
или как я понял c++ это сугубо компиляторо зависимый язык как в принцепе и все остальные т.е. на каждой платформе свой c++ и подружить их чтоб они понимали друг друга весьма проблематично, так?
ЕСТЬ ЛИ КРОССПЛАТФОРМЕННЫЙ КОМПИЛЯТОР C++?
#418 #679812
>>679810
или тогда кроссплатформенная исполняемая среда
типо .exe'шник только для всех платформ
inb4:азазазаз всех затралел
>>679992
#419 #679813
>>679622

>концептов не будет в с++17


> the committee did not say “no” to concepts, it said “not yet.”

>>679826
#420 #679815
>>679810

>ЕСТЬ ЛИ КРОССПЛАТФОРМЕННЫЙ КОМПИЛЯТОР C++?


gcc
>>679848
#421 #679826
>>679813
Как это противоречит, что в 17 стандарте этого не будет? Тащемта разработчик ranges сказал, мол вы че там охуели, оно еще сырое
>>679831
#422 #679831
>>679826

>ranges


Что за ranges? Это типа для того, чтобы написать range(max), range(min, max) и range(min, max, step) нужно разрешение Комитета и благословление Страуструпа?
#423 #679848
>>679815
он жи чисто под линупс
ответвление вида mingw уже другое жи
а универсальный исполняемый файл для с++ на всех платформах есть?
>>679856
#424 #679849
>>679810
cmake ебаная ты спойлероблядь, гори в аду
>>679859>>679870
#425 #679856
>>679848

>он жи чисто под линупс


Нет.

> ответвление вида mingw уже другое жи


Что там другое?
#426 #679859
>>679849

>cmake


Это типа кроссплатформенный компилятор?
#427 #679864
а что такое Clang?
#428 #679870
>>679849
типо код можно писать хоть в студии
а cmake соберёт код в нужный исходник?
21 Кб, 400x300
#429 #679944
Захотел я, значица, посмотреть, что там у вас за с++ такое.
Скачал visual studio. А оно мне и грит, мол, ты - хуй, винда у тебя старая и вообще эксплорер 11й не стоит. С хуев, думаю, старая, если 7я? Ну ладно, скачал эклипс, какой-то хеллоу ворлд из книжки туда переписал. А он мне такой "бинари нот фаунд". Какие на хуй бинари? Мне никто не говорил, что надо писать бинари. Я, блджад, не знаю, что это такое.
Мне, наверное, не надо пытаться в кресты, да?
>>679947>>679995
sage #430 #679947
>>679944
Тебе надо перестать смешивать язык и IDE.

Начни скромно, аскетично, пох-ристиански: Notepad++ или ещё что с постветкой, компиль командой из консолечки. Авось за твое смирение Бог будет милостив к тебе.
>>679951
#431 #679951
>>679947
Что прямо руками? Ну это как-то противоестественно что ли.
>>679952
#432 #679952
>>679951
Чем ты занимаешься?
>>679955
#433 #679955
>>679952
Пытаюсь найти бинари, которые проебал эклипс.
>>679965
#434 #679965
>>679955
Работаешь кем? Почему ты сразу не попробовал в консоли компилировать?
8 Кб, 610x183
#435 #679966
Что за хуйня у меня тут при попытке деструкта, сложна, нихуя не понятно, нихуя!
Конструктор работает, методы работают, а у этого значит "???", что за язык-то такой нипонятный!
#436 #679969
>>679966
Переустанови винамп.
#437 #679970
>>679966
Код покажи.
>>679972
#438 #679972
>>679970
class Sqmatrix{
int x;
int (звездочка)(звездочка)elem;
public:
Sqmatrix();
Sqmatrix(int x);
~Sqmatrix();
void show();
void opred();
void transpor();
};

Sqmatrix::Sqmatrix():x(2),elem(new int [x]) {
for (int i = 0; i < x; i++) {
elem = new int[x];
}
for (int i = 0; i < x; i++) {
for (int j = 0; j < x; j++) {
elem[j] = j + i
2 + 1;
}
}
}

мэйн
cin >> max_size;
Sqmatrix arr = new Sqmatrix*[max_size];
arr[0] = new Sqmatrix();
for (int i = 0; i < max_size; i++) {
delete []arr;
}
delete[] arr;
}
#438 #679972
>>679970
class Sqmatrix{
int x;
int (звездочка)(звездочка)elem;
public:
Sqmatrix();
Sqmatrix(int x);
~Sqmatrix();
void show();
void opred();
void transpor();
};

Sqmatrix::Sqmatrix():x(2),elem(new int [x]) {
for (int i = 0; i < x; i++) {
elem = new int[x];
}
for (int i = 0; i < x; i++) {
for (int j = 0; j < x; j++) {
elem[j] = j + i
2 + 1;
}
}
}

мэйн
cin >> max_size;
Sqmatrix arr = new Sqmatrix*[max_size];
arr[0] = new Sqmatrix();
for (int i = 0; i < max_size; i++) {
delete []arr;
}
delete[] arr;
}
>>679989>>680087
#439 #679989
>>679972
На ideone.com
>>680087
#440 #679992
>>679812
Нет такого. У разных систем разный формат нативного бинаря. Только байткодожоры так умеют.
>>680551
#441 #679995
>>679944
Windows sdk и из консоли cl.exe

> windows 7


> нет ie 11


Наотключают апдейты, а потом у них не работает нихуя.
#443 #680089
>>680087
Отдельной функцией главное чистит, а как деструктором, так "???" вместо всего
>>680100
#444 #680098
>>680087
Особо код не смотрел, но, как я понял, ты после удаления можешь ещё раз удалить данные (один раз в методе и в деструкторе). После удаления присвой указателю nullptr. Иначе ты пытаешься удалить уже удаленное. А вообще запускай отладчик и смотри на какой строчке вылетает.
>>680100>>680103
#445 #680100
>>680089
>>680098

for (int i = 0; i < x; ++i) {
delete[]elem;
elem = nullptr;
}
delete[] elem;
elem = nullptr;
43 Кб, 544x640
#446 #680101
>>679321

>- Из автомата валить программиста неинтересно


>Так что советую - карабин.


>пуля с тупым наконечником


>он улетел метра на два или три от меня - вот что значит большой калибр


Надо ртутный нож было использовать.
#447 #680103
>>680098
Не, метод не вызывается, эт я просто проверял, чистится ли таким образом. А ошибка после delete[] arr[something], при входе в ~деструктор, что-то ни краев ни содержимого не видит

Скрин
>>679966
>>680107>>680109
#448 #680107
>>680103
Ты создаёшь 1 экземпляр Sqmatrix, а удалить пытаешься 20 штук.
Также:

>delete[]arr;


delete arr;
#449 #680109
>>680103
А блин тупанул. Поспать нужно.
Вместо delete[]elem; нужно delete elem;. И nullptr расставь.
>>680111
#450 #680110
>>680107

>delete[ ]arr[ i ];


delete arr[ i ];
Fix
#451 #680111
>>680107
>>680109
Опередил
#452 #680120
>>680107
Далее проверки будут.
Но ведь так деструктор вообще не вызывается, так надо?
>>680121
#453 #680121
>>680120
хотя стоп, вроде все чистит. Спасибо, анон!
#454 #680135
>>678752
Неправда, редистры можно статически линковать поменяв всего лишь одну опцию в параметрах проекта visual studio. Бинарник немного увеличится, но это не проблемма.
sage #455 #680156
>>680087

> 2016


> new, delete


Пиздец.
>>680160
#456 #680160
>>680156
Что вместо него использовать?
#457 #680162
>>680160
malloc, free?

Или как разработчики Google Chrome, к примеру. Ничего.
#458 #680164
>>680160
std::vector<std::vector<int> > Matritsa(n, std::vector<int>(m));
sage #459 #680165
>>680160
Можешь std::vector <std::vector <int> > заэмбеддить.
Можешь std::unique_ptr на вектор векторов, если хочешь, чтоб класс потоньше был.
sage #460 #680167
>>680162

> malloc, free


Проиграл с толстячка.
#461 #680168
>>680162

> malloc, free


> 21 век

>>680170
sage #462 #680170
>>680168
С ними всё нормально для 21-го века.
Просто þред про C++.
#463 #680173
чёт вспомнил как я в лабе делал не
int arr = new int[n];
for(size_t i = 0; i!=n; ++i)
arr = new int[m];

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

Препод мне рассказывал, что это не правильно, и что так будет утечка. Ебанат конченый.
>>680174
#464 #680174
>>680173
Распидорасило как всегда.
>>680187
#465 #680180
Анончики, а почему в шапке нет этого https://www.youtube.com/user/VladimirMozhenkov
И да, я помню, как он дрочил на камеру, но видео у него намного лучше, чем у того школьника, который в шапке.
#466 #680187
>>680174
На пастебин залей.
>>680189
#467 #680188
Мод, кто правильный оп? Как посмотреть результаты голосования?
#468 #680189
>>680193
#469 #680192
>>680162
И как же разработчики хрома это делают? Каштомным аллокатором?
>>680195
#470 #680193
>>680189
Идиот. На заливай больше на идеон если код не надо компилировать.
>>680198
#471 #680195
>>680192
malloc, free
>>680208
#472 #680198
>>680193
Ну извини. Я кушал вафлю и дотрагиваться до клавиатуры не сильно хотелось, а вкладка с ideone у меня была открыта.
#473 #680206
на онлайн-компиляторах не работают рекурсивные функции, это нормально?
>>680218
#474 #680208
>>680195
А конкретные пруфы будут? Самому браузить 10гб текста не хочется чёто. В том же google code style везде используется new с delete.
>>680209
#475 #680209
>>680208
Бля да ну прекрати реагировать на такую толстоту. new и delete появились потому, чтобы не было ошибок при использовании malloc, когда sizeof берется неправильно
#476 #680218
>>680206

>это нормально


Нет.
#477 #680275
Подкиньте ссылку на telegram конфу
>>680277
#478 #680277
>>680275
А она есть?
>>680282
#480 #680290
>>680282
это не телеграм
>>680744
#481 #680364
Мужики, почти заканчиваю читать Страуса для ньюфагов. Хочу буста навернуть особенно iostreams библиотеку. Ну вот вопрос, как написано в шапке, если не использовать бОльшую часть библиотек, то лучше отказаться от использования буста. Окей, а чем можно заменить, если тебе что-то нужно конкретно или писать свои костыли каким-нибудь образом?
#482 #680378
>>680364
Что конкретно тебе нужно?
>>680396
#483 #680385
>>680364

> Страуса для ньюфагов


Ты уже ВСЮ стандартную библиотеку освоил? Хотябыы С++ 11.
>>680396
#484 #680389
>>680364

>iostreams


Lib весит всего 2.5 мб. Можешь спокойно юзать.
62 Кб, 600x450
#485 #680395
>>676033 (OP)
Учусь по этому гайду:

>- Еще один - [YouTube] Уроки по С++.1 урок.Как создать программу?


Уже уроверь 5 - циклы.

Поясните мне вот что: есть циклы for, while, do while.
С первым вроде всё ясно.
Со вторым тоже ясно и там можно добавить break.
Но нахуя нужен третий если всё можно сделать в первых двух?
Объясните разницу.
>>680463>>681071
#486 #680396
>>680378
В смысле что нужно? Библиотека iostreams или ты имеешь ввиду для чего? Поиграться, там же много всяких свистелок, я думаю. Потом хочу asio обмазаться, правда придется комп. сетями ещё. В общем не суть.
>>680385
Не всю, а это помешает мне с библиотеками буста играться?
>>680403>>680552
#487 #680403
>>680396
проиграешь
#488 #680440
Установил тут VS15, она вытянула 12гб всякого говна и это я еще по минимуму галочек поставил, только то, что к крестам относилось. Еще и лэнгпак на 2гб, что они туда напихали?
#489 #680442
Можно ли на VS2010 сделать поддержку C++14?
>>680450>>680556
#490 #680450
>>680442
Её в 15 студии-то не завезли, куда там.
Можно попробовать заменить компилятор на последний из Windows SDK, только. Совместимы ли там флаги и тд – другой вопрос.
#491 #680463
>>680395
Когда тебе нужно, чтобы цикл обязательно выполнялся хоть один раз и не хочется ради это велосипедить флаг. По факту, используется редко.
#492 #680551
>>679992
типо питона, жавы, руби и т.д.?
#493 #680552
>>680396

>Библиотека iostreams или ты имеешь ввиду для чего?



Да, для чего это тебе нужно? Если просто потоки, то почему бы не использовать их из стандартной библиотеки. Если для networking, то чего ты сомневаешься в использовании asio? В чем, собственно, вопрос-то?
#494 #680556
>>680442
Ох уж эти VS-холопы.

мимо clang-боярин
#495 #680624
Задача из K&R:

>Modify the programs entab and detab (written as exercises in Chapter 1) to accept a list of tab stops as arguments. Use the default tab settings if there are no arguments.



Что надо написать-то? Что такое list of tab stops as arguments? Формулировки здесь иногда выносят мозг.
#496 #680651
Подскажите что-нибудь по WinAPI почитать
#497 #680653
>>680651
Рихтер.
>>680666>>680799
#498 #680655
>>680651
Джеффри Рихтер.
>>680666>>680799
#499 #680659
Товарищи, объясните мотивацию выбора текущей реализации универсальных ссылок.
Сейчас, чтобы написать обобщенный код для rvalue и lvalue ссылок, нужно писать так:

>template<typename>


>void f(T&& _t){


> call_overloaded_function(std::forward<T>(_t));


>}



Во-первых, нахуя здесь нужен std::forward, если после сворачивания ссылок _t и так имеет тип либо T&&, либо T&.

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

>template<typename T> class A{


> typedef T&& RVALUE_REF_T;


>}


с явным намерением выполнить destructive read.

Почему нельзя было нахуй выкинуть сворачивание ссылок и ввести вместо этого явное обозначение универсальной ссылки типа &&&? Тогда бы и std::forward был бы не нужен, и не было бы сраного references collapsing
>>680672
#500 #680666
>>680651
>>680653
>>680655

winapi-даун, заканчивай семёнить. Ты уже закончил писать >>678631 это?
>>680699>>680799
#501 #680672
>>680659

>Во-первых, нахуя здесь нужен std::forward, если после сворачивания ссылок _t и так имеет тип либо T&&, либо T&.



Уже понял, в случае rvalue, _t будет иметь тип T
#502 #680699
>>680666
Эээ, ты, даун, спутал дебика который предлагает делать гуй на винапи, и адекватных людей, интересующихся околосистемщиной. Как минимум 1 мой коммент про Д. Рихтера не семёновский.
>>680704
#503 #680704
>>680699

>околосистемщиной


Мам, у нас тут хакер.
>>680798>>681073
#504 #680744
>>680290
Спалили быдлу годноту, а он еще ебало воротит. Ну и иди на хуй, дегенерат.
34 Кб, 492x366
## Mod ## #505 #680752
Создан экспериментальный гитхаб для совместного запила кастомных шапок. Для начала на основе шапок от двух ОПов слеплена кастомная, принимаются пулл-реквесты в нее. Если все пойдет как надо, то для всех оффициальных тм тредов появится возможность перехода на кастомную шапку. Схема работы следующая: ОП треда делает перекат с ОП-пиком и неповторяющейся информацией (например, стихи в C++-треде) и дергает меня при помощи формы жалоб, после чего я добавляю к ОП-посту тело актуальной версии шапки с гитхаба.

https://github.com/pr-hats/2ch.hk-pr-Hats/wiki

До завтра вылизываем новую шапку (при объединении могли проскочить ошибки), дальше делаем перекат и переходим на новую систему. ОП-стихоплет должен поторопиться, если хочет успеть на этот поезд, лол.
>>680796>>680829
#506 #680794
Анон, посоветуй книгу по C++, прочтением и освоением которой ты бы гордился.
#507 #680796
>>680752
А если в один пост не помещается?
>>680823
#508 #680798
>>680704
Ебать, мочератор понял что сказанул хуйню про криптеры и потёр посты. Крудошлёп не палится.
#509 #680799
>>680653
>>680655
Thx
>>680666
Нет, я чувак, который хочет поучаствовать в GSoC в ReactOS. У этих наркомановняшек пакетный менеджер использует winapi, код написан без комментариев вообще, но вроде несложный.
#510 #680823
>>680796
Несущественно же, можно сделать со спойлерами, если слишком большая.
44 Кб, 377x336
#511 #680829
>>680752

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


>Visual Studio


>Visual


>Studio


Более хуевое автодополнение я видел только в notepad'е
#512 #680833
>>680829
Да нихуя, сейчас всего две или три IDE поддерживают автодополнение для STL C++11 из коробки. И в студии оно наименее кривое.
>>680838
#513 #680835
>>680829
Ты просто не умеешь ее готовить
>>680838
#514 #680836
>>680829
Алсо, не добавить QtCreator, Eclipse CDT и XCode в список основных, это надо уметь.
>>680839
#515 #680838
>>680835
>>680833

Бля, ньюфаги, вы если вы ковыряете свои лабы в студии, то может оно и нормально работает. Но на больших проектах индекс вечно битый. И сейчас оно только сильнее лагать начало.
>>680843>>680846
13 Кб, 257x245
#516 #680839
>>680836

>Eclipse


>основных


>С++

#517 #680841
Всем известно, что лучшая среда разработки, не имеющая аналогов это QtCreator.
>>680848
#518 #680843
>>680838
Рукожопый, плиз

> И сейчас оно только сильнее лагать начало.


Может пора свой калькулятор на что-то адекватное поменять?
>>680860
#519 #680846
>>680838
Ну хуй знает. У меня на исходниках boost прекрасно пашет. Ты туда мамку свою штоле загрузил, что оно сломалось?
>>680860
#520 #680848
>>680841
Qt это ебаный чужой, который надел на себя C++, а внутри пиздец с велосипедами и макрогенерацией.
>>680851
#521 #680851
>>680848

>макрогенерацией


Как что-то плохое. Главное, что все правила ООП не нарушены, а наоборот выполнены.
#522 #680860
>>680843
>>680846

Машины у всех dev'ов были i7 haswell. Размер кода не помню, компилилась эта байда 1 час 20 минут на -j8. Единственной IDE, которая нормально жрала исходники, была eclipse cdt. Как по скорости анализа, так и по функциональности и скорости навигации. Как там type hierarchy с call hierarchy поживают на студии, лол? Рефакторинг тоже тормозил и частенько лажал: вот это вообще самая мякотка была, откатывать эти изменения. Короче, студия была только у ценителей работы без ассиста, но зато с нормальным дебагером.
>>681006
#523 #681006
>>680860
Полтора гига сорсов, 8 миллионов локов, эклипс тормозит что пиздец.
Вим/саблайм наше всё.
>>681014
#524 #681014
>>681006
kdevelop
>>681023
#525 #681023
>>681014
Вот, кстати, не пробовал.
Потестирую на досуге.
105 Кб, 1252x1252
#526 #681034
Как же хочется перекатика.
>>681056
#527 #681056
>>681034

>Как же хочется перекатика.


Пили, хуле ноешь
>>681059
36 Кб, 604x518
#528 #681059
>>681056
Но я не ОП.
sage #529 #681071
>>680395

>Но нахуя нужен третий если всё можно сделать в первых двух?


Нахуя вообще циклы, я и на goto могу всё налапшевать.
sage #530 #681073
>>680704

>>околосистемщиной


>Мам, у нас тут хакер.


Системозависимый API это и есть системщина, даун.
#531 #681077
Добавьте в седьмой пункт при перекате
https://github.com/isocpp/CppCoreGuidelines/blob/master/CppCoreGuidelines.md
>>681078
#532 #681078
>>681077
И ещё, думаю, можно добавить https://www.reddit.com/r/cpp/
>>681079
#533 #681079
>>681078
Тогда и это.
http://bfy.tw/4eYJ
#534 #681202
>>676033 (OP)
ЗАПИЛИТЕ В ШАПКУ
Там любой даун найдет ответ на вопрос.
https://invite-me-to-2chpr.herokuapp.com
#535 #681230
ВНЕЗАПНО решил обмазаться плюсами, знаю только похапе, опыт разработки года полтора-два. Легкое гугление предложило мне установить на мой арч qtcreator. Шапку треда прочел, хочу каких-нибудь пожеланий, советов от опытных анонов. Хочу в кроссплатформенную разработку.
>>681232>>681237
#536 #681232
>>681230

>qtcreator


Всё правильно делаешь, ведь это фреймворк, не имеющий аналогов. Успехов, хотя, думаю, трудно будет пересесть на кресты.
>>681234
#537 #681234
>>681232

>Всё правильно делаешь, ведь это фреймворк, не имеющий аналогов.


Через интернеты непонятно, троллишь ты или нет.
94 Кб, 503x711
#538 #681237
>>681230

>кроссплатформенную

#539 #681352
НОВЫЙ ТРЕД

https://2ch.hk/pr/res/681348.html (М)
https://2ch.hk/pr/res/681348.html (М)
https://2ch.hk/pr/res/681348.html (М)

Мод, перекатывай шапку.
#540 #681547
>>676379
1) Темлейты тормозят компиляцию - значит можно не бояться остаться без работы, именно поэтому все любят и боготворят буст!
2) РТТИ сосёт, потому что делает не то что от него тербуется - значит можно не бояться остаться остаться без работы, необходимо пробовать велосипеды с первых трёх ссылок на стэкоферфлоу.
3) Классы сосут, потому что надо выкладывать хэдеры - значит можно не бояться остаться без работы, нужно будет засунуть каждый класс большого проекта в пимпл.
#541 #682651
Котаны, хочу сделать "WebGUI" на QT. Но сделать это хочется по простому, есть страница с элементарным гуи на html и логикой на javascript.
Статей нормальных не нашёл. Отправлять команды на javascript я знаю как, но как можно принимать команды от javascript(может можно каллбеки какие-поставить и т.д.)?
#542 #682936
Посоветуйте легкую графическую библиотеку для работы с 2д графикой
>>683017>>683327
#543 #683017
>>682936
1. SFML
2. SDL
#544 #683327
>>687598
#545 #687521
Товарищи, вопрос ньюфани. Нужно что-то вроде деки, добавление/удаление с конца/начала.
Как добавить и удалять так, чтобы не терять указатели? В гугле нашел только через массивы
Пробовал вот так : http://pastebin.com/67huiePb
Осторожно, C++/CLI, но видно что то теряю
#546 #687598
>>683327
удвою
61 Кб, 504x600
#547 #689770
Ребзя. В общем, мне послезавтра идти на работу, где я напиздел, что могу немного в С++. От меня многого не ждут, но тем не менее нужно вкатиться максимально быстро и чуть-чуть глубже чем "Hello World". Помогите ресурсом или советом как можно за сутки достичь того уровня, что я описал.
#548 #696960
Пирикатываю вопрос >>696959
Тред утонул или удален.
Это копия, сохраненная 27 марта 2016 года.

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

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