М.Двач / Программирование

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

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.

101 Кб, 600x400

Революционно-освободительный C++ тред #23 04 Мар, 19:05 #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)

Ответы>>676113>>676295>>676379>>677202>>677392>>679414>>679810>>680395>>681202

04 Мар, 19:07 #2 #676041

Предыдущие треды на архиваче:
#1 https://arhivach.org/thread/94971/
#2 https://arhivach.org/thread/94972/
#3 https://arhivach.org/thread/99414/
#4 https://arhivach.org/thread/100995/
#5 https://arhivach.org/thread/105148/
#6 https://arhivach.org/thread/109335/
#7 https://arhivach.org/thread/112797/
#8 https://arhivach.org/thread/114519/
#9 https://arhivach.org/thread/117109/
#10 https://arhivach.org/thread/120019/
#11 https://arhivach.org/thread/122683/
#12 https://arhivach.org/thread/124637/
#13 https://arhivach.org/thread/125532/
#14 https://arhivach.org/thread/127327/
#15 https://arhivach.org/thread/128133/
#16 https://arhivach.org/thread/134437/
#17 https://arhivach.org/thread/135285/
#18 https://arhivach.org/thread/139690/
#19 https://arhivach.org/thread/144812/
#20 https://arhivach.org/thread/147540/
#21 https://arhivach.org/thread/149983/
#22 https://arhivach.org/thread/151271/

Старые ненумерованные треды:
https://arhivach.org/thread/45477/
https://arhivach.org/thread/48611/
https://arhivach.org/thread/60085/
https://arhivach.org/thread/66322/
https://arhivach.org/thread/69413/
https://arhivach.org/thread/73221/
https://arhivach.org/thread/77999/
https://arhivach.org/thread/79194/
https://arhivach.org/thread/82038/
https://goo.gl/vvs9GP
https://goo.gl/ZnBsYt

Отдельные Qt-треды:
https://arhivach.org/thread/15387/
https://arhivach.org/thread/65590/

04 Мар, 19:08 #3 #676043

Шапка http://pastebin.com/6eyMfL4g

98 Кб, 600x800

04 Мар, 19:09 #4 #676045

Rust лучше.

Ответы>>676050

04 Мар, 19:12 #5 #676050

>>676045
Ниет, саси

04 Мар, 19:15 #6 #676057

Поясните ньюфагу за http. Какие есть либы, какие хорошие, какие плохие. Есть ли вообще highload http проекты на этом вашем си пляс пляс?

Ответы>>676059>>676181

04 Мар, 19:15 #7 #676059

>>676057
Нет, ток на питоне и яве.

04 Мар, 19:23 #8 #676086

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

04 Мар, 19:28 #9 #676113

>>676033 (OP)
>Да, анон, не нужно писать на C++
Фикс во имя справедливости

Ответы>>676204

04 Мар, 19:39 #10 #676181

>>676057
Кто-нибудь юзал casablanka? Какое мнение?

04 Мар, 19:46 #11 #676203

test

04 Мар, 19:46 #12 #676204

>>676113
В смысле?

45 Кб, 500x500

04 Мар, 19:59 #13 #676224

Нужно написать приблуду, которая бы детектила движение/не движение в определенной части экрана пару раз в секунду. Как лучше реализовать?

Ответы>>676231>>676896>>677926

04 Мар, 20:01 #14 #676231

>>676224
- Делаешь screenshot через любимый gui фреймворк
- Кладешь его в коллекцию
- Сравниваешь(хоть побитово) с предыдущими

Ответы>>676315

04 Мар, 20:22 #15 #676265

Такие дела. В одном классе в контейнере хранятся пары в map в виде <socket, player_id> . В другом классе должны храниться собственно плееры, к которым должен быть доступ по id с первого класса.
Как это лучше всего сделать, чтобы исключить повторения и т.п.? Я не знаю, как лучше всего это обустроить.

Ответы>>676275

04 Мар, 20:31 #16 #676275

>>676265
Где именно ты ожидаешь повторения?

Ответы>>676292

04 Мар, 20:38 #17 #676292

>>676275
Ну айдишники рандомные могут повторяться.
Можно поставить инкремент - но теоретически они могут дойти до максимума unsigned short int'a и ФСЁ.

Ответы>>676305

147 Кб, 1280x964

117 Кб, 1280x989

Хочу в С++ вкатиться. 04 Мар, 20:41 #18 #676295

>>676033 (OP)
>Qt
Надумал таки вкатиться в С++. Но вкатываться решил (в предыдущем треде посоветовали) не через Visual Studio, а через Qt Creator.
Какие подводные камни?

Ответы>>676327>>676369>>676426>>677357>>678002

04 Мар, 20:48 #19 #676303

Решаю эту задачу: https://www.hackerrank.com/challenges/staircase

Как правильно передавать string в функцию, чтобы не забивался стек? До отладки рекурсии дело даже не дошло.
https://ideone.com/XEE9Nj

Ответы>>676304>>676307>>676369

04 Мар, 20:49 #20 #676304

>>676303
Через указатель, не?

Ответы>>676306

04 Мар, 20:52 #21 #676305

>>676292
Ничего не понятно, опиши подробнее. С какой целью тебе нужен map<socket, id>, почему там могут быть повторы player_id, и почему ты вообще их допустил, раз хочешь избежать повторений?

04 Мар, 20:52 #22 #676306

>>676304
Объясни подробнее. Я до этого писал только текстовую базу данных под линуксом. Просто часто вижу, что на C++ в функцию передается адрес строки через оператор &.

Ответы>>676309>>676310

04 Мар, 20:53 #23 #676307

>>676303
У тебя даже не компилируется. (потому что ты xvalue пытаешься передать по неконстантной ссылке).
Зделай const string&

04 Мар, 20:53 #24 #676309

>>676306
В смысле писал только на чистом си.

04 Мар, 20:53 #25 #676310

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

214 Кб, 1600x777

04 Мар, 20:58 #26 #676315

>>676231
Это все очевидно, конкретизирую вопрос:
- Пользователь должен работать в другой программе, а на переднем плане постоянно должен быть счетчик активности. Скрин релейтед.
- Как сделать задание пользователем нужной области для слежения? Типа рамку может чтобы он по экрану перетаскивал и детектилось строго внутри нее.

Ответы>>676348>>676896

04 Мар, 21:03 #27 #676327

>>676295
>Надумал таки вкатиться в С++ через Qt Creator.
>Какие подводные камни?
Не вкатишься в C++.

Ответы>>676349

04 Мар, 21:10 #28 #676348

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

04 Мар, 21:10 #29 #676349

>>676327
Чому?

Ответы>>676350

04 Мар, 21:11 #30 #676350

>>676349
Тебе C++ надо или Qt?

Ответы>>676391

04 Мар, 21:25 #31 #676369

>>676303
Нужны 2 переменные. Длина строки и количество звёздочек в ней.
https://ideone.com/U80PJH

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

Ответы>>676375>>676391

04 Мар, 21:30 #32 #676375

>>676369
>Qt параша не нушна. Не для того кресты нужны чтобы окошки лепить.
Самое то, чтобы писать отзывчивые интерфейсы

Ответы>>676385

04 Мар, 21:30 #33 #676376

Есть конструкция
SimpleFunctor(const char *name) : name_(name)
и это конструктор класса. Объясните, зачем нужно двоеточие? Это инициализатор или что?

Ответы>>676378

04 Мар, 21:31 #34 #676378

>>676376
Da
http://en.cppreference.com/w/cpp/language/initializer_list

04 Мар, 21:32 #35 #676379

>>676033 (OP)
http://voodoo-slide.blogspot.ru/2010/01/amplifying-c.html?m=1
Кому нужен C++, если даже в геймдеве от него отказываются? Не траллирую, правда интересно. Если чисто хочется челленджа (а не БДСМ), лучше по хачкелю угореть, например.

Ответы>>676380>>676390>>681547

04 Мар, 21:32 #36 #676380

>>676379
Двачну, если писать свой проектик, хватит qt

Ответы>>676407

04 Мар, 21:36 #37 #676385

>>676375
>Самое то, чтобы писать отзывчивые интерфейсы
Да, но он же в кресты вкатыватся. Другого нет и Qt для этого подходит, но кресты не для отзывчивых интерфейсов.

Ответы>>676386>>676407

04 Мар, 21:37 #38 #676386

>>676385
Для калькуляторов

04 Мар, 21:39 #39 #676390

>>676379
Зачем ты принес это устаревшее говно сюда? В 2010 много чего не было, ты бы еще притащил пасту Торвальдса о том, какое C++ нестабильное говно.

Ответы>>676407

04 Мар, 21:40 #40 #676391

>>676350
Так подожжи, Qt - то всего лишь библиотека, чтобы мона было GUI-приложения лепить, не заморачиваясь с WinAPI. Или я что-то не правильно понимаю?
>>676369
Для чего кресты нужны?

Ответы>>676392>>676393>>676404>>676406

04 Мар, 21:40 #41 #676392

>>676391
Все верно, не слушай того поехавшего.

04 Мар, 21:41 #42 #676393

>>676391
> Или я что-то не правильно понимаю?
Всё правильно. Только ты смешаешь изучение Qt и C++ вместе.

04 Мар, 21:44 #43 #676404

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

04 Мар, 21:47 #44 #676406

>>676391
> Для чего кресты нужны?
Серверсайд, хайлоад, эмбедед, геймдев.

Ответы>>676414>>676416

04 Мар, 21:47 #45 #676407

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

04 Мар, 21:49 #46 #676414

>>676406
>эмбедед
А это что ещё такое?

04 Мар, 21:50 #47 #676416

>>676406
>эмбедед
А конпелятор-то уже завезли под 1001 микроконтроллер? нит

Ответы>>676424

sage 04 Мар, 21:51 #48 #676419

Нахуй ваш тред без стихов?

Ответы>>676422>>676429

04 Мар, 21:51 #49 #676422

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

04 Мар, 21:52 #50 #676424

>>676416
Под армы есть и норм.

04 Мар, 21:52 #51 #676426

>>676295
Фундаментальный вопрос.
Какую эмоджи выбрать в качестве символа плюсов http://www.emoji-cheat-sheet.com

Ответы>>676428>>676490>>676589>>676604

04 Мар, 21:53 #52 #676428

>>676426
:shit:

04 Мар, 21:53 #53 #676429

>>676419
Вайпать будешь?

Ответы>>676431

04 Мар, 21:54 #54 #676431

>>676429
Вот ты шутишь, а сегодня уже вайпали

Ответы>>676440

04 Мар, 21:57 #55 #676440

>>676431
Ну да. Как бы поэтому и пошутил. Пидору наверно шапка без стишка не понравилась, а этот хуй на то же самое жалуется. Ты шутку похоже не понял.

Ответы>>676445

04 Мар, 21:58 #56 #676444

Привет революционерам.
Недо-qt-дипломом снова тут.

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

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

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

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

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

В общем, я уже не знаю что здесь не то. Если не впадлу, посмотрите, плиз.
Подозреваю обосрамс с областями видимости (поэтому в models_prepare там прокся назначается тоже напрямую), но не знаю как проверить наверняка.

sage 04 Мар, 21:59 #57 #676445

>>676440
Да я только ради стишка и заходил. А теперь унылое говно тут.

04 Мар, 22:21 #58 #676490

>>676426
Там есть якорь?

1 Кб, 64x64

3 Кб, 64x64

04 Мар, 23:18 #59 #676589

>>676426

Ответы>>676591

04 Мар, 23:19 #60 #676591

>>676589
кекнул

7 Кб, 782x64

04 Мар, 23:24 #61 #676604

>>676426
Где отличия?

Ответы>>676607

04 Мар, 23:25 #62 #676607

>>676604
Просто alias-ы

05 Мар, 00:25 #63 #676680

Анончики такой вопрос. Я правильно понимаю при компиляции выражение (a<=b) будет !(a>b)?

Ответы>>676683>>676685

05 Мар, 00:29 #64 #676683

>>676680
Чому?

05 Мар, 00:31 #65 #676685

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

Ответы>>676688>>676690

05 Мар, 00:35 #66 #676688

>>676685
Ок.

05 Мар, 00:44 #67 #676690

>>676685
В какой ситуации это ВООБЩЕ может пригодиться, если ты не пишешь компиляторы?

Ответы>>676691

05 Мар, 00:45 #68 #676691

>>676690
Что может пригодиться? Лазать в стандарт?

Ответы>>676692

05 Мар, 00:46 #69 #676692

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

Ответы>>676694

05 Мар, 00:49 #70 #676694

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

Ответы>>676699

05 Мар, 00:55 #71 #676699

>>676694
>байтоебы очень чутко к этому относятся.
А что не так? operator<= перегружается отдельно от operator== и operator<

Ответы>>676707

05 Мар, 01:04 #72 #676707

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

Ответы>>676712

05 Мар, 01:05 #73 #676712

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

Ответы>>676725

05 Мар, 01:16 #74 #676725

>>676712
>676707
>А еще он внутри реализовывается через те же !(a<b)
Речь про типичную реализация перегруженного оператора

Ответы>>676730

05 Мар, 01:17 #75 #676730

>>676725
Это понятно.

А что будет, если перегрузить <, но не перегрузить >=

Ответы>>676753

9 Кб, 184x35

16 Кб, 583x90

05 Мар, 01:41 #76 #676751

Ответы>>676754

05 Мар, 01:42 #77 #676753

>>676730
юзеры тебя выебут в жопу

Ответы>>676757

05 Мар, 01:42 #78 #676754

>>676751
>Забыл сообщение написать
Почему так? в чем подводный камень? переменная вроде дабл, так почему 5/2 не 2.5? или дело в инт х ??

Ответы>>676755

05 Мар, 01:43 #79 #676755

>>676754
Переменная — дабл. А 5 и (x-2) — нет.

Ответы>>676759

05 Мар, 01:43 #80 #676757

>>676753
:(

Ответы>>676760

05 Мар, 01:44 #81 #676759

>>676755
Так что просто добавив точку к любому мы решим проблему? т.е. сначал посчитали, потом в дабл переменную записали?

Ответы>>676761>>676762

05 Мар, 01:45 #82 #676760

>>676757
перегружать операторы не обязательно. это делается исключительно для удобства и интуитивности. как ты думаешь, будет ли интуитивно перегрузить < и не перегружать >=? сколько бы wtf/sec словил бы ты?

05 Мар, 01:45 #83 #676761

>>676759
>любому числу
фикс

Ответы>>676762>>676763

05 Мар, 01:47 #84 #676762

>>676759
>>676761
Да.

05 Мар, 01:47 #85 #676763

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

Ответы>>676766

05 Мар, 01:50 #86 #676766

>>676763
да вот, с типами вроде знаком и с приведением типов тоже. Но спорить по-поводу нью бессмысленно. Как раз строструпа сейчас прохожу. В задании на "исправь ошибку" и нашел это. Вроде и исправил легко, но стало интересно копнуть глубже

05 Мар, 05:41 #87 #676886

А как сделать шаблонную функцию, которая будет принимать параметры типа std::vector<std::vector<std::vector<...>>> и т.д. Ну то есть неизвестно какой размерности вектор.

Ответы>>676890

05 Мар, 05:49 #88 #676890

>>676886
Уже рекурсией сделал.

05 Мар, 06:09 #89 #676896

>>676224
>>676315
Бампусики

sage 05 Мар, 07:29 #90 #676909

В пизду этого дауненка без стихов. И так везде скучные чмошники, так еще и тут.

23 Кб, 670x313

05 Мар, 11:19 #91 #676970

Сука сдохни ёбаный Qt. Делаю сраный хэловорд по простейшему гайду https://netbeans.org/kb/74/cnd/qt-applications_ru.html#creating , а в итоге пикрелейтед. Собирать собирает, а при запуске это говно. Чему там вообще, блядь, вызывать ошибку сегментации? Тьфу, блядь, говно.

Ответы>>676972>>677029>>677034>>677046

05 Мар, 11:21 #92 #676972

>>676970
>шиндовс
>что-то пиздеть на кутю
>2076
Если ты даун не заметил, то segfault вызывается твоей IDE, а не Qt.

Ответы>>676975

05 Мар, 11:25 #93 #676975

>>676972
Чо делать-то :(

Ответы>>677029

05 Мар, 13:13 #94 #677029

>>676970
>>676975
А с чего ты взял, что netbeans был для cygwin собран?

05 Мар, 13:19 #95 #677033

Зачем вообще нужен cygwin? Qt и так кросплатформенный по самые яйца

Ответы>>677037

05 Мар, 13:19 #96 #677034

>>676970
Погугли по этому dorun.sh. Проблема решалась.

05 Мар, 13:19 #97 #677037

>>677033
Ну вот пусть, сука, и на платформе cygwin работает.

05 Мар, 13:30 #98 #677046

>>676970
Всё работает из коробки с Qt Creator'ом, но илитка как обычно не ищет легких путей

Ответы>>677049

05 Мар, 13:31 #99 #677049

>>677046
QtKreakl воняет.

Ответы>>677052

05 Мар, 13:34 #100 #677052

>>677049
>QtKreakl воняет
>сидит на netbeans
Хм...

Ответы>>677054

05 Мар, 13:34 #101 #677053

Чем больше я узнаю про С++, тем больше я понимаю, что ничего не знаю. У всех так было?

Ответы>>677055>>677077>>677090

05 Мар, 13:35 #102 #677054

>>677052
Я не анон с netbeans

05 Мар, 13:35 #103 #677055

>>677053
По каким источникам узнаёшь?

Ответы>>677062

05 Мар, 13:39 #104 #677062

>>677055
Липпман, курсы на stepic, статьи из интернета, cplusplus.com.

Ответы>>677065>>677068

05 Мар, 13:41 #105 #677065

>>677062
И boost по доке ковыряю.

05 Мар, 13:44 #106 #677068

>>677062
Ну, цепепе несколько изъебистый, да.

05 Мар, 13:55 #107 #677077

>>677053
https://ru.wikipedia.org/wiki/Эффект_Даннинга_—_Крюгера
Все через это проходят.

Ответы>>677082>>677142

05 Мар, 14:00 #108 #677082

>>677077
Ну значит я всё делаю правильно. Пойду допиливать свой простенький аллокатор.

05 Мар, 14:08 #109 #677090

>>677053
Я кодгда начал учить плюсы доучил, по моему мнение, до 3/10 и начал искать работу. Понял что я нихуя не знаю, и у меня 1/10.

05 Мар, 14:48 #110 #677142

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

05 Мар, 14:51 #111 #677149

Петуханы, поясните за const correctness. Любой const-метод должен в общем случае лочить мьютекс?

673 Кб, 1024x1024

05 Мар, 15:18 #112 #677202

>>676033 (OP)

Ответы>>679474

05 Мар, 15:36 #113 #677242

А давайте на гитхаб шапку. А мод от туда разметку возьмёт. Все будем комитить. Так вообще для всего pr можно сделать.

Ответы>>677263>>677520>>677680

05 Мар, 15:38 #114 #677249

>>677240
Тебе так хочется прыгающую мартышку в шапке?

Ответы>>677265

## Mod ## 05 Мар, 15:46 #115 #677263

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

05 Мар, 15:47 #116 #677265

>>677249
Вот эту штуковинку можно в скрипт засунуть:
><script src="/http://xcont.com/snow.js"></script>
Зимой будет очень круто смотреться :3

48 Кб, 640x400

05 Мар, 16:41 #117 #677357

Это опять я >>676295
У меня такой вопрос. Тут на википедиях пишут, что тысячи программ во всем мире написаны с использованием Qt.
Есть какие-то яркие примеры? Я пока нахожусь в сомнениях - вкатываться мне в Qt или засесть за WinAPI

Ответы>>677378>>677441

05 Мар, 16:51 #118 #677378

>>677357
Ебать ты ленивый http://www.qt.io/qt-in-use/

Ответы>>677407

05 Мар, 16:57 #119 #677392

>>676033 (OP)
Ты спиздил шапку у предыдущего ОПа, стихов не написал. Так чем же ты, пидор, лучше? Предыдущий, кстати, обещал допилить шапку.

Ответы>>677409

05 Мар, 17:03 #120 #677407

>>677378
Я тут про C++ Builder узнал, который тоже окошки перетаскиванием создает.

Ответы>>677425>>677455

05 Мар, 17:03 #121 #677409

>>677392
Я ее нормально оформил, а не спиздил. На стихи мне похуй.

05 Мар, 17:10 #122 #677425

>>677407
Разница в том, что Qt намного распространеннее и opensource.

Ответы>>677449

05 Мар, 17:13 #123 #677431

Хуя тут у вас- легиминые и нелегитимные, прям угон тредов. В порашу скатились, плюсаны.

05 Мар, 17:20 #124 #677441

>>677357
В консольке сначала пиши на С++, визуальное программирование подождет. Вполне подойдет code::blocks

Ответы>>677451>>677508

05 Мар, 17:22 #125 #677443

Можно ли писать имено функций ф одно хедере allfunctionanmes.h а реализации в разных function1.cpp, funtion2.cpp ?

Ответы>>677570>>677575

05 Мар, 17:25 #126 #677449

>>677425
Ты мне лучше за такую штуку поясни. Мой exe-шник helloworld.exe (написанный с использованием Qt) запустится у моего друга Васяна, если я ему его по скайпу скину?

Ответы>>677450>>677452

05 Мар, 17:26 #127 #677450

>>677449
Да

118 Кб, 1914x512

05 Мар, 17:27 #128 #677451

>>677441
Нинужно.

05 Мар, 17:27 #129 #677452

>>677449
Если у него DLL-ки есть или экзешник собран статически.

05 Мар, 17:28 #130 #677455

>>677407
Там даже layout manager не завезли.

05 Мар, 17:46 #131 #677481

Анончики, как char сконвертировать в string?
Решение типа:
string s;
s = (const char)aWord;
не работают

Ответы>>677485>>677497>>677503

05 Мар, 17:46 #132 #677484

http://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines.html#S-naming
Правильно ли я понял, что нам рекомендуют свои функции и типы писать с большой, а заместо верблюда юзать нижний прочерк?

05 Мар, 17:46 #133 #677485

>>677481
блядь, там указать на чар.

Ответы>>677487>>677497

05 Мар, 17:47 #134 #677487

>>677485
Двойной обосрамс. Указатель на чар конечно.

Ответы>>677497

05 Мар, 17:52 #135 #677497

>>677481
>>677485
>>677487
http://en.cppreference.com/w/cpp/string/basic_string/basic_string см. второй конструктор

Ответы>>677503>>677511

05 Мар, 17:56 #136 #677503

>>677481
>>677497
Или девятый. Если знаешь, что такое initializer_list

Ответы>>677505

05 Мар, 17:57 #137 #677505

>>677503
Хотя нет, наверное нельзя девятый.

Пора спать.

05 Мар, 17:59 #138 #677508

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

Ответы>>677513>>677514>>677629>>678720

05 Мар, 17:59 #139 #677511

>>677497

Спасибо

05 Мар, 18:00 #140 #677513

>>677508
Псевдографика же

Ответы>>677515

05 Мар, 18:01 #141 #677514

>>677508
Тебе так принципиально для изучения цепепе нарисовать, а не вывести в таблицу?

05 Мар, 18:02 #142 #677515

>>677513
Слишком сложно. 99% не могут даже нарисовать крестик.

05 Мар, 18:09 #143 #677520

>>677242
два чая адеквату

05 Мар, 19:10 #144 #677570

>>677443
Можно. Но это удлиняет время компиляции, так как при изменении хедера будут перекомпилироваться все зависимые модули.

05 Мар, 19:17 #145 #677575

>>677443
Пиши имено функций ф в хедерах function1.h function2.h, и подключай их в allfunctionanmes.h, если так хочешь их всех объединить где-то.

05 Мар, 20:21 #146 #677629

>>677508
очевидные ncurses жи

05 Мар, 20:22 #147 #677630

Сделал программу для конвертации рублей в валюту, стринг в инклуде лишний, просто я его с прошлых программ оставил: http://pastebin.com/ZF77tNsV

Ответы>>677635>>677636>>677640

05 Мар, 20:27 #148 #677635

>>677630
М. И?

Ответы>>677638

05 Мар, 20:28 #149 #677636

>>677630
Ты мне кароч даёшь экзешник и я как счастливый юзер могу использовать всё это один день, пока курс не изменится, да?
Запили ка ты нормальный класс Money с соотв. перегрузкой операторов. Шоб было что-нить навроде:

t::Money m1{ 123.2, Money::dollars };
t::Money m2{ 4, Money::rubles };
std::cout << m1 + m2 << std::endl;

Ответы>>677638

05 Мар, 20:30 #150 #677638

>>677635
В смысле?

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

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

Ответы>>677639>>677642>>677644>>677650

05 Мар, 20:31 #151 #677639

>>677638
Ты хотел поведать нам о своих успехах?

05 Мар, 20:31 #152 #677640

>>677630
Круто. Сам делал или помогал кто?

Ответы>>677641

05 Мар, 20:32 #153 #677641

>>677640
Батя помогал.

05 Мар, 20:32 #154 #677642

>>677638
Если ты сюда это пишешь, значит хочешь критики. Вот она. Пили нормальный класс с нормальным интерфейсом и перегрузками.

Ответы>>677645>>677673

05 Мар, 20:33 #155 #677644

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

Ответы>>677673

05 Мар, 20:33 #156 #677645

>>677642
Не критики, а похвалы. Иначе загрущу и брошу кресты.

Ответы>>677648>>677650

05 Мар, 20:36 #157 #677648

>>677645
Похвалы? Ты шутишь? Осиль switch-case, а то от elif'ов рябит в глазах. Нормальную абстракцию и напиши что-нибудь полезное. Тогда, может быть, тебе не обосрут. Похвалы, лол. Мы тебе не родители и не тянка твоя.

Ответы>>677649>>677651

05 Мар, 20:38 #158 #677649

>>677648
Ну всё. В пизду кресты. Хорошо что ещё не много времени на них угробил. Питон учить буду.

Ответы>>677650

05 Мар, 20:40 #159 #677650

>>677649
>>677645
Это не я писал: >>677638

300 Кб, 426x588

79 Кб, 900x691

05 Мар, 20:40 #160 #677651

>>677648
Сука, тебе похвалить сложно? Или ты только обсирать можешь? Запомни: как ты к людям, так и они к тебе!

Ответы>>677654>>678989

05 Мар, 20:44 #161 #677654

>>677651
Ты жырен, ты толстен, но критика != обсирание. Съеби.

Ответы>>677655

05 Мар, 20:45 #162 #677655

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

Ответы>>677656

05 Мар, 20:46 #163 #677656

>>677655
Это же двач. Тут всех обладать могут.

Ответы>>677657

05 Мар, 20:47 #164 #677657

>>677656
Поэтому борда "успешных" людей.

05 Мар, 21:11 #165 #677673

>>677644
>>677642
Кстати, поясните вот что, у меня в папке проекта лежит дебаг с расширением .ехе, он работает как программа, которую я написал. Но, если я запускаю этот файл на другом компьюторе, то он ругается на отсутствие каких-то библиотек, которые, как я понял, идут с вижуалом.
Как я понял, потом я уже узнаю как делать экзешник и вшитые в него билиотеик?

Ответы>>677675>>677687

05 Мар, 21:12 #166 #677675

>>677673
> ругается на отсутствие каких-то библиотек
РУГАЕТСЯ НА ОТСУТСТВИЕ РАНТАЙМА С ДЕБАГ-СИМВОЛАМИ

05 Мар, 21:23 #167 #677680

>>677242
Перенеси щас питонерам шапку с гитхаба. Посмотрим как это выглядит. Алсо как происходит вставка хтмлэля в пост? Может они тебе бота для автопереката запилят?

05 Мар, 21:31 #168 #677687

>>677673
И на другие компьютеры надо распространять Release-билды.

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

Ответы>>677690>>677710

05 Мар, 21:32 #169 #677690

>>677687
А как релиз билд сделать?
Я на вижула_студио пишу, пишут что вроде самая удобная иде для разработки.
Я, конечно, еще много чего не понял, и интерфейс громоздкий и н слишком удобный...
А ты на нём пишешь? У меня была бы пара вопросов по интерфейсу.

Ответы>>677707>>677710

05 Мар, 22:02 #170 #677707

>>677690
Нет, я не пишу.
Поищи в меню/на панели Release-сборку.

05 Мар, 22:05 #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

05 Мар, 22:39 #172 #677746

Что значит конструкция

int a;
(void*)&a;

Ответы>>677747>>677872

05 Мар, 22:41 #173 #677747

>>677746
Каст к указателю на void.

В C ненужно, так как любой указатель кастуется в на-void
В C++ ненужно, так как убивать за это

Ответы>>677985

06 Мар, 00:39 #174 #677840

>>677567
Мод, плиз.

06 Мар, 01:06 #175 #677853

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

Ответы>>677855>>677856

06 Мар, 01:07 #176 #677855

>>677853
Говно

06 Мар, 01:09 #177 #677856

>>677853
Может фрагментация памяти и нужно использовать буфер?

Ответы>>677870

06 Мар, 01:29 #178 #677870

>>677856
1. какой у тебя аллокатор, попробуй jemalloc
2. если критично, делай свой пул памяти и развлекайся с имплейментами

Ответы>>677871

06 Мар, 01:30 #179 #677871

>>677870
* имплейсментами

06 Мар, 01:31 #180 #677872

>>677746
она предвещает большую беду. увидишь её, сразу закрывай двери и залазь под кровать

06 Мар, 05:44 #181 #677926

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

06 Мар, 06:36 #182 #677929

>>677710
Так это чисто юридический запрет, лол.

06 Мар, 10:05 #183 #677965

Аноны, а книга Джефф Элджер - C++: Библиотека программиста годнота или нет? Я просто посмотрел там много про работу с памятью написано. Может есть что поновее?

51 Кб, 460x619

06 Мар, 10:24 #184 #677973

Сап, анон.
http://ideone.com/df6V1p
Суть такова: пользователь создаёт файл A, в который пишет целые ненулевые числа. Положительных столько же, сколько и отрицательных. Программа создаёт файл B, в котором эти числа записываются так, чтобы рядом не стояло двух чисел с одинаковым знаком (т.е. положительные и отрицательные чередуются), но отдельный порядок следования сохраняется как для положительных, так и для отрицательных чисел.
Вопрос: какого хуя эта хуерга не работает, блядь? Я напутал что-то с указателями? Вчера весь вечер ебался с ней, в итоге не доебал.

Ответы>>677977>>677982

06 Мар, 10:30 #185 #677977

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

06 Мар, 10:43 #186 #677982

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

06 Мар, 10:57 #187 #677985

>>677747

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

Ответы>>677988

06 Мар, 10:58 #188 #677988

>>677985

(void)&a ебаная вакаба, чего ей не шатается и она режет звезжочки

06 Мар, 11:36 #189 #678002

>>676295
WinAPI лучше Qt. Сам несколько лет назад решил освоить какую-нибудь библиотеку для всяких гуёв. Выбор пал на Qt. Потихоньку осваивался, переписывал свои старые программы под GUI, но с каждым разом разочаровывался в Qt всё больше и больше. Реализация простейшей хуйни требовала создание абстрактного класса листенера события и использование парадигмы MVC. Про один экзешник можно забыть - нужен ещё и Qt5Core.dll, Qt5Widgets.dll и т.д. Программы не всегда делали то, что я хочу - например, не могли создать объект QImage размером больше гигабайта, а без QImage я тогда обойтись не мог. Поведение некоторых элементов было не такое, какое следовало ожидать. Где-то тогда же я узнал про WinAPI - древнюю, могущестенную библиотеку, когда-то бывшую доминантой, но теперь забытую за всеми этими фреймворками и абстрактными парадигмами. Уже тогда, не зная её вообще, я называл её "лучшей библиотекой в мире". А когда решил выучить её - понял, насколько же я был прав. Один экзешник, маленького размера. За счёт отсутствия нагромождения абстракций код на WinAPI получатся даже короче. Делала библиотека всё, что нужно, я до сих пор удивляювь, когда узнаю, что в ней есть яички для моей сегодняшней задачи. Вдобавок в Visual Studio был охуительный шрифт и сама архитектура WinAPI-программ взрывали мозг. Он охуителен.

Ответы>>678004>>678023>>678198

06 Мар, 11:39 #190 #678004

>>678002
А вообще её за месяц-полтора можно как-нибудь освоить?? Ну, даже не освоить, а реализовать проект. Дело в том, что я никогда не писал приложения с гуи, а тут вот понадобилось и чтоб таблица была и картинки...

Ответы>>678005>>678066>>678199

06 Мар, 11:45 #191 #678005

>>678004
StackOverflow там -->>

06 Мар, 12:23 #192 #678023

>>678002
Блядь, ты там ебанутый нахуй? Пошел ты в жопу с такими дебильными пастами. Бинарник у него один, бля. Если этот хуила не знает про статическую линковку, понятно какое ценное у него мнение.

Ответы>>678066

06 Мар, 13:11 #193 #678066

>>678023
Знаю я, блядь, про статическую линковку. Как и про то, что ты ОБЯЗАН распространять программу под GPL, если слинкуешь статически. Я уж молчу про то, сколько всякого говна надо ставить, чтобы пересобрать Qt под статическую линковку.

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

Ответы>>678067>>678070

06 Мар, 13:15 #194 #678067

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

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

Ответы>>678232

06 Мар, 13:18 #195 #678070

>>678066
>ОБЯЗАН
Проиграл чёто. К тебе на хату завалятся, отпихдят и свяжут, потом будут натягивать кишки на скалку, крича -"ХУЛИ ТЫ КУТЮ СТАТИЧЕСКИ СЛИНКАВАЛ ПИДАР".

Ответы>>678080

06 Мар, 13:32 #196 #678080

>>678070
Посмотрим как ты запоешь когда тебе позвонит один из сотен натренированых лично Столлманом юристов FSF.

Ответы>>678083>>678094

06 Мар, 13:32 #197 #678083

>>678080
А что, если я нигде не указывал свой телефон?

Ответы>>678092

06 Мар, 13:39 #198 #678091

Линковать qt статически можно, если лицензия коммерческая. Если open source, то да, нельзя. Но, честно говоря, я не вижу проблемы поставлять либы вместе с бинарником.

Про то, что код на winapi короче и проще, - это вообще пушка. Ну покажи нам этот код, хули.

Ответы>>678232

06 Мар, 13:39 #199 #678092

>>678083
Как ты можешь распространять не свободно свою программу и нигде не указать свой телефон? Ситауция такая что ты начинаешь распространять свою программу за $10, другие парни начинают продавать ее за $5. Ты пытаешся подать на них в суд - общественности становится известна твоя личность. К тебе подъезжают люди от Столлмана для разговора.

Ответы>>678103

06 Мар, 13:41 #200 #678094

>>678080
Поссу им на ебало и кекну. У нас здеся за хентай сажают, а не за нарушение лицензий на ПО.

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

Ответы>>678097>>678101

06 Мар, 13:42 #201 #678097

>>678094
>узнает о факте этой статической линковки
Справедливости ради, если код без защиты, то сделать это довольно легко.

Ответы>>678107

06 Мар, 13:46 #202 #678101

>>678094
Это хорошо что ты определился с целями своей жизни и решил что ничего больше laba2.cpp ты не напишешь - тут действительно можно линкануть статически с маловероятными последствиями. Но анона, возможно, интересует написание серьезных коммерческих проектов. И писать их с нарушениями лицензий недальновидно.

Ответы>>678106>>678107

06 Мар, 13:47 #203 #678103

>>678092
Если будешь делать коммерческий софт – уж будь так добр заплатить и за Qt и не выёбываться. Это не студия с ценником от 1,5к до 6к$, всего-то 300$ для коммерческого проекта – не много. Ну а если у тебя очередное васяноподелие для 2-х человек – не вижу смысла ебать мозги.

06 Мар, 13:48 #204 #678106

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

06 Мар, 13:50 #205 #678107

>>678101
Для сурьёзного проекта 300$ – не деньги. Только это всё высер твоего манямирка, в попытках оправдать сказанную тобой тупость.
>>678097
Что с этого будет-то? Кто-то усрётся и наспамит тебе на почту что ты хуесос?

Ответы>>678115

06 Мар, 13:50 #206 #678109

Да вас тут траллируют, лалки. Причем очень толсто:

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

Ответы>>678112>>678232

06 Мар, 13:52 #207 #678112

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

06 Мар, 13:53 #208 #678115

>>678107
> Да кто вообще узнает, ха хах ах, как хочу так и линкую))))
> ну конечно я заплачу деньги, какой вопрос

Ответы>>678119

06 Мар, 14:01 #209 #678119

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

Ответы>>678232

06 Мар, 15:01 #210 #678198

>>678002
Ты двинулся. Эта бибка сишная, которая по существу эмулирует сишными же средствами ООП. Чего в этом хорошего, учитывая, что всё это досталось со временён третьих Окон?

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

Алсо, что не так с MVC-парадигмой? Давай разложи по полочкам, мамкин проектировщик.

Ответы>>678232

06 Мар, 15:02 #211 #678199

>>678004
Гуи на гуёвых языках. Если очень хочется писать на плюсах и иметь gui, то как вариант пиши плюсовую бибку, которая дёргается из графического фронт-энда, написанного на C++ .NET.

06 Мар, 15:55 #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

06 Мар, 16:09 #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

06 Мар, 16:31 #214 #678268

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

06 Мар, 16:32 #215 #678270

>>678245
Да чего ты с ним разговариваешь, лол? Это же тот поехавший с охуительными историями про его превозмогания винапи. Его еще зимой тут хуями накормили.

Ответы>>678281>>678302

52 Кб, 600x600

06 Мар, 16:33 #216 #678272

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

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

Покормил

Ответы>>678302>>679296

177 Кб, 2430x598

06 Мар, 16:40 #217 #678281

>>678270
Нашел его.

96 Кб, 1268x594

06 Мар, 16:41 #218 #678283

Еще, кстати, нашел это. Я так и не понял, прошлый ОП-стихоеб моча или нет?

Ответы>>678382>>678414

06 Мар, 16:55 #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

06 Мар, 17:11 #220 #678319

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

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

P.S. И покажи все же свой код на WINAPI

Ответы>>678328

06 Мар, 17:22 #221 #678328

>>678319
>Кроссплатформенный GUI и код в целом
Не нужно. У меня нет ни одного знакомого, который всерьёз бы использовал линукс. А это вполне нормальная выборка, чтобы сделать соответствующие выводы.
>Скорость работы отладчика
И на Visual Studio она очень высокая. А на Qt вообще где-то до 5.1 был просто отвратительный отладчик.
>Скорость работы IDE на проекте
И тоже достаточно высокая.
>Внешняя конфигурация работающего приложения
Есть.
>Плагины
Уточни - плагины для IDE(потому что в Visual Studio, в отличие от Qt Creator, они есть) или плагины для твоего же приложения? Если второе - то идеальному приложению вообще плагины не нужны, оно выполняет все необходимые задачи.
>Простота доставки обновлений
Заменяешь бинарник и всё, делов-то.
>Расшаривание функциональности между несколькими бинарниками
А что ты имеешь в виду? Нахуй несколько бинарников?

Ответы>>678369>>678376>>678466

06 Мар, 17:45 #222 #678369

>>678328
А у меня полно знакомых девочек с макбуками. Пилить им отдельных гуй на cocoa?

Ответы>>678397

06 Мар, 17:48 #223 #678376

>>678328
> У меня нет ни одного знакомого, который всерьёз бы использовал линукс.
Андроид твои знакомые тоже не используют?
>И на Visual Studio она очень высокая. А на Qt вообще где-то до 5.1 был просто отвратительный отладчик.
Qt вообще-то нормально работает под Visual Studio.

Ответы>>678397

06 Мар, 17:53 #224 #678382

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

06 Мар, 18:00 #225 #678397

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

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

Ответы>>678412

06 Мар, 18:17 #226 #678412

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

Ответы>>678484

06 Мар, 18:19 #227 #678414

>>678283
Нет. Тут 3 профи сидят 2 могут в асм 1 в js. Оп студент последнего курса возможно работает в бодишопе и когда говорит от своего имени часто называет остальных няшеми ещё олдфаг или луркоёб. Другой отвечает даже на глупые вопросы и использует vim, а третий использует класс tvoymamka и часто материться тогда что-то поясняет похоже что это алчан и теперь он куда-то сбежал. Остальные не очень активные. Раньше похоже модер сильно не выделялся как и новый оп т.к. их не помню. Алсо предлагаю затролить мода и устроить бамплимит до 8ого марта и это где его посты? Нахуя потёр всё?

Ответы>>678449

06 Мар, 18:53 #228 #678449

>>678414
может это все один человек

Ответы>>678453

06 Мар, 18:57 #229 #678453

>>678449
Не. Я точно этих трёх запомнил. А до нашего опа опом был алчан кстати. Это он писал в шапке чтобы все шли нахуй и свой скрипт для [code] в шапку пихал.

Ответы>>678459>>678463

06 Мар, 19:02 #230 #678459

>>678453
а прошлый оп сам рассказывал про последний курс и бодишоп чтоли?

Ответы>>678476

06 Мар, 19:04 #231 #678463

>>678453
Алчан это не тот, который сделал разметку MakabaCode?

Ответы>>678476

06 Мар, 19:05 #232 #678466

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

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

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

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

>А что ты имеешь в виду? Нахуй несколько бинарников?
Ну ты поставляешь консольную и gui-шную версию приложения, например. Ах да, в твоем манямирке такого не предусмотрено.

Ответы>>678471

06 Мар, 19:09 #233 #678471

>>678466
>170 подпроектами
Вы же ебанулись. Еще поди в SVN?

Ответы>>678472

06 Мар, 19:11 #234 #678472

>>678471
Сперва. На git потом перебрались.
Ты так говоришь, как будто это что-то плохое.

06 Мар, 19:15 #235 #678476

>>678463
Ну да. Я же это и написал. Только не помню почему так решил.

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

Ответы>>678482

06 Мар, 19:19 #236 #678482

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

Ответы>>678499

06 Мар, 19:20 #237 #678484

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

Кроссплатформы "мобайл-десктоп" не бывает. Назови мне хотя бы одно приложение, которое одинаково работает в обеих средах.

Ответы>>678496>>678498>>678516

06 Мар, 19:24 #238 #678491

А вот и результаты подъехали. http://www.polljunkie.com/poll/jtdoir/c/view

06 Мар, 19:26 #239 #678496

>>678484
WinRT

Ответы>>678512

06 Мар, 19:27 #240 #678498

>>678484
>Кроссплатформы "мобайл-десктоп" не бывает.
Серия GTA, например. Ты думаешь они ее заново переписали?

Ответы>>678512

06 Мар, 19:27 #241 #678499

>>678482
Шел бы ты нахуй со своими неймфагами.

Ответы>>678510

06 Мар, 19:31 #242 #678510

>>678499
Да ладно. Кстати дочитываю первый тред. Там как-раз оп и говорит что те лекции у них на 2ом курсе читают. Значит Он минимум 3ий курс. А задедектил его по спойлерам. Оп их любит.

Ответы>>678513

06 Мар, 19:35 #243 #678512

>>678498
Мы вроде о гуёвых библиотеках говорим, а не о рендеринге.

>>678496
"Мобильный даже на десктопе". Этот лозунг бы ему подошёл, вот только на десктопе он совсем неудобен.

54 Кб, 1130x272

06 Мар, 19:36 #244 #678513

>>678510
Лол. Нашёл все 3 или 4 признака опа в одном посте.

Ответы>>678520

06 Мар, 19:41 #245 #678516

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

Зато бывает мобайл-мобайл, лал. И вообще, что ты пытаешься доказать? Что winapi не говно? Ну давай ты накинешь сравнений, а потом мы тебя обоссым.

Ответы>>678532

21 Кб, 1296x120

06 Мар, 19:44 #246 #678518

Во что ещё нашёл. Как узнать из каких байтов состаит функция? Можно приммер такой программы?

Ответы>>678522>>678530>>678732

06 Мар, 19:45 #247 #678520

>>678513
так это какой из опов, со стихами или нынешний? я не понимат

Ответы>>678523

06 Мар, 19:46 #248 #678522

>>678518
Напиши функцию, скомпилируй ее в машинный код и вынь байты HEX-редактором. Очевидно же.

Ответы>>678531

06 Мар, 19:47 #249 #678523

>>678520
Со стихами

Ответы>>678526

06 Мар, 19:49 #250 #678526

>>678523
а нынешний откуда взялся? это тот который с разметкой или другой?

Ответы>>678531>>678534>>678540

06 Мар, 19:50 #251 #678530

>>678518
Может, у тебя у функций ещё адреса нет?

06 Мар, 19:51 #252 #678531

>>678522
А как я узнаю какие байты принадлежат функции?

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

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

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

Ответы>>678537>>678550

06 Мар, 19:51 #253 #678532

>>678516
>Зато бывает мобайл-мобайл
Да, но мы говорим о десктопе. Мне похуй, что там в мобильной разработке, всё равно интересных средств там нет.
>Ну давай ты накинешь сравнений
Ну отлично, кидай код на Qt, а я его сравню с винапишным.

06 Мар, 19:52 #254 #678534

>>678526
>это тот который с разметкой или другой?
Нет. Тот написал
>Красава, достойный преемник, благословляю.
И перестал быть опом.

06 Мар, 19:53 #255 #678537

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

Ответы>>678646

06 Мар, 19:59 #256 #678540

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

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

Ответы>>678611

# OP 06 Мар, 20:01 #257 #678544

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

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

Ответы>>678548

06 Мар, 20:04 #258 #678547

Поясните ньюфагу, как записывать переменные в файл и читать с него.

Ответы>>678551>>678553>>678555

06 Мар, 20:05 #259 #678548

>>678544
>Страуструп
Там нет.

>стандарт
Там много сложно.

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

Ответы>>678562

06 Мар, 20:05 #260 #678550

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

Ответы>>678556

06 Мар, 20:05 #261 #678551

>>678547
fstream

06 Мар, 20:06 #262 #678553

>>678547
Что тебе именно не понятно?
Используй FILE *, fread, fwrite.

06 Мар, 20:07 #263 #678555

>>678547
std::ofstream tvoya_mamka {"file.txt"};
int hui = 1488;
tvoya_mamka << hui;

Ответы>>678558

06 Мар, 20:08 #264 #678556

>>678550
>те, что более хардкорные.
>Литература для тех, кто осилил предыдущий пункт
>Наиболее детальные описания языка:
>Тонкости языка (для гурманов)
Какие?

Ответы>>678561>>678565

06 Мар, 20:08 #265 #678558

>>678555
Может, сначала создать класс "орган"?

06 Мар, 20:09 #266 #678561

>>678556
В старой шапке был пункт "Отдельные аспекты".

Ответы>>678572

580 Кб, 1366x1318

06 Мар, 20:09 #267 #678562

>>678548
>Там нет.

Почему я тогда нашел?

Ответы>>678573

06 Мар, 20:12 #268 #678565

>>678556
Еще есть охуенная книжка Inside the C++ Object Model Липпмана, но она емнип только на английском.

# OP 06 Мар, 20:16 #269 #678572

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

13 Кб, 409x166

158 Кб, 682x408

06 Мар, 20:16 #270 #678573

>>678562
Потому что у тебя другая книга. Какая?

Ответы>>678577

06 Мар, 20:18 #271 #678577

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

У тебя старое издание. Но там тоже это есть. В главе "Классы"

Ответы>>678582

06 Мар, 20:20 #272 #678582

>>678577
Понял спасибо. Значит читал не внимательно.

06 Мар, 20:22 #273 #678590

>>678584
X

06 Мар, 20:30 #274 #678611

>>678540
Хорошо, подожди часик и я напишу WinAPI-код. Только уточни для начала, ты вот эти вот QML+JS тоже считаешь? Ибо QML+CPP как раз и занимает у тебя примерно столько же кода, сколько винапишный эквивалент.

Ответы>>678631>>678973

206 Кб, 1504x1228

185 Кб, 1504x1228

211 Кб, 1504x1228

191 Кб, 1504x1228

06 Мар, 20:40 #275 #678631

>>678611
>ты вот эти вот QML+JS тоже считаешь?
Ну конечно.

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

Ответы>>678638>>680666

06 Мар, 20:44 #276 #678638

>>678631
Алсо, код на Qt занимает ~360 строк.

117 Кб, 1358x453

5 Кб, 178x85

33 Кб, 373x412

06 Мар, 20:51 #277 #678646

>>678537
Что дальше? Как узнать сколько байт отрезать и в какую сторону?

Ответы>>678791

06 Мар, 20:53 #278 #678652

Анон, поясни заходящему сюда раз в пару лет мимо-пасквилянту, какую оптимальную версию MS Visual С++ покупать на торрентах для начала? Свистелок и маус-кодинга не хочу, меня интересует просто создание 32-разрядных оконных приложений с нуля, поэтому ранние версии предпочительней. Чтобы программа не требовала левых библиотек в рабочей папке и всяких богомерзких установленных пакетов типа MS Visual C++ Redistributable 20хх, и чтобы не вылетала на старых осях типа ХР без причины. Например мои программы, написанные на Delphi 4.0 (1998 года) нормально, быстро и без проблем работают и на Win10 x64, поэтому от плюсов я жду того же, на всякие фичи типа использования 64-разрядности или многоядерности проца я не претендую.
И еще: мне когда-то посоветовали хороший учебник по сабжу от одного из майкросовтовских разработчиков Visual C++, но я пролюбил PDF-ку и в упор не могу вспомнить имени автора, могу точно сказать, что это не Страуструп и не Мейерс, других авторов из ОП-поста пока не гуглил. Есть идеи?

Ответы>>678724>>678752

06 Мар, 21:35 #279 #678720

>>677508
gnuplot

06 Мар, 21:44 #280 #678724

>>678652
MS давно не поддерживает формошлепство на С++. Ставь или QtCreator или новый C++ Builder.

Ответы>>678897

06 Мар, 21:48 #281 #678732

>>678518
http://ideone.com/eooRjZ
Только твой код должен быть position independent.

Ответы>>678738>>678749

06 Мар, 21:52 #282 #678738

>>678732
Зачем там fflush? И как узнать какой длины должен быть цикл?

Ответы>>678741

06 Мар, 21:55 #283 #678741

>>678738
Чтобы если программа упадет от чтения в неположенном месте, вывелось все, что успело вывести, а не подохло вместе в буфером. Какой длины - узнать x86 код ассемблерной команды RET и заменить цикл на while. Ну или в отладчике посмотреть disassembly и прикинуть сколько байт там будет.

Ответы>>678791

06 Мар, 22:06 #284 #678749

>>678732
Причем здесь position independent и что за magic number 10?

Ответы>>678763

06 Мар, 22:08 #285 #678752

>>678652
Чем свежее - тем лучше. Вот в 2015 Visual Studio добавили профайлер памяти встроенный, и, насколько я понимаю, добавили туда поддержку стандарта C++14.
Что касается свиньи (шиндоус хр) и прочего старого хлама - то это там можно, да.
Стандартная библиотека сейчас очень даже ничего, но кк ни крути, редист качать надо будет, даже для старых версий компилятора. Таки дела.

Ответы>>678897>>680135

06 Мар, 22:14 #286 #678763

>>678749
Даже больше скажу, скорее всего ты прочитаешь данные PLT, а не саму функцию в случае PIC.

Ответы>>678769

06 Мар, 22:20 #287 #678769

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

68 Кб, 1341x573

06 Мар, 22:43 #288 #678791

>>678646
Как сделать чтобы программа со второго пика компилировалась не в 8.5 кб, а поменьше?

>>678741
>узнать x86 код ассемблерной команды RET
Похоже c3, но это не точно.

https://ideone.com/h0Un65

Ответы>>678804>>678861

36 Кб, 605x358

06 Мар, 22:53 #289 #678804

>>678791
Скрин где про c3 написано забыл.

Ответы>>678861

07 Мар, 00:00 #290 #678861

>>678804
>>678791
Если раскоментить строку, то будет ошибка в время выполнения. Как исправить? Может не правильно количество байт беру?

https://ideone.com/CU77R1

Ответы>>678879>>678921

07 Мар, 00:10 #291 #678879

>>678861
Ребята, вы тут?

Ответы>>678921

07 Мар, 00:25 #292 #678897

>>678724
Формошлепством уже давно не интересуюсь, все руками делаю.
>C++ Builder.
Ты про борландовский цпп? Да ну его нах, после нескольких лет дельфоебства я теперь на пушечный выстрел не подойду к их кривому софту. В фак-треде на 100% верно про них написано:
>Если интерес не поиграться, а работать, то не нужно следовать за массовыми истериями. Выбирай язык с кучей библиотек, туториалов и проверенными временем фреймворками под твои нужды. Иначе будешь тратить время на велосипеды и поиск багов в чужих пакетах.
Я несколько лет страдал изобретением велосипедов, правкой их багов и обходом вредных свистелок, в то время, когда нормальные люди учились нормальным языкам и не тратили время.
>>678752
Спасибо, наверное стоит попробовать с 2015 Visual Studio. А что насчет классической MS Visual C++ 6.0? У меня самого железо - старый хлам, когда нормальный ноут помер, я собрал на скорую руку свое нынешнее помойное ведро и ХР на нем работает нормально, чаще даже под ней приходится сидеть, чем под Семеркой. Меня, если что, не интересует на данный момент ничего кроме создания простейших приложений с окном и простым циклом обработки сообщений. На дельфе все это есть, но хочется поближе к системе, и чтобы без гигантских и глючных объектных нагромождений поверх простых вещей.

Ответы>>678900

07 Мар, 00:28 #293 #678900

>>678897
>Я несколько лет страдал изобретением велосипедов, правкой их багов и обходом вредных свистелок, в то время, когда нормальные люди учились нормальным языкам и не тратили время.
>Меня, если что, не интересует на данный момент ничего кроме создания простейших приложений с окном и простым циклом обработки сообщений.
Ты ебанутый и так ничего и не понял. Голое winapi в 2016 - это трата времени.

Ответы>>678906

07 Мар, 00:34 #294 #678906

>>678900
Ебанутый здесь толькот тот, кто считает, что для программы, где нужен только WinAPI, нужно использовать что-то кроме него. А обучение нужно начинать с основ, а не с наворотов.
>2016
Ох уж эти форчково-школьные ракомемы. Тебе лет-то сколько вообще? Если нечего сказать, так ничего не говори.

Ответы>>678925

07 Мар, 00:48 #295 #678921

>>678861
>>678879
Вангую, защита данных от исполнения стоит.

Ответы>>678929

07 Мар, 00:53 #296 #678925

>>678906
>Ебанутый здесь толькот тот, кто считает, что для программы, где нужен только WinAPI, нужно использовать что-то кроме него.
WinAPI просто не нужен, нужны кроссплатформенные объектно-ориентированные фреймворки. Qt, wx, fltk если так охота что-то от MS, то winforms, но MS давно забила на гуй для нативного С++.
>А обучение нужно начинать с основ, а не с наворотов.
WinAPI - это не основы, это устаревшая хуево задизайненная библиотека. Весь пиздец в том, что ты пишешь "изобретением велосипедов, правкой их багов и обходом вредных свистелок, в то время, когда нормальные люди учились нормальным языкам и не тратили время", и при этом хочешь делать что-то с WinAPI, вместо того, чтобы послушать нормальных людей.
>Ох уж эти форчково-школьные ракомемы. Тебе лет-то сколько вообще?
Мне 27. При чем тут мемы я не понял.

07 Мар, 00:56 #297 #678929

>>678921
Что и как быть? Перекампилировать компилятор?

Ответы>>678931>>678935

07 Мар, 00:57 #298 #678931

>>678929
>Что и как быть?
http://linux.die.net/man/2/mprotect

Ответы>>678935>>678936

07 Мар, 01:00 #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().

07 Мар, 01:00 #300 #678936

>>678931
Что это? Написано он устанавливает защиту на участок памяти, а не снимает. Пример не понял.

Ответы>>678939

07 Мар, 01:04 #301 #678939

>>678936
>>678936
> Написано он устанавливает защиту
> mprotect() changes protection
Что-т ты пиздишь.
> Пример не понял
Забей на mprotect(), выдели место, куда будешь копировать код функции, с помощью mmap() с флагами PROT_EXEC, PROT_READ и PROT_WRITE

Ответы>>678944

07 Мар, 01:06 #302 #678944

>>678939
>Что-т ты пиздишь.
Да. Случайно.
>Забей на mprotect(), выдели место, куда будешь копировать код функции, с помощью mmap() с флагами PROT_EXEC, PROT_READ и PROT_WRITE
Щас сделаю.

Ответы>>678948

07 Мар, 01:08 #303 #678948

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

Будет полезно: http://eli.thegreenplace.net/2013/11/05/how-to-jit-an-introduction

Ответы>>679007

07 Мар, 01:27 #304 #678973

>>678611
Ну что там, бро. Написал уже?

Ответы>>679183

07 Мар, 01:47 #305 #678989

>>677651
Эти картинки. Не могу поверить, что ЭТИ ебонаты уже в профессии.

07 Мар, 02:13 #306 #679007

>>678948
Получилось. Спасибо. А как сделать переносимым?

https://ideone.com/TOretT У меня 75 20 30

Ответы>>679009

07 Мар, 02:17 #307 #679009

>>679007
> А как сделать переносимым?
Как сделать ассемблерный код для процессора переносимым?

Ответы>>679010

07 Мар, 02:20 #308 #679010

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

Ответы>>679011>>679012>>679015

07 Мар, 02:25 #309 #679011

>>679010
>А как это сделано у других?
Тебе в доки llvm прямая дорога

Ответы>>679016

07 Мар, 02:26 #310 #679012

>>679010
То, что я выше кидал, это не особо про JIT. Это про то, как правильно выделить память под запись в неё машкода и выполнение оного.

07 Мар, 02:36 #311 #679015

>>679010
JIT-компилятор - это прежде всего компилятор. Как компиляторы работают?

Ответы>>679016

07 Мар, 02:42 #312 #679016

>>679015
Я в это не вникал. Просто прочитал по диагонали и посмотрел как код этот вставлять.

>>679011
Уже гуглю, но что там конкретно искать?

Ответы>>679020

07 Мар, 02:47 #313 #679020

>>679016
http://eli.thegreenplace.net/2012/11/24/life-of-an-instruction-in-llvm/
http://eli.thegreenplace.net/2013/02/25/a-deeper-look-into-the-llvm-code-generator-part-1

Ответы>>679035

07 Мар, 03:04 #314 #679035

>>679020
Нихуя не понял кроме того что пишут на вики про промежуточный код. Наверно хватит на сегодня. Всем спасибо.

sage 07 Мар, 06:06 #315 #679108

Прочитал абсолютно все книги из шапки, только про qt и boost, и прочие либы не знаю, спокойно решаю задачи на cppquiz. Что мне теперь делать? В тредах пишут работу хуй найдешь.
Кстати, я только в консольке код писал. Не могу в гуи, еще всяких терминов типо тех.лид, фронт енд, бек енд не понимаю.

Ответы>>679109>>679113>>679114>>679115>>679124>>679162

07 Мар, 06:06 #316 #679109

>>679108
сега прилипла

07 Мар, 06:14 #317 #679113

>>679108
А еще STL не очень знаю.

07 Мар, 06:14 #318 #679114

>>679108
>прочитал про qt
>не могу в gui
Это как?

Ответы>>679116

07 Мар, 06:15 #319 #679115

>>679108
Учи CUDA, OpenCL и на апворк.

07 Мар, 06:15 #320 #679116

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

07 Мар, 06:34 #321 #679124

>>679108
Толсто, братиш.

07 Мар, 10:35 #322 #679162

>>679108
Нахуя ты книги то читаешь? Ты код пиши.

07 Мар, 11:18 #323 #679183

>>678973
Я так понимаю, можно официально признать, что код на winapi настолько большой, что его не получилось написать за вечер?

28 Кб, 695x87

07 Мар, 14:54 #324 #679293

Сап аноны. У меня очередной ламерский вопрос. Читая раздел в учебнике, посвященный различным контейнерам и массивам, столкнулся с понятием "указатель (итератор) на элемент после конца массива (контейнера)".
Вопрос, что это за такой "элемент после конца" и нахрена он нужен? Почему не возвращается указатель (итератор) просто на последний элемент? И, тем более, в учебнике сказано, что значение этого самого "элемента после конца" не может быть получено.
Короче, что это за хуйня такая? Я так понимаю, если у нас массив типа int (кстати, сколько там оно занимает? Ну пусть будет 4 байта), то "указатель на элемент после конца массива", это то же самое, что и указатель на последний элемент + 4 байта?
В чем смысл этого понятия, я не понимаю. Может кто-нибудь объяснить?
Пикрелейтед, одно из упоминаний.

Ответы>>679297>>679304

07 Мар, 14:56 #325 #679296

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

Маня, в какой класс ходишь?

07 Мар, 14:56 #326 #679297

>>679293
for(map<int,int>::iterator i=m.begin();i!=m.end();i++)

Ответы>>679309

07 Мар, 15:07 #327 #679304

>>679293
В основном указатель на следующим за последним элементом возвращается из соображений удобности.

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

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

Ответы>>679305>>679308

07 Мар, 15:10 #328 #679305

>>679304
>Что за шарага с таким учебником?
Это и страуструп может быть. Что с ним не так?

Ответы>>679311

07 Мар, 15:13 #329 #679308

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

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

07 Мар, 15:15 #330 #679309

>>679297

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

Ответы>>679310

07 Мар, 15:18 #331 #679310

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

Ещё можно по аналогии с си-массивами делать. Массив размером 5. Сдвиг от нулевого элемента может быть от 0 до 4. А 5 это элемент после последнего.

Ответы>>679312

07 Мар, 15:22 #332 #679311

>>679305
У нас в шараге Страуструп позиционировался как оче сложный, что-то на уровне Кнута. Ботаны читали Шилдта, обычные студенты - методичку.

07 Мар, 15:23 #333 #679312

>>679310

Ну смотри, на пикче, которую я скопипастил из учебника написано про позицию за последним элементом массива или контейнера.
Т.е. последний элемент (про который ты говоришь), это элемент, находящийся на позиции: результат функции end() - 1. Не проще ли сразу было сделать эту функцию, возвращающей итератор или указатель на последний элемент?
Я пытаюсь понять, зачем нужен "элемент идущий после последнего" вместо "последний элемент"?
Нахуя мне элемент, идущий после последнего? Согласно тому же учебнику, я его значение получить не могу. Это просто итератор, либо указатель, указывающий куда-то за конец контейнера либо массива.
На-ху-я он мне нужен? Он мне нахуй не нужен. Покажите, если кто знает, где он нужен, кроме цикла for.
Я не понимаю.

Ответы>>679316>>679376

07 Мар, 15:28 #334 #679316

>>679312
Как часто ты используешь последний элемент? Покажи программу где end() возвращающий итератор на последний элемент полезнее чем тот end() который сейчас. И есть всякие push_back которые упрощают работу с разными контейнерами.

Ответы>>679331>>679334

07 Мар, 15:32 #335 #679321

Говорят, невозможно забыть свою первую женщину и своего первого программиста. И это так.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Ответы>>679323>>680101

07 Мар, 15:34 #336 #679323

>>679321
Что это и зачем оно здесь?

Ответы>>679333

07 Мар, 15:49 #337 #679331

>>679316

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

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

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

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

Ответы>>679332>>679334>>679343

07 Мар, 15:51 #338 #679332

>>679331
>Неужели только для того, чтобы цикл for писать типа удобнее?
Да. В таком end'е смыла и пользы больше чем в другом.

Ответы>>679336

07 Мар, 15:52 #339 #679333

>>679323
Ну ОП раньше графоманил, я тоже решил попробовать.

07 Мар, 15:52 #340 #679334

>>679316
>>679331

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

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

07 Мар, 15:53 #341 #679336

>>679332

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

07 Мар, 16:03 #342 #679343

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

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

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

Ответы>>679410

07 Мар, 16:39 #343 #679376

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

Ответы>>679410

07 Мар, 17:21 #344 #679410

>>679343
>>679376

Большое спасибо за пояснения!

07 Мар, 17:23 #345 #679414

>>676033 (OP)
На ОП-пике Николай II и Ленин?

Ответы>>679419>>679474

07 Мар, 17:27 #346 #679419

>>679414
ОП-пик символизирует террор нового ОПа, шапку, которую мы потеряли, а также предвещает 70 лет сосания для всех анонов ИТТ.

Ответы>>679473

07 Мар, 17:38 #347 #679433

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

Ответы>>679471>>679505

85 Кб, 987x706

07 Мар, 17:39 #348 #679434

не знаю сюда или нет
делал по видео гайду https://www.youtube.com/watch?v=aTZIJc-_nq4
и получил пикрезультат
где там прописывать кодировку?
сразу не посылать в хуй, я только начинаю познавать этот мир

Ответы>>679600

07 Мар, 18:27 #349 #679471

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

07 Мар, 18:27 #350 #679473

>>679419
Прошлый ОП, плиз.

07 Мар, 18:28 #351 #679474

>>679414
Лучше зацени этот. Там Дмитрий и Лжедмитрий. >>677202

175 Кб, 500x480

07 Мар, 18:40 #352 #679489

Че за хуйня, бля.
http://ideone.com/4rn714

Ответы>>679509>>679520

07 Мар, 18:51 #353 #679505

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

07 Мар, 18:53 #354 #679509

>>679489
у тебя референсы сколлапсировали

Ответы>>679511

07 Мар, 18:54 #355 #679511

>>679509
Схуяли? Я так и не понял

07 Мар, 18:55 #356 #679512

Сап, анон. Подскажи, могу ли я в плюсах считать число с помощью cin сразу в две переменные. Нид char и int.

Ответы>>679516>>679532>>679603

07 Мар, 18:59 #357 #679516

>>679512
Нет.

07 Мар, 19:01 #358 #679520

>>679489
NAMED RVALUE REFERENCES ARA LVALUE. Енждой йор ПЛЮСЫ

07 Мар, 19:05 #359 #679532

>>679512
cin >> ch >> i

Ответы>>679538

07 Мар, 19:10 #360 #679538

>>679532
1 значение сразу в две переменные, а не по очереди!

Ответы>>679542>>679550

07 Мар, 19:11 #361 #679540

сап, программач! вопрос, символ | и ctrl+z заканчивают полностью программу или как? в учебнике Стровструпа указано заканчивать ввод подобным методом. Каким образом предотвратить окончание всей программы изза такого?

07 Мар, 19:13 #362 #679542

>>679538
Ну присвое значение одной переменой в другую. Или поясните ему как в cin курсор сдвинуть что-то типа seek а то я умею

07 Мар, 19:15 #363 #679550

>>679538
cin >> ch >> i это тоже самое, что cin >> ch; cin >> i;
так понятнее?

Ответы>>679557

07 Мар, 19:18 #364 #679557

>>679550
да но мне надо не чтобы я вводил два раза число в разные переменные. А чтобы я один раз с клавы ввел число, и мне его записало сразу в int и в ch! на 2 в 2 а 1 в 2

Ответы>>679559

07 Мар, 19:19 #365 #679559

>>679557
cin>>i;
char ch=i;

Ответы>>679562

07 Мар, 19:20 #366 #679562

>>679559
а если я введу допустим буковку в cin то в ch её не будет!

Ответы>>679567

07 Мар, 19:26 #367 #679567

>>679562
без знаковый чар должен сохраниться.

Ответы>>679569>>679663

07 Мар, 19:28 #368 #679569

>>679567
т.е. при
cin >> i;
char ch = i;
и вводе 'h' с клавиатуры. Оно запишет в ch 'h' ? ща протестим

Ответы>>679570>>679584>>679586

16 Кб, 583x90

07 Мар, 19:30 #369 #679570

>>679569
>результат
нулевой!

Ответы>>679571

19 Кб, 583x173

07 Мар, 19:31 #370 #679571

>>679570
>не ту пикчу приклеил
фикс

07 Мар, 19:39 #371 #679584

>>679569
Работает. https://ideone.com/lEEftE
Только как ты собрался читать числа? И зачем? Ведь если считывать число как чар, то он первую цифру считывает.

Ответы>>679585

07 Мар, 19:41 #372 #679585

>>679584
другой порядок! сначало int потом char, а то как ты собрался число например 930 вводить. Ошибочку получишь.

07 Мар, 19:43 #373 #679586

>>679569
Короче. Вводи число. Проверяй поток на fail. Если fail, то в потоке символ. Вызывай clear и вводи символ. Потом преобразуй и всё. Правда я не знаю зачем тебе это нужно.

Ответы>>679591

07 Мар, 19:45 #374 #679591

>>679586
просто чтобы знать это :) и что int передает если введен символ? как проверить?

Ответы>>679598>>679628

07 Мар, 19:50 #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

07 Мар, 19:53 #376 #679600

>>679434
сам разобрался
close = new QPushButton(trUtf8("Выход"));

07 Мар, 19:53 #377 #679601

>>679598
cin.fail() значит? указывает на несоответствие введеного значения относительно типа?

Ответы>>679607

07 Мар, 19:55 #378 #679603

>>679512
Покажи приммер как должна работать тв>>679512
оя программа. Я запутался.

Ответы>>679606

07 Мар, 19:57 #379 #679606

>>679603
int a = 0;
char ch = 's';
cin >> a;
// вот только чтобы тут одновременно значение записывалось в и в "a" и в "ch"! т.е. в обе переменные! а вводить пришлось только 1 раз.

Ответы>>679610

07 Мар, 19:58 #380 #679607

>>679601
>указывает на несоответствие введеного значения относительно типа?
Нет. Проверяет failbit и badbit. Что в каком случае ставится гугли сам.

Ответы>>679609

07 Мар, 19:59 #381 #679609

>>679607
thx

07 Мар, 19:59 #382 #679610

>>679606
Я ввёл 75. Что лешит в каждой из переменных? А если ввиду h?

Ответы>>679614

07 Мар, 20:01 #383 #679614

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

Ответы>>679616

07 Мар, 20:02 #384 #679616

>>679614
То есть тебе надо узнать ввели число или букву?

Ответы>>679619

07 Мар, 20:04 #385 #679619

>>679616
ну, по-сути да, но хочется просто узнать возможно ли без "дублирование" (i=a;) и т.д. сразу в две переменные разных типов считывать

Ответы>>679623

ОТСОС 07 Мар, 20:05 #386 #679622

концептов не будет в с++17
http://honermann.net/blog/?p=3

Ответы>>679625>>679813

07 Мар, 20:05 #387 #679623

>>679619
>но хочется просто узнать возможно ли
Нет. Для таких глупостей инструментов не завезли. Сам пиши если надо.

07 Мар, 20:06 #388 #679625

>>679622
>концептов
Что это?

Ответы>>679626

07 Мар, 20:07 #389 #679626

>>679625
статическая типизация для шаблонов

Ответы>>679627

07 Мар, 20:08 #390 #679627

>>679626
А модули будут?

Ответы>>679667

07 Мар, 20:10 #391 #679628

>>679591
>как проверить?
Здесь почитай http://d.hatena.ne.jp/kkishi/20090423/1240499461

07 Мар, 20:25 #392 #679659

С какими технологиями/ЯП заебись совмещать кресты?

Ответы>>679664>>679712

07 Мар, 20:30 #393 #679663

>>679567
>без знаковый
¿Ya sabes lo que eso significa?

Ответы>>679673

07 Мар, 20:32 #394 #679664

>>679659
C
Asembler
Python

Ответы>>679665

07 Мар, 20:34 #395 #679665

>>679664
И какая работа с каждым из сочетаниев светит?

Ответы>>679668

07 Мар, 20:36 #396 #679667

>>679627
Модули не рассматривались на этой конференции и modules TS не имеют сейчас никаких установленных сроков работы. Плюс есть некоторые срачи на форуме стандартизации по поводу этой фичи. С другой стороны clang и MSVC уже сделали кое-какие реализации модулей, что вселяет надежду, что на следующей конференции рабочая группа уже будет иметь какой-то опыт использования этой хуерги и может быть к чему-то прийдет.

Но пока хз

07 Мар, 20:38 #397 #679668

>>679665
1 и 2 - МК

Ответы>>679686

16 Кб, 675x539

07 Мар, 20:40 #398 #679673

>>679663

07 Мар, 20:44 #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

07 Мар, 20:46 #400 #679683

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

Ответы>>679684>>679688

07 Мар, 20:46 #401 #679684

>>679683
>>679681

29 Кб, 858x192

07 Мар, 20:47 #402 #679686

>>679668
Да ну нахуй.

07 Мар, 20:49 #403 #679688

>>679683
а где разница?

Ответы>>679693>>679696

07 Мар, 20:50 #404 #679693

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

Ответы>>679697

07 Мар, 20:52 #405 #679696

>>679688
; убери, у тебя цикл нихуя не делает

Ответы>>679697

07 Мар, 20:53 #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

07 Мар, 20:54 #407 #679699

>>679697
с вот такими значениями вышло с цикла..почему?

Ответы>>679707

07 Мар, 20:59 #408 #679707

>>679699
Вектора сравнить попробуй.

Ответы>>679710

07 Мар, 21:01 #409 #679710

>>679707
а если вектора больше? Мне надо именно 4 первых значения :(

Ответы>>679714>>679717

07 Мар, 21:01 #410 #679712

>>679659
>>679681
Ниет.
Когда хоть одна не равна, тогда и закончит. Тебе видимо надо ||

Ответы>>679724

07 Мар, 21:01 #411 #679714

>>679710
Сравнивай 4 первых значения.

Ответы>>679721

07 Мар, 21:02 #412 #679717

>>679710
std::equal

07 Мар, 21:04 #413 #679721

>>679714
>>679697

07 Мар, 21:07 #414 #679724

>>679712
ооо, вот оно что, чаю этому господину. Помогла замена && на ||... Сначало не понял почему, но потом сразу допер..... Пока a1!=b1 ИЛИ a2!=b2 ...т.е. как сразу несколько значений для выхода, а если && то при исполнении любого выйдет из цикла, верно? или я опять не прав? )

40 Кб, 490x274

07 Мар, 21:14 #415 #679734

подскажите оптимальный шрифт и цветовую палитру для кодинга

07 Мар, 22:09 #416 #679793

>>679790
Consolas + monokai

07 Мар, 22:20 #417 #679810

>>676033 (OP)
вопрос к знатокам
я интересующийся
есть ли путь программить на c++ кроссплатформенные приложения?
что?где? и как для этого нужно.
или как я понял c++ это сугубо компиляторо зависимый язык как в принцепе и все остальные т.е. на каждой платформе свой c++ и подружить их чтоб они понимали друг друга весьма проблематично, так?
ЕСТЬ ЛИ КРОССПЛАТФОРМЕННЫЙ КОМПИЛЯТОР C++?

Ответы>>679812>>679815>>679849

07 Мар, 22:22 #418 #679812

>>679810
или тогда кроссплатформенная исполняемая среда
типо .exe'шник только для всех платформ
inb4:азазазаз всех затралел

Ответы>>679992

07 Мар, 22:23 #419 #679813

>>679622
>концептов не будет в с++17
> the committee did not say “no” to concepts, it said “not yet.”

Ответы>>679826

07 Мар, 22:29 #420 #679815

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

Ответы>>679848

07 Мар, 22:41 #421 #679826

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

Ответы>>679831

07 Мар, 22:43 #422 #679831

>>679826
>ranges
Что за ranges? Это типа для того, чтобы написать range(max), range(min, max) и range(min, max, step) нужно разрешение Комитета и благословление Страуструпа?

07 Мар, 22:58 #423 #679848

>>679815
он жи чисто под линупс
ответвление вида mingw уже другое жи
а универсальный исполняемый файл для с++ на всех платформах есть?

Ответы>>679856

07 Мар, 22:58 #424 #679849

>>679810
cmake ебаная ты спойлероблядь, гори в аду

Ответы>>679859>>679870

07 Мар, 23:00 #425 #679856

>>679848
>он жи чисто под линупс
Нет.
> ответвление вида mingw уже другое жи
Что там другое?

07 Мар, 23:00 #426 #679859

>>679849
>cmake
Это типа кроссплатформенный компилятор?

07 Мар, 23:06 #427 #679864

а что такое Clang?

07 Мар, 23:09 #428 #679870

>>679849
типо код можно писать хоть в студии
а cmake соберёт код в нужный исходник?

21 Кб, 400x300

08 Мар, 00:19 #429 #679944

Захотел я, значица, посмотреть, что там у вас за с++ такое.
Скачал visual studio. А оно мне и грит, мол, ты - хуй, винда у тебя старая и вообще эксплорер 11й не стоит. С хуев, думаю, старая, если 7я? Ну ладно, скачал эклипс, какой-то хеллоу ворлд из книжки туда переписал. А он мне такой "бинари нот фаунд". Какие на хуй бинари? Мне никто не говорил, что надо писать бинари. Я, блджад, не знаю, что это такое.
Мне, наверное, не надо пытаться в кресты, да?

Ответы>>679947>>679995

sage 08 Мар, 00:22 #430 #679947

>>679944
Тебе надо перестать смешивать язык и IDE.

Начни скромно, аскетично, пох-ристиански: Notepad++ или ещё что с постветкой, компиль командой из консолечки. Авось за твое смирение Бог будет милостив к тебе.

Ответы>>679951

08 Мар, 00:31 #431 #679951

>>679947
Что прямо руками? Ну это как-то противоестественно что ли.

Ответы>>679952

08 Мар, 00:31 #432 #679952

>>679951
Чем ты занимаешься?

Ответы>>679955

08 Мар, 00:34 #433 #679955

>>679952
Пытаюсь найти бинари, которые проебал эклипс.

Ответы>>679965

08 Мар, 00:48 #434 #679965

>>679955
Работаешь кем? Почему ты сразу не попробовал в консоли компилировать?

8 Кб, 610x183

08 Мар, 00:48 #435 #679966

Что за хуйня у меня тут при попытке деструкта, сложна, нихуя не понятно, нихуя!
Конструктор работает, методы работают, а у этого значит "???", что за язык-то такой нипонятный!

Ответы>>679969>>679970>>680103

08 Мар, 00:49 #436 #679969

>>679966
Переустанови винамп.

08 Мар, 00:49 #437 #679970

>>679966
Код покажи.

Ответы>>679972

08 Мар, 01:01 #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

08 Мар, 01:37 #439 #679989

>>679972
На ideone.com

Ответы>>680087

08 Мар, 01:40 #440 #679992

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

Ответы>>680551

08 Мар, 01:43 #441 #679995

>>679944
Windows sdk и из консоли cl.exe
> windows 7
> нет ie 11
Наотключают апдейты, а потом у них не работает нихуя.

08 Мар, 09:51 #442 #680087

>>679972
>>679989
http://ideone.com/M6LzmV

Ответы>>680089>>680098>>680156

08 Мар, 09:55 #443 #680089

>>680087
Отдельной функцией главное чистит, а как деструктором, так "???" вместо всего

Ответы>>680100

08 Мар, 10:09 #444 #680098

>>680087
Особо код не смотрел, но, как я понял, ты после удаления можешь ещё раз удалить данные (один раз в методе и в деструкторе). После удаления присвой указателю nullptr. Иначе ты пытаешься удалить уже удаленное. А вообще запускай отладчик и смотри на какой строчке вылетает.

Ответы>>680100>>680103

08 Мар, 10:12 #445 #680100

>>680089
>>680098

for (int i = 0; i < x; ++i) {
delete[]elem;
elem = nullptr;
}
delete[] elem;
elem = nullptr;

43 Кб, 544x640

08 Мар, 10:12 #446 #680101

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

08 Мар, 10:14 #447 #680103

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

Скрин
>>679966

Ответы>>680107>>680109

08 Мар, 10:22 #448 #680107

>>680103
Ты создаёшь 1 экземпляр Sqmatrix, а удалить пытаешься 20 штук.
Также:
>delete[]arr;
delete arr;

Ответы>>680110>>680111>>680120

08 Мар, 10:23 #449 #680109

>>680103
А блин тупанул. Поспать нужно.
Вместо delete[]elem; нужно delete elem;. И nullptr расставь.

Ответы>>680111

08 Мар, 10:23 #450 #680110

>>680107
>delete[ ]arr[ i ];
delete arr[ i ];
Fix

08 Мар, 10:23 #451 #680111

>>680107
>>680109
Опередил

08 Мар, 10:47 #452 #680120

>>680107
Далее проверки будут.
Но ведь так деструктор вообще не вызывается, так надо?

Ответы>>680121

08 Мар, 10:50 #453 #680121

>>680120
хотя стоп, вроде все чистит. Спасибо, анон!

08 Мар, 11:31 #454 #680135

>>678752
Неправда, редистры можно статически линковать поменяв всего лишь одну опцию в параметрах проекта visual studio. Бинарник немного увеличится, но это не проблемма.

sage 08 Мар, 12:01 #455 #680156

>>680087
> 2016
> new, delete
Пиздец.

Ответы>>680160

08 Мар, 12:07 #456 #680160

>>680156
Что вместо него использовать?

Ответы>>680162>>680164>>680165

08 Мар, 12:10 #457 #680162

>>680160
malloc, free?

Или как разработчики Google Chrome, к примеру. Ничего.

Ответы>>680167>>680168>>680192

08 Мар, 12:11 #458 #680164

>>680160
std::vector<std::vector<int> > Matritsa(n, std::vector<int>(m));

sage 08 Мар, 12:12 #459 #680165

>>680160
Можешь std::vector <std::vector <int> > заэмбеддить.
Можешь std::unique_ptr на вектор векторов, если хочешь, чтоб класс потоньше был.

sage 08 Мар, 12:13 #460 #680167

>>680162
> malloc, free
Проиграл с толстячка.

08 Мар, 12:13 #461 #680168

>>680162
> malloc, free
> 21 век

Ответы>>680170

sage 08 Мар, 12:14 #462 #680170

>>680168
С ними всё нормально для 21-го века.
Просто þред про C++.

08 Мар, 12:21 #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

08 Мар, 12:22 #464 #680174

>>680173
Распидорасило как всегда.

Ответы>>680187

08 Мар, 12:35 #465 #680180

Анончики, а почему в шапке нет этого https://www.youtube.com/user/VladimirMozhenkov
И да, я помню, как он дрочил на камеру, но видео у него намного лучше, чем у того школьника, который в шапке.

08 Мар, 12:40 #466 #680187

>>680174
На пастебин залей.

Ответы>>680189

08 Мар, 12:40 #467 #680188

Мод, кто правильный оп? Как посмотреть результаты голосования?

08 Мар, 12:42 #468 #680189

>>680187
http://ideone.com/nQlUNk

Ответы>>680193

08 Мар, 12:47 #469 #680192

>>680162
И как же разработчики хрома это делают? Каштомным аллокатором?

Ответы>>680195

08 Мар, 12:48 #470 #680193

>>680189
Идиот. На заливай больше на идеон если код не надо компилировать.

Ответы>>680198

08 Мар, 12:50 #471 #680195

>>680192
malloc, free

Ответы>>680208

08 Мар, 12:51 #472 #680198

>>680193
Ну извини. Я кушал вафлю и дотрагиваться до клавиатуры не сильно хотелось, а вкладка с ideone у меня была открыта.

08 Мар, 12:58 #473 #680206

на онлайн-компиляторах не работают рекурсивные функции, это нормально?

Ответы>>680218

08 Мар, 12:59 #474 #680208

>>680195
А конкретные пруфы будут? Самому браузить 10гб текста не хочется чёто. В том же google code style везде используется new с delete.

Ответы>>680209

08 Мар, 13:02 #475 #680209

>>680208
Бля да ну прекрати реагировать на такую толстоту. new и delete появились потому, чтобы не было ошибок при использовании malloc, когда sizeof берется неправильно

08 Мар, 13:31 #476 #680218

>>680206
>это нормально
Нет.

08 Мар, 14:33 #477 #680275

Подкиньте ссылку на telegram конфу

Ответы>>680277

08 Мар, 14:34 #478 #680277

>>680275
А она есть?

Ответы>>680282

08 Мар, 14:38 #479 #680282

>>680277
https://invite-me-to-2chpr.herokuapp.com

Ответы>>680290

08 Мар, 14:44 #480 #680290

>>680282
это не телеграм

Ответы>>680744

08 Мар, 15:51 #481 #680364

Мужики, почти заканчиваю читать Страуса для ньюфагов. Хочу буста навернуть особенно iostreams библиотеку. Ну вот вопрос, как написано в шапке, если не использовать бОльшую часть библиотек, то лучше отказаться от использования буста. Окей, а чем можно заменить, если тебе что-то нужно конкретно или писать свои костыли каким-нибудь образом?

Ответы>>680378>>680385>>680389

08 Мар, 16:01 #482 #680378

>>680364
Что конкретно тебе нужно?

Ответы>>680396

08 Мар, 16:04 #483 #680385

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

Ответы>>680396

08 Мар, 16:05 #484 #680389

>>680364
>iostreams
Lib весит всего 2.5 мб. Можешь спокойно юзать.

62 Кб, 600x450

08 Мар, 16:12 #485 #680395

>>676033 (OP)
Учусь по этому гайду:
>- Еще один - [YouTube] Уроки по С++.1 урок.Как создать программу?
Уже уроверь 5 - циклы.

Поясните мне вот что: есть циклы for, while, do while.
С первым вроде всё ясно.
Со вторым тоже ясно и там можно добавить break.
Но нахуя нужен третий если всё можно сделать в первых двух?
Объясните разницу.

Ответы>>680463>>681071

08 Мар, 16:12 #486 #680396

>>680378
В смысле что нужно? Библиотека iostreams или ты имеешь ввиду для чего? Поиграться, там же много всяких свистелок, я думаю. Потом хочу asio обмазаться, правда придется комп. сетями ещё. В общем не суть.
>>680385
Не всю, а это помешает мне с библиотеками буста играться?

Ответы>>680403>>680552

08 Мар, 16:15 #487 #680403

>>680396
проиграешь

08 Мар, 16:42 #488 #680440

Установил тут VS15, она вытянула 12гб всякого говна и это я еще по минимуму галочек поставил, только то, что к крестам относилось. Еще и лэнгпак на 2гб, что они туда напихали?

08 Мар, 16:43 #489 #680442

Можно ли на VS2010 сделать поддержку C++14?

Ответы>>680450>>680556

08 Мар, 16:47 #490 #680450

>>680442
Её в 15 студии-то не завезли, куда там.
Можно попробовать заменить компилятор на последний из Windows SDK, только. Совместимы ли там флаги и тд – другой вопрос.

08 Мар, 16:55 #491 #680463

>>680395
Когда тебе нужно, чтобы цикл обязательно выполнялся хоть один раз и не хочется ради это велосипедить флаг. По факту, используется редко.

08 Мар, 17:47 #492 #680551

>>679992
типо питона, жавы, руби и т.д.?

08 Мар, 17:47 #493 #680552

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

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

08 Мар, 17:48 #494 #680556

>>680442
Ох уж эти VS-холопы.

мимо clang-боярин

08 Мар, 18:26 #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? Формулировки здесь иногда выносят мозг.

08 Мар, 18:45 #496 #680651

Подскажите что-нибудь по WinAPI почитать

Ответы>>680653>>680655>>680666

08 Мар, 18:46 #497 #680653

>>680651
Рихтер.

Ответы>>680666>>680799

08 Мар, 18:46 #498 #680655

>>680651
Джеффри Рихтер.

Ответы>>680666>>680799

08 Мар, 18:49 #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

08 Мар, 18:50 #500 #680666

>>680651
>>680653
>>680655

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

Ответы>>680699>>680799

08 Мар, 18:54 #501 #680672

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

Уже понял, в случае rvalue, _t будет иметь тип T

08 Мар, 19:04 #502 #680699

>>680666
Эээ, ты, даун, спутал дебика который предлагает делать гуй на винапи, и адекватных людей, интересующихся околосистемщиной. Как минимум 1 мой коммент про Д. Рихтера не семёновский.

Ответы>>680704

08 Мар, 19:06 #503 #680704

>>680699
>околосистемщиной
Мам, у нас тут хакер.

Ответы>>680798>>681073

08 Мар, 19:36 #504 #680744

>>680290
Спалили быдлу годноту, а он еще ебало воротит. Ну и иди на хуй, дегенерат.

34 Кб, 492x366

## Mod ## 08 Мар, 19:42 #505 #680752

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

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

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

Ответы>>680796>>680829

08 Мар, 20:13 #506 #680794

Анон, посоветуй книгу по C++, прочтением и освоением которой ты бы гордился.

08 Мар, 20:14 #507 #680796

>>680752
А если в один пост не помещается?

Ответы>>680823

08 Мар, 20:15 #508 #680798

>>680704
Ебать, мочератор понял что сказанул хуйню про криптеры и потёр посты. Крудошлёп не палится.

08 Мар, 20:16 #509 #680799

>>680653
>>680655
Thx
>>680666
Нет, я чувак, который хочет поучаствовать в GSoC в ReactOS. У этих наркомановняшек пакетный менеджер использует winapi, код написан без комментариев вообще, но вроде несложный.

08 Мар, 20:41 #510 #680823

>>680796
Несущественно же, можно сделать со спойлерами, если слишком большая.

44 Кб, 377x336

08 Мар, 20:47 #511 #680829

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

Ответы>>680833>>680835>>680836

08 Мар, 20:50 #512 #680833

>>680829
Да нихуя, сейчас всего две или три IDE поддерживают автодополнение для STL C++11 из коробки. И в студии оно наименее кривое.

Ответы>>680838

08 Мар, 20:50 #513 #680835

>>680829
Ты просто не умеешь ее готовить

Ответы>>680838

08 Мар, 20:50 #514 #680836

>>680829
Алсо, не добавить QtCreator, Eclipse CDT и XCode в список основных, это надо уметь.

Ответы>>680839

08 Мар, 20:52 #515 #680838

>>680835
>>680833

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

Ответы>>680843>>680846

13 Кб, 257x245

08 Мар, 20:53 #516 #680839

>>680836
>Eclipse
>основных
>С++

08 Мар, 20:54 #517 #680841

Всем известно, что лучшая среда разработки, не имеющая аналогов это QtCreator.

Ответы>>680848

08 Мар, 20:54 #518 #680843

>>680838
Рукожопый, плиз
> И сейчас оно только сильнее лагать начало.
Может пора свой калькулятор на что-то адекватное поменять?

Ответы>>680860

08 Мар, 20:55 #519 #680846

>>680838
Ну хуй знает. У меня на исходниках boost прекрасно пашет. Ты туда мамку свою штоле загрузил, что оно сломалось?

Ответы>>680860

08 Мар, 20:57 #520 #680848

>>680841
Qt это ебаный чужой, который надел на себя C++, а внутри пиздец с велосипедами и макрогенерацией.

Ответы>>680851

08 Мар, 21:01 #521 #680851

>>680848
>макрогенерацией
Как что-то плохое. Главное, что все правила ООП не нарушены, а наоборот выполнены.

08 Мар, 21:13 #522 #680860

>>680843
>>680846

Машины у всех dev'ов были i7 haswell. Размер кода не помню, компилилась эта байда 1 час 20 минут на -j8. Единственной IDE, которая нормально жрала исходники, была eclipse cdt. Как по скорости анализа, так и по функциональности и скорости навигации. Как там type hierarchy с call hierarchy поживают на студии, лол? Рефакторинг тоже тормозил и частенько лажал: вот это вообще самая мякотка была, откатывать эти изменения. Короче, студия была только у ценителей работы без ассиста, но зато с нормальным дебагером.

Ответы>>681006

09 Мар, 00:37 #523 #681006

>>680860
Полтора гига сорсов, 8 миллионов локов, эклипс тормозит что пиздец.
Вим/саблайм наше всё.

Ответы>>681014

09 Мар, 00:55 #524 #681014

>>681006
kdevelop

Ответы>>681023

09 Мар, 01:06 #525 #681023

>>681014
Вот, кстати, не пробовал.
Потестирую на досуге.

105 Кб, 1252x1252

09 Мар, 01:24 #526 #681034

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

Ответы>>681056

09 Мар, 01:48 #527 #681056

>>681034
>Как же хочется перекатика.
Пили, хуле ноешь

Ответы>>681059

36 Кб, 604x518

09 Мар, 01:50 #528 #681059

>>681056
Но я не ОП.

sage 09 Мар, 02:13 #529 #681071

>>680395
>Но нахуя нужен третий если всё можно сделать в первых двух?
Нахуя вообще циклы, я и на goto могу всё налапшевать.

sage 09 Мар, 02:18 #530 #681073

>>680704
>>околосистемщиной
>Мам, у нас тут хакер.
Системозависимый API это и есть системщина, даун.

09 Мар, 02:25 #531 #681077

Добавьте в седьмой пункт при перекате
https://github.com/isocpp/CppCoreGuidelines/blob/master/CppCoreGuidelines.md

Ответы>>681078

09 Мар, 02:26 #532 #681078

>>681077
И ещё, думаю, можно добавить https://www.reddit.com/r/cpp/

Ответы>>681079

09 Мар, 02:29 #533 #681079

>>681078
Тогда и это.
http://bfy.tw/4eYJ

09 Мар, 08:56 #534 #681202

>>676033 (OP)
ЗАПИЛИТЕ В ШАПКУ
Там любой даун найдет ответ на вопрос.
https://invite-me-to-2chpr.herokuapp.com

09 Мар, 10:32 #535 #681230

ВНЕЗАПНО решил обмазаться плюсами, знаю только похапе, опыт разработки года полтора-два. Легкое гугление предложило мне установить на мой арч qtcreator. Шапку треда прочел, хочу каких-нибудь пожеланий, советов от опытных анонов. Хочу в кроссплатформенную разработку.

Ответы>>681232>>681237

09 Мар, 10:33 #536 #681232

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

Ответы>>681234

09 Мар, 10:35 #537 #681234

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

94 Кб, 503x711

09 Мар, 10:45 #538 #681237

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

09 Мар, 13:23 #539 #681352

НОВЫЙ ТРЕД

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

Мод, перекатывай шапку.

09 Мар, 16:09 #540 #681547

>>676379
1) Темлейты тормозят компиляцию - значит можно не бояться остаться без работы, именно поэтому все любят и боготворят буст!
2) РТТИ сосёт, потому что делает не то что от него тербуется - значит можно не бояться остаться остаться без работы, необходимо пробовать велосипеды с первых трёх ссылок на стэкоферфлоу.
3) Классы сосут, потому что надо выкладывать хэдеры - значит можно не бояться остаться без работы, нужно будет засунуть каждый класс большого проекта в пимпл.

10 Мар, 16:03 #541 #682651

Котаны, хочу сделать "WebGUI" на QT. Но сделать это хочется по простому, есть страница с элементарным гуи на html и логикой на javascript.
Статей нормальных не нашёл. Отправлять команды на javascript я знаю как, но как можно принимать команды от javascript(может можно каллбеки какие-поставить и т.д.)?

10 Мар, 19:46 #542 #682936

Посоветуйте легкую графическую библиотеку для работы с 2д графикой

Ответы>>683017>>683327

10 Мар, 20:51 #543 #683017

>>682936
1. SFML
2. SDL

11 Мар, 00:10 #544 #683327

>>682936
GLFW

Ответы>>687598

14 Мар, 15:18 #545 #687521

Товарищи, вопрос ньюфани. Нужно что-то вроде деки, добавление/удаление с конца/начала.
Как добавить и удалять так, чтобы не терять указатели? В гугле нашел только через массивы
Пробовал вот так : http://pastebin.com/67huiePb
Осторожно, C++/CLI, но видно что то теряю

14 Мар, 16:24 #546 #687598

>>683327
удвою

61 Кб, 504x600

16 Мар, 15:51 #547 #689770

Ребзя. В общем, мне послезавтра идти на работу, где я напиздел, что могу немного в С++. От меня многого не ждут, но тем не менее нужно вкатиться максимально быстро и чуть-чуть глубже чем "Hello World". Помогите ресурсом или советом как можно за сутки достичь того уровня, что я описал.

24 Мар, 12:47 #548 #696960

Пирикатываю вопрос >>696959

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

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.

« /pr/В начало тредаВеб-версияНастройки/a//b//mu//s//vg/Все доски

Пользуетесь скринридером — пишите, что можно улучшить.
Host-Food.ru — надёжный хостинг от 12 руб/мес | Free DNS
Зеркала М.Двача: m2ch.hk, m2ch.lib, m2chfapiswfw2wcakptqp4o6ltgchvjuxfab7urxlduraomtlnhw5xad.onion