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

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

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

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

38 Кб, 716x432

41 Кб, 594x429

Нелегитимный™ нетрадиционный® C++ тред #20 06 Фев, 03:23 #644656 В конец треда | Веб

НАДОЕЛИ JAVA-БЛЯДИ? ТОШНИТ ОТ WEB-МАКАК? ХОЧЕТСЯ ПИСАТЬ КОД, КОТОРЫЙ ДЕЛАЕТ СИРИУС ШИТ?
ДОБРО ПОЖАЛОВАТЬ В C++ ТРЕД, MOTHERFUCKER!

1. Почему стоит использовать именно C++:
- C++ действительно быстрый - по скорости уделывают любой язык, часто - с большим отрывом. Замедление относительно 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®
- Только *nix: Компилим через консольку с помощью clang или, в крайнем случае, gcc (если хочется смотреть на охуительные мессаги)
- Для тех, кто капчует с домофона: http://ideone.com

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

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

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

Ответы>>644660>>644941>>645048>>645077>>645391>>647611>>653266

06 Фев, 03:27 #2 #644660

>>644656 (OP)
Зачем девочке такой большой бантик на голове?

Ответы>>644662

06 Фев, 03:27 #3 #644661

Исходники шапки: http://pastebin.com/ggQWbuFA

06 Фев, 03:28 #4 #644662

>>644660

А хуй его знает

06 Фев, 03:48 #5 #644667

А где поэма? Какого хуя? ОП ТО НЕНАСТОЯЩИЙ!

Ответы>>644670

06 Фев, 04:00 #6 #644668

Че там анон с цтфом?
Хотел тоже побегать да суки регу не шлют

Ответы>>644761

06 Фев, 04:02 #7 #644670

>>644667
Ещё и картинки - хуйня из гугла. Вангую в ОПе студентобыдло. Предлагаю его обоссать.

Ответы>>644722

06 Фев, 10:10 #8 #644722

>>644670
Ждем, что скажет настоящий оп

Ответы>>644727>>645428

06 Фев, 10:37 #9 #644727

>>644722
ОП-мудель не может тред перекатить 4-й день, студентопидор все правильно сделал.

Ответы>>645428

06 Фев, 11:38 #10 #644761

>>644668
Я тут.

06 Фев, 12:39 #11 #644804

Аноны, подскажите идею проекта с использованием Boost, C++, WinAPI(набор может отличаться, главное чтобы какая-нибудь системная хуйня) чтобы было реально сделать новичку и чтобы результат понравился работадателю при собеседовании на Junior'а(Сам нихуя не знаю кроме плюсов)

Ответы>>644806>>644814

06 Фев, 12:42 #12 #644806

>>644804
>Boost + WinAPI
зачем

Ответы>>644807

06 Фев, 12:43 #13 #644807

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

Ответы>>644817

06 Фев, 12:52 #14 #644814

>>644804
Убери winapi, возьми qt. Если работодатель что-то делает на чистом winapi, поверь, ты и сам не захочешь там работать. Но, winapi все равно надо знать, чтобы понимать как оно внутри устроено.

Ответы>>644834

06 Фев, 13:04 #15 #644817

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

Ответы>>644839>>644840

06 Фев, 13:28 #16 #644834

>>644814
на хуй win api. Тебе это самому не выгодно, лучше выучить QT и linux, хочет работодатель win api, ищешь другого. На многих местах работы ты сам сможешь диктовать работодателю на чем делать проект. Вот смотри у тебя есть год времени, ты можешь потратить его на
1. Изучение win api
2. Изучение QT
Через год изучения QT, пусть глубокого ты сможешь с высокой скоростью выполнять сложные кроссплатформенные проекты, а после года win api тебя возьмут в говнопарашу поддерживать легаси. Я исхожу из того, что все мы стремимся к звездам.

06 Фев, 13:31 #17 #644839

>>644817
ликвидность и польза этих знаний минимальна
java - windows, android, linux можно начать все с нуля с новой командой и выйти в люди
winapi - работа с командой>40, где ты хуй продвинешься

Ответы>>644913

06 Фев, 13:32 #18 #644840

>>644817
не, слушай, если работодатель будет достойно оплачивать это говноедство то пожалуйста

Ответы>>644902>>644913

06 Фев, 14:23 #19 #644902

>>644840

не, слушай этого пидора. Если тебе там будут нормально платить, то и в нормальных местах платить будут хорошо. Зачем же себе жизнь гробить, используя платформо-зависимый gui фреймворк 98 года выпуска, в котором даже ООП нет? К слову, если захочется попробовать MFC - отбрось эту идею, это то же говно, но слегка обернутое в ООП.
Учи лучше сразу Qt

06 Фев, 14:40 #20 #644913

>>644839
Я про это и говорил, стагнация-с.
Платформозависимый код потихоньку уходит из плюсов (потоки теперь в std есть, в с++17 хотят добавить работу с сетью и IPC, файловую систему ту же, а то, чего нет в std, есть в boost).
>>644840
Платить-то будут, только развития как разработчика не будет.

06 Фев, 14:45 #21 #644918

И снова здравствуйте. Это вчерашний хуй с CTF. Я так и не решил задание. В данный момент код работает верно, но остаётся 3 уязвимостей с утечкой памяти. Есть предположение что дело в GetCommandLine и printf. Вот сам код - http://pastebin.com/s0GSq1sC

Помогите пожалуйста. Я дико извиняюсь, но пойти с этим некуда больше.

Ответы>>644926>>644929>>644931>>644937>>644952>>644976>>644978

06 Фев, 14:53 #22 #644926

>>644918
А ещё есть предположение что фиксить нужно проверку repeat'a.

06 Фев, 14:56 #23 #644929

>>644918
Что такое CTF?

Ответы>>644930

06 Фев, 14:58 #24 #644930

>>644929
Командная игра. Capture the Flag.

06 Фев, 14:59 #25 #644931

>>644918
И откуда ты этот код тащишь? Может я вместо того, чтобы тебе здесь подсказывать, зайду за ту же команду и решу и так все задания?

Ответы>>644933

06 Фев, 15:00 #26 #644933

>>644931
http://ctf.sharif.edu
Ну, там по С++ только два задания.

Ответы>>644935

06 Фев, 15:01 #27 #644935

>>644933
И как за твою тиму зайти?

Ответы>>644936>>644938

06 Фев, 15:02 #28 #644936

>>644935
Уже никак.

06 Фев, 15:03 #29 #644937

>>644918
Циклы while (2 штуки) могут за буфер выйти. В 35 строке UB - указатель указывающий на массив значений в памяти нельзя (UB) перемещать на позицию влево от этого массива. Указатель можно перемещать только по массиву и на одну позицию справа от массива.

Ответы>>644946

06 Фев, 15:03 #30 #644938

>>644935
http://ctf.sharif.edu:39455/chal/sec/problem.php?problem=ctf6_seccoding2
Есть вот эта страница. Это как раз то самое задание с этим кодом. Его можно скачать и проверить там же без смс без регистрации.

06 Фев, 15:08 #31 #644941

>>644656 (OP)
Похоже из шапки пропало что-то важное. И это не стишок. Может по Qt и boost чего урезал? Верни нумерацию и старые треды первым постом.

Ответы>>645003

06 Фев, 15:15 #32 #644946

>>644937
>Указатель можно перемещать только по массиву и на одну позицию справа от массива
Что хочу, то и делаю. Если хочу исследовать окружающее адресной пространство, где потерялась твоя мамка, то мне ничто не помешает это сделать.

Ответы>>644967

06 Фев, 15:15 #33 #644947

Так, господа. Есть ли свежая литра по STL? в шапке гниль за 2002-й год
И есть ли вообще в природе лит-ра по бусту? Кроме той книжки про графы, разумеется.

Ответы>>644993

06 Фев, 15:32 #34 #644952

>>644918
Ну помогите с кодом. Все ж мы люди в самом деле.

06 Фев, 15:47 #35 #644960

c++ курсач

Есть ли у кого-то исходники подобной игры?

«Сбей самолет». По экрану летят вражеские самолеты. Цель – сбить их. Пусковая установка находится на нижней строке экрана. Пусковую установку можно перемещать влево или вправо.

Ответы>>644995>>645961>>645976

06 Фев, 15:57 #36 #644967

>>644946
Проиграл с борцуна. Жалко только что когда ты перемещаешь указатель за пределы буфера (включая один элемент прямо после него) то разработчик компилятора может всунуть выполнение любых действий, к примеру начать майнить битки - и это будет 100% соответствовать стандарту.

Ответы>>644983

06 Фев, 16:16 #37 #644976

>>644918
Сишники в другом загоне тусуются >>629715 (OP). Съеби туда и strncmp свои захвати.

Ответы>>644979

06 Фев, 16:17 #38 #644978

>>644918
Этот твой цтф, сука, он меня бесит. Нахуя он зануляет аргумент в конце? Без этого не проходит.
atoi генерирует УБ если repeat выйдет за пределы инта. Какие еще уязвимости остались?

Все еще сижу над этим говном.

Ответы>>644979>>644981

06 Фев, 16:19 #39 #644979

>>644976
Код на С++ написан вообще-то.
>>644978
Всё, решил задание своими силами. Сейчас кину решение.

Ответы>>645023

06 Фев, 16:20 #40 #644981

>>644978
А какие ты нашёл? Переполнение и утечка?

Ответы>>644996

12 Кб, 200x200

06 Фев, 16:21 #41 #644983

>>644967
>к примеру начать майнить битки

Ответы>>644992

06 Фев, 16:28 #42 #644986

По CTF. Я решил выделить всё под локальный стек и заменил чары на строки. Флаг выдали. Спасибо кто помогал.

Ответы>>644996

06 Фев, 16:31 #43 #644992

>>644983
> Ты пиздатый хакер
> Нашёл уязвимость на серверах гугла
> Ожидаешь падение всех серверов гугла
> Указатель вышел за границы буфера
> Все датацентры гугла массово майнят бетки
> Гугл богатейшая компания мира
> Забивает на все свои проекты и продолжает лихорадочно майнить битки

06 Фев, 16:32 #44 #644993

>>644947
Внимательней смотри.
>- Николаи Джоссатис - C++. Стандартная библиотека (2012) - https://goo.gl/PEyiMH
>И есть ли вообще в природе лит-ра по бусту?
Я думаю её дохуя, например, Antony Polukhin - Boost C++ Application Development Cookbook, но буст НЕНУЖЕН.

Ответы>>645004>>652506

06 Фев, 16:33 #45 #644995

>>644960
Поможите же.

Ответы>>645046

06 Фев, 16:33 #46 #644996

>>644986
Скинь в пастбин посмотреть.
>>644981
Да.

06 Фев, 16:37 #47 #645003

>>644941
Всякое говно убрал из FAQ по типу "C++ сосет у %languagename, зачем я сюда зошол?"

Ответы>>645009

06 Фев, 16:37 #48 #645004

>>644993
Джосатис не совсем про STL

Ответы>>645011

06 Фев, 16:39 #49 #645009

>>645003
Да и FAQ к хуям снес. Предыдущий ОП сделал такой вырвиглазный пиздец с разметкой, что ояебу.

50 Кб, 548x350

06 Фев, 16:41 #50 #645011

>>645004
Ну да, конечно.

Ответы>>645013

06 Фев, 16:41 #51 #645013

>>645011
Содержание посмотри. Про STL только 1 глова.

Ответы>>645014>>645017>>645023

06 Фев, 16:42 #52 #645014

>>645013
>глова
глава конечно

166 Кб, 1388x384

06 Фев, 16:43 #53 #645017

>>645013
Ну да, как же.

Ответы>>645018

06 Фев, 16:44 #54 #645018

>>645017
А ну тогда пойдёт. Нверно с какой-то другой книгой перепутал где про STL обещали и целую главу дэбагеру посветили. Если что я мимо проходил, а не тот кто книгу реквестил.

62 Кб, 496x683

06 Фев, 16:48 #55 #645023

>>644979
>Код на С++ написан вообще-то.
Если честно, то в каком месте?
Не вижу ни одной особенности с++.
>>645013
>Содержание посмотри. Про STL только 1 глова.

Ответы>>645030

06 Фев, 16:56 #56 #645030

>>645023
Где это у тебя нормальное оглавление? В djvu?

Ответы>>645032>>645037

45 Кб, 413x671

06 Фев, 16:59 #57 #645032

>>645030
У меня круче. Вот как можно делать.

Ответы>>645038

06 Фев, 17:05 #58 #645037

>>645030
Да, держи
https://yadi.sk/d/Nc8AFDmZoQ9RF

Ответы>>645040

06 Фев, 17:06 #59 #645038

>>645032
Да молодец, откуда оно? И в каком формате книга?
Блядский Вильямс как всегда не продает электронные копии, поэтому приходится довольствоваться либо самописным оглавлением в djvu, либо никаким оглавлением в pdf после конвертации.

Ответы>>645039

06 Фев, 17:07 #60 #645039

>>645038
>откуда оно?
Может из шапки?

06 Фев, 17:07 #61 #645040

>>645037
Спасибо, но ебал я в рот этот djvu. На mac нет нормального вьювера для djvu. Поэтому я всегда конверчу в pdf, но при этом теряется оглавление.

Ответы>>645042>>645109>>645112

06 Фев, 17:08 #62 #645042

>>645040
>Поэтому я всегда конверчу в pdf
Я этот файл конвертил и он 800 мегабайт получился.

Ответы>>645045

06 Фев, 17:10 #63 #645045

>>645042
У меня 450

06 Фев, 17:10 #64 #645046

>>644995
Бери Qt и делай, хуле.
Алсо, я думаю ты гонишь, если курсач - вряд ли там жесткая привязка к языку. Нафиг тебе для этой цели всрался с++?

Ответы>>645047>>645104

06 Фев, 17:12 #65 #645047

>>645046
Qt тормошить ради такой простенькой задачи? Можно с помощью SFML эту херню за пару часов написать.

Ответы>>645050

sage 06 Фев, 17:13 #66 #645048

>>644656 (OP)
Где поэма? Обоссал нелегитимный тред, ввёл войска.

алёноненавистник

Ответы>>645428

06 Фев, 17:14 #67 #645050

>>645047
Qt один хуй придется делать. Эта задача у него не единственная - будут потом и другие.

Так зачем кроме qt пробовать какую то другу. неизвестную ебань?

Ответы>>645052>>645064

06 Фев, 17:15 #68 #645052

>>645050
>Qt один хуй придется делать.
С Qt один хуй придется иметь дело
самофикс

06 Фев, 17:28 #69 #645064

>>645050
Не обязательно, вдруг будет GTK использовать или вообще не будет с GUI на плюсах работать.
Или вообще не будет с++ использовать.

Ответы>>645068

06 Фев, 17:29 #70 #645068

>>645064
>вдруг будет GTK использовать
Некросплатформенная параша, только для гуя - и вообще, внезапно, сишная.

06 Фев, 17:36 #71 #645077

>>644656 (OP)
Сейчас часто встречаются вакансии программиста на чистом C.
Кто-нибудь может мне обьяснить... ЗАЧЕМ?

Ответы>>645078>>645094>>646714

06 Фев, 17:36 #72 #645078

>>645077
Ну, возможно - ебашить что нибудь с линупсячьим ядром.
А что?

Ответы>>645090

33 Кб, 604x383

06 Фев, 17:43 #73 #645083

Есть ли разница в быстродействии плюсов или джавы, если для расчётов я буду использовать библиотеки для GPU, например CUDA?

Ответы>>645086>>645087>>645092>>645097>>645163

06 Фев, 17:44 #74 #645086

>>645083
Блять, возьми да проверь.

06 Фев, 17:44 #75 #645087

>>645083
джава всегда медленее

Ответы>>645091

06 Фев, 17:45 #76 #645090

>>645078
Ну просто не совсем понимаю сути. Есть же C++, чем он мешает то?

Ответы>>645093>>645097>>645123

86 Кб, 1280x720

06 Фев, 17:45 #77 #645091

>>645087
>ассемблер всегда быстрее си

06 Фев, 17:46 #78 #645092

>>645083
>Есть ли разница в быстродействии плюсов или джавы
Джава будет медленнее.

06 Фев, 17:46 #79 #645093

>>645090
Но ведро то на си написано.
Напиши свое ведро для ОС, сделай его стандартом везде и повсюду.

Ответы>>645095

06 Фев, 17:46 #80 #645094

>>645077
Системщина, легасиговно, эмбдед - дохуя всего.

Ответы>>645095

06 Фев, 17:47 #81 #645095

>>645093
>>645094
Спасибо за ответы.

Ответы>>645117

06 Фев, 17:47 #82 #645097

>>645090
Тем что Линус НЕ ОДОБРЯЭ.
>>645083
На CPU и оперативке ботлнека не случится.

Ответы>>645101

06 Фев, 17:50 #83 #645101

>>645097
Зато случатся ошибки с шаблончиками на 100500 страниц, ошибки с кокозателями, вылеты за массивы, утечки памяти и еще овер9000 всякого говна и ебли.

Ответы>>645103>>645107>>645110

06 Фев, 17:52 #84 #645103

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

06 Фев, 17:54 #85 #645104

>>645046
Препод грит без QT и на c++ онли делать.

Ответы>>645106>>645108>>645111

06 Фев, 17:56 #86 #645106

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

Ответы>>645114

06 Фев, 17:58 #87 #645107

>>645101
>шаблончиками
>кокозателями
>вычисления
У тебя проблемы с восприятием реальности если видишь связь.
>вылеты за массивы, утечки памяти
Сказал будто жява от них полностью освобождена.
Ну а когда у тебя GC начнёт останавливать мир, и система пойдёт свопы - забудь про поспевание за GPU.

06 Фев, 17:58 #88 #645108

>>645104
Да любой SDL возьми и не еби мозга.

06 Фев, 17:59 #89 #645109

>>645040
Тяжело быть тобой. Неужели с прыщей ничего не портнули под мак? 450 мегабайт на одну только книгу, пиздец же.

Ответы>>645113

06 Фев, 17:59 #90 #645110

>>645101
Зато не нужно прогревать по 30 минут для пиковой производительности кек.

06 Фев, 17:59 #91 #645111

>>645104
>Препод грит без QT
Причина?

Ответы>>645114>>645142

06 Фев, 18:00 #92 #645112

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

06 Фев, 18:01 #93 #645113

>>645109
>Неужели с прыщей ничего не портнули под мак?
А зачем? djvu это же сканированные книжки. Зачем на макакоси позволять такие? Пущай рабы в хуйсторе покупают.

Ответы>>645115

06 Фев, 18:02 #94 #645114

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

06 Фев, 18:03 #95 #645115

>>645113
Вроде, есть же http://windjview.sourceforge.net/ru/
Под виндой ей пользовался, вполне нормальная.

Ответы>>645125

06 Фев, 18:04 #96 #645117

>>645095
Потому что еще, например, C используют для написания всякого разного для других языков (это меньше работы по внедрению, чем на C++).

Да и банально аргумент про переусложнённость крестов постоянно сишкоадептами упоминается.

Ответы>>645119>>645124

06 Фев, 18:07 #97 #645119

>>645117
Я только на крестах умею. Чистый C сильно отличается?

Ответы>>645121

06 Фев, 18:08 #98 #645121

>>645119
Сильно. Чистый си нихуя не умеет, считай это просто кроссплатформенный ассемблер.

06 Фев, 18:08 #99 #645123

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

Ответы>>645127

06 Фев, 18:09 #100 #645124

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

Ответы>>645129

06 Фев, 18:09 #101 #645125

>>645115
Версия для mac - говно из под залупы, прости божечки.

06 Фев, 18:10 #102 #645127

>>645123
А как комьюнити? Есть свои мануалы \ сайты например? Просто по крестам постоянно вижу кучу справочников\учебников\семинаров\выступлений и прочего. С - как будто вообще забыли в 91 году.

Ответы>>645130>>645166

06 Фев, 18:11 #103 #645129

>>645124
Ну шаблончики-то с RAII и прочим его тоже не содержат. Разве что compile-time оверхед.

Ответы>>645135

06 Фев, 18:12 #104 #645130

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

06 Фев, 18:14 #105 #645135

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

Ответы>>645160

06 Фев, 18:22 #106 #645142

>>645111
Ну, он любит когда делают именно так, как он требует.
И никак иначе, за малейшую хуйню прощай стипендия.

Ответы>>645144>>645154

06 Фев, 18:22 #107 #645144

>>645142
Прогнешься ради жалкой тыщи рублей?

Ответы>>645149

06 Фев, 18:23 #108 #645149

>>645144
Лол, а жить на что я буду?

Ответы>>645153>>645160

06 Фев, 18:26 #109 #645153

>>645149
На Qt и boost'е.

06 Фев, 18:26 #110 #645154

>>645142
Да тебе и так охуенное одолженние сделали - игрульку уровня "информатика 9 класс" писать на курсач.

06 Фев, 18:30 #111 #645160

>>645149
Мне даже интересно где ты живёшь, что тыщи в месяц хватает.
>>645135
Тогда твоё прошлое сообщение можно сформировать как "в C просто нечем сделать себе оверхед в анусе".

06 Фев, 18:32 #112 #645163

>>645083
CUDA редко нужна сама по себе, часто можно сделать параллельную работу на CPU, по окончательному приведению данных в удобоваримый вид и т. п. Ну и плюс ты можешь легко шарить CPU и GPU код с C++ (см. thrust), с Java такого не будет.

06 Фев, 18:37 #113 #645166

>>645127
По сишке надо гуглить "pure c" или "язык си"

06 Фев, 21:13 #114 #645320

Тупых вопросов нить иди.

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

Поясните, почему индексация элементов массива не запилена безопасным способом, и её обязательно нужно перегружать для этого. Вы что, охуели? Зачем переполнение массива?

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

Поясните, нахуя нужно определять методы за пределами класса? Есть же private, есть public, есть protected, инкапсуляция, рыцари.

Ответы>>645324>>645331

06 Фев, 21:19 #115 #645324

>>645320
>Поясните, на хуй нужен спецификатор const?
На самом деле по-хорошему нужен, наоборот, модификатор val, а константными значения должны быть по умолчанию. Потому что 2016, декларативность, все дела.
>Поясните, почему индексация элементов массива не запилена безопасным способом, и её обязательно нужно перегружать для этого.
Потому что оверхед.
Сишные массивы вообще НЕЛЬЗЯ использовать. Используй STL, а там компилируй с D_GLIBCXX_DEBUG, будут тебе проверки.
>Поясните, на хуй нужны указатели?
Потому что на адресной арифметике можно эффективно сделать некоторые вещи.
>Почему нельзя было запилить язык так, чтобы он не создавал копии, а работал с адресом изначально через индексацию.
Такой язык запилен, Java называется. Почему в С++ не так - потому что эффективнее работать со значениями.
>Поясните, нахуя нужно определять методы за пределами класса?
Потому что в С++ нет модулей и это позволяет в хедере не делать лишние #include которые нужны только для имплементации, а не интерфейса.

Ответы>>645336>>645505

06 Фев, 21:20 #116 #645327

Эй, сучки, кто уже ковырял модули? Они будут в 17 стандарте?

Ответы>>645409

06 Фев, 21:24 #117 #645331

>>645320
Всё просто. Не хочешь - не юзай, хочешь - обмазывайся. Твоё личное дело.

32 Кб, 497x382

06 Фев, 21:34 #118 #645335

Расскажите что случилось?

https://ideone.com/gmWiEr

Ответы>>645337

06 Фев, 21:34 #119 #645336

>>645324
Даже уточню пару элементов.

>На самом деле по-хорошему нужен, наоборот, модификатор val, а константными значения должны быть по умолчанию. Потому что 2016, декларативность, все дела.
Константность - это хорошо потому что компилятор может оптимизировать код (например, закешировать значения функций).

>Потому что оверхед.
Который выражается в лишней проверки на выход за границы, например:
int getValue(int index) {
return data[index];
}

int getValue(int index) {
if(index >= 0 && index < size) {
return data[index];
} else {
//error
}
}

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

>Потому что в С++ нет модулей и это позволяет в хедере не делать лишние #include которые нужны только для имплементации, а не интерфейса.
Вообще, это достаточно большой недостаток плюсов (и сей), настолько большой, что хотят даже ввести модули в с++17, больше исторический факт.

06 Фев, 21:36 #120 #645337

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

Ответы>>645339

06 Фев, 21:38 #121 #645339

>>645337
А почему айдеон в конце 0 0 выводит если указатель перед этим выводит их значения и они одинаковые?

Ответы>>645340>>645349

06 Фев, 21:39 #122 #645340

>>645339
> если указатель перед
без слова указатель

06 Фев, 21:41 #123 #645341

Поясните, я немного не разобрался:
1. extern int i;
2. int j;
В 1 случае я объявил переменную, но не определил её, т.е. i неопределена, так?
А как во 2 случае? Я её объявил и определил, но она всё равно неопределена.
Или я не до понял что-то?

Ответы>>645343

06 Фев, 21:45 #124 #645343

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

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

06 Фев, 21:48 #125 #645349

>>645339
Забавно, да - https://ideone.com/90FyrF
А почему - потому что undefined behavior.

Ответы>>645412

06 Фев, 22:12 #126 #645391

>>644656 (OP)
> стандартный комитет

06 Фев, 22:23 #127 #645409

>>645327
Нет (:

13 Кб, 532x175

06 Фев, 22:27 #128 #645412

>>645349
>undefined behavior
Откуда оно взялось? Указатель и ссылка разных типов? Оба 8 байт. Типа 1 знаковый, а другой нет? В памяти выглядят одинаковыми.

Ответы>>645418>>645420

06 Фев, 22:29 #129 #645418

>>645412
Нужно стандарт смотреть. Это или undefined behavior в стандарте, или баг в компиляторе. Думаю - первое.

06 Фев, 22:30 #130 #645420

>>645412
Т.е. присвоение информации const объекту тебя не смущает?

Ответы>>645422

06 Фев, 22:32 #131 #645422

>>645420
Нет. В памяти же константы никак не помечены. Или ты про что?

Ответы>>645424>>645427

06 Фев, 22:33 #132 #645424

>>645422
Компилятор должен генерировать код согласно стандарту языка, а не твоим представлениям о компиляции. Это сделано для того, что, чтобы с оптимизациями проблем не было.

Ответы>>645431

06 Фев, 22:37 #133 #645427

>>645422

Вы только посмотрите, эта маня не знает про .rodata и атрибуты доступа к сегментам.

Ответы>>645431

06 Фев, 22:37 #134 #645428

>>644722
>>644727
>>645048
Посоны, ну правда в последние дни был очень занят я. Собирался этой ночью перекатить, но раз такое дело, то пусть висит этот только жалко, что товарищ проебал юбилейный двадцатый номер. Стихи тогда на следующий тред пойдут.
настоящий ОП

Ответы>>645429>>645441

06 Фев, 22:39 #135 #645429

>>645428
Только шапку сохрани и не делай ебаную лапшу, как в прошлый раз.

06 Фев, 22:41 #136 #645431

>>645424
Ты о чём?

>>645427
А ты о чём? Хочешь сказать можно сделать память не редактируемой?

Ответы>>645438

06 Фев, 22:45 #137 #645438

>>645431
>А ты о чём? Хочешь сказать можно сделать память не редактируемой?
Почему ты не загуглил ".rodata"? Это секция сегмента данных, которую специально генерирует компилятор. Я не помню точных критериев, по которым туда попадают переменные, помню, что туда точно попадают глобальные константные переменные с тривиальным конструктором.

840 Кб, Webm

06 Фев, 22:48 #138 #645441

>>645428
Алсо, что за пиздец в шапке, лол? Все перемешал нахуй в кучу, джве трети выкинул, натащил какого-то говна. IDE вообще структурировал, блядь, от души. "Ньюансы", "однако, ", охуеть. Как дети малые, честное слово, на неделю не оставишь без присмотра.

Вот примерно по такому принципу делаются форки языков. Приходит уася, половину выкидывает, а остальное перепиливает ЕДИНСТВЕННО ВЕРНЫМ СПОСОБОМ. А потом удивляется, почему никто не перекатывается.

Ответы>>645444>>645472>>645482

06 Фев, 22:51 #139 #645444

>>645441
>Ньюансы
А ты сделать через з пишешь.

06 Фев, 22:57 #140 #645455

Братишки, я вам покушать принес:
http://theboostcpplibraries.com/
Кто там про буст книжку просил?

Ответы>>645472

06 Фев, 23:03 #141 #645472

>>645441
>Вот примерно по такому принципу делаются форки языков. Приходит уася, половину выкидывает, а остальное перепиливает ЕДИНСТВЕННО ВЕРНЫМ СПОСОБОМ. А потом удивляется, почему никто не перекатывается.
И кто же таким занимается?

>>645455
Ох бля. Спасибо за сладкий хлебушек, братишка.

Ответы>>645485

06 Фев, 23:06 #142 #645482

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

Про 2/3 выкинутого - не пизди. Убрал совсем объебосную наркоманию типа "C++ устарел", "С++ сосет" и подробный гайд, как создать проект в Visual Studio. Сюда не заходят мимокрокодилы. Вот скажи нахуя ты это капитанство писал тогда?

Алсо, когда редактировал тулы, проигрывал с того, как ты CppCheck не забыл указать, а Clang Static Analyzer с Valgrind'ом забыл. Серьезно, блять?

Ответы>>645498>>645512

581 Кб, 640x480

06 Фев, 23:06 #143 #645485

>>645472
Пикрелейтед, например. Хвала б-гам, крестов школие боится и не пытается в форки пока что.

Ответы>>645492

06 Фев, 23:12 #144 #645492

>>645485
Так он дальше мастурбации на манякод не продвинулся, лел. Какие форки-то? он же Goвнюк

06 Фев, 23:14 #145 #645498

>>645482
Так надо вырабатывать наилучший вариант, а не по принципу "здесь убрали одно говно, тут добавили другое". Я полностью согласен, что стоит модифицировать форматирование, но вот с содержимым ты переборщил, конечно. Valgrind'а не было по аж трем очевидным причинам: он и так известен и распиарен, он не относится непосредственно к крестам давайте еще про гит напишем, будет охуенная шапка на сотню страниц, он сложен для ньюфага. "C++ устарел" было важнейшей частью шапки, возможно даже важнее книг. Ты погляди, какие вопросы задают в треде: "чем C++ отличается от C#?", "анон что лучше цепепе или питон?", "почему нет вакансий?", ну ты понел. Нам надо привлекать людей, показывать хорошие стороны крестов, чтобы скроллящий нулевую человек увидел шапку и проникся. А алтфаки и так знают 95% ее содержимого же.

Ответы>>645512>>645546

06 Фев, 23:16 #146 #645505

>>645324
>> Потому что на адресной арифметике можно эффективно сделать некоторые вещи.
Например какие, кроме примера с адресом структуры? Сколько не писал, всё ХУЖЕ. Сортировка кучей, лексикографическое сравнение, тысячи их.
>> Потому что в С++ нет модулей и это позволяет в хедере не делать лишние #include которые нужны только для имплементации, а не интерфейса.
Нихуя не понял, даже с уточнениями из следующего поста. Можно на простом языке, для неопытных программистов?

За остальные пункты заебца пояснил, хоть я бы и поспорил.

Ответы>>645536>>645548>>645565

06 Фев, 23:18 #147 #645512

>>645482
>>645498
А давайте запилим гуглодок с шапкой, чтобы анон мог редактировать и комментить. И голосовач там легко прикручивается.

Ответы>>645517

06 Фев, 23:20 #148 #645517

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

06 Фев, 23:27 #149 #645536

>>645505
>Нихуя не понял, даже с уточнениями из следующего поста. Можно на простом языке, для неопытных программистов?
Без выебонов: это ёбаное говнолегаси из 80-х. Страуструп ещё в 2006 (или раньше, я хз было ли это в издании 98 года) писал о них, но и как с выводом типов какого-то хуя тянет.

>Например какие, кроме примера с адресом структуры? Сколько не писал, всё ХУЖЕ. Сортировка кучей, лексикографическое сравнение, тысячи их.
Арифметика обычная, кек.
Оставлено для гибкости, видимо.

Ответы>>645538

06 Фев, 23:28 #150 #645538

>>645536
>писал о них
Я если чо про модули.

Ответы>>645558

49 Кб, 400x663

06 Фев, 23:32 #151 #645546

>>645498
>Нам надо привлекать людей, показывать хорошие стороны крестов
Все скролят нулевую программача. Не знаешь что выбрать? Спроси у двача! Ни что так сильно не влияет на выбор будущего языка программирования ньюфага чем шапка треда. Надо воспользоваться статусом самого посещаемого сайта интернета и разместить здесь рекламу крестов. Обучим их всех советами лучших специалистов двача. Привлечём к крестам столько лёдей сколько ни одни ЯП раньше не видел! Даёшь пятилетку за 4 года! Каждому крестовику по компилятору!

06 Фев, 23:32 #152 #645548

>>645505
>Например какие, кроме примера с адресом структуры?
Например, аллокаторы.
>Нихуя не понял, даже с уточнениями из следующего поста. Можно на простом языке, для неопытных программистов?
В C++ нет модулей. Хедеры - это просто копипаста которая с помощью #include вставляется препроцессором в .cpp файл, а компилятор уже имеет дело с длинной колбасой, и он рожает объектный файл с расширением ".o". Дальше объектные файлы соединяет между собой линкер.
Соответственно, если ты делаешь #include <yoba.hpp> в хедере, то он будет парситься в каждом .cpp файле. Это замедлит компиляцию.

Ответы>>645554

06 Фев, 23:34 #153 #645554

>>645548
А у модулей как?

Ответы>>645560

06 Фев, 23:36 #154 #645558

>>645538
Другие языки не юзаю, про модули не понимаю, это обычные cppшники? Ну и что, как они связаны с определением методов за пределами класса и инклюдами? Вообще, почему не определить методы сразу внутри класса без всяких операция получения доступа ::, и искать не нужно — все методы рядышком, почему не так?

06 Фев, 23:37 #155 #645560

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

06 Фев, 23:38 #156 #645565

>>645505
>Например какие, кроме примера с адресом структуры?
Запись в регистры по их адресам.
Маппирование файлов в память и вообще работа с виртуальными файлами.
Упрощенная бинарная сериализация.

Фактически первое, что в голову пришло.
>Нихуя не понял, даже с уточнениями из следующего поста. Можно на простом языке, для неопытных программистов?
Во-первых, как уже говорил, это собираются менять отчасти т.к. действительно легаси, но расскажу зачем это делать сейчас:
1) Ускорение компиляции и линковки (т.к. компилятор не будет учитывать файлы в хидере при компиляции других объектников)
2) Скрытие реализации (т.к. в файле заголовочном указываешь только необходимые данные).

Ответы>>645567>>645572

06 Фев, 23:40 #157 #645567

>>645565
Откуда берутся эти совковые хИдеры? Пидеры, блин.

Ответы>>645570

06 Фев, 23:41 #158 #645570

>>645567
А как правильно транслитезировать?
P.S. послушал http://www.wordreference.com/enru/header правильно как-то хёдэр.

Ответы>>645578

06 Фев, 23:41 #159 #645572

>>645565
В чём там сокрытие реализации? В хэдере объявление, в сpp-шнике определение, окау, и что, cpp-шники закрыты для чтения?

Ответы>>645575>>645577

06 Фев, 23:42 #160 #645575

>>645572
Если предоставляешь бинарники библиотеки - то да.

06 Фев, 23:44 #161 #645577

>>645572
Пойми одно: хедеров для компилятора не существует. Вообще. Они есть только для препроцессора. Когда ты это поймешь, наступит просветление.

Ответы>>645621

06 Фев, 23:44 #162 #645578

>>645570
По моему всё очевидно. Теперь напиши это русскими буквами.
http://ru.forvo.com/word/header

07 Фев, 00:02 #163 #645621

>>645577
Не наступило. Пытаюсь вспомнить схему компиляции, но нет. Окей, хэдеры компилятор игнорит, где логика дальше?

Давай сначала. В хэдере объявляем класс с методами. В соответствующем cpp определяем. Компилятор собирает в объекты все cpp, включая определенные методы, игнорируя объявление класса в .h? Или вслед за хэдерами игнорирует и cpp с определением класса? В чём смысл?

Ответы>>645629>>645632>>645645

07 Фев, 00:06 #164 #645629

>>645621
Он их не игнорит. Препроцессор вставляет содержимое хедера в .cpp файл. И компилятор работает уже с результатом. О хедерах компилятор ничего не знает.

Ответы>>645659

07 Фев, 00:07 #165 #645632

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

Ответы>>645659

07 Фев, 00:14 #166 #645645

>>645621
Они подставляются препроцессором.
Конкретно компилятору на них похуй - он компилирует и всё, подставляя только интерфейсы функций и тд, потом линкер всё это соеденяет.

Ответы>>645659

07 Фев, 00:24 #167 #645659

>>645645
>>645632
>>645629
Да, я это понимаю. Но в чём скрытость реализации в этих процессах? Я так понимаю, компилятор код ВИДИТ, программист ТОЖЕ. Непанимать(((

Ответы>>645675

07 Фев, 00:42 #168 #645675

>>645659
1) Можно интерпретировать это как фактическое сокрытие - можно скомпилировать проект в .lib/.a и распространять только бинарник+хидер в комплекте;
2) Можно интерпретировать это как скрытие реализаций друг от друга (чтобы компилятор не лепил всё в одну кучу и можно было перекомпилировать каждый раз только изменённую часть, а не все 4 гб зависимостей).

07 Фев, 09:32 #169 #645961

>>644960
Лабы идут на хуй.

07 Фев, 09:59 #170 #645976

>>644960
Простейшая игра же.

07 Фев, 11:58 #171 #646032

Почему не могу освободить память?

Общий алгоритм программы таков:

char ☆f1(...)
{
char ☆s = new ...
/ тут формируется строка s /
return s;
}

void f2(...)
{
// в этой функции результат функции f1 присваивается char'овским полям в некой структуре
mystruct=f1(...);
mystruct=f1(...);
...
}

Итак, сначала я вызываю f1, структура заполняется, а потом соответственно f2. Потом мне нужно удалить то, что я выделил для дальнейшей работы со структурой, но тут вылезает HEAP CORRUPTION DETECTED. Я уверен, что ранее нигде не удалял эту память до вызова этой функции.

Может ли это быть из-за того, что освобождаю память из-под строк размером 1 или 0? Хотя эта ошибка вылезает и при бОльших размерах строки.

Для выделения и удаления памяти использую new/delete, MS Visual studio express 2012

Ответы>>646054>>646693>>646831

07 Фев, 12:58 #172 #646054

>>646032
Нашёл ошибку : не выделял память для нуль-терминатора в строке.

07 Фев, 13:30 #173 #646067

Прошлый ОП у нас, оказывается, мочератор?

Ответы>>646138>>646228

88 Кб, 600x586

07 Фев, 14:49 #174 #646122

Это чувство, когда тебе понадобился shared_mutex из C++17, а у тебя OS X и он у тебя есть из коробки.

07 Фев, 15:06 #175 #646138

>>646067
Вроде нет.

07 Фев, 16:22 #176 #646228

>>646067
Ньюфаги-ньюфажики.

Ответы>>646259

07 Фев, 16:44 #177 #646259

>>646228
А вот и илитарные алтфаки подъехали. А нормально ответить нельзя?

07 Фев, 23:24 #178 #646669

В бамплимите не в бамплимите тред всегда на пятой странице.

07 Фев, 23:25 #179 #646671

Вопрос к гуру linux и плюсов:
когда есть смысл отгружать удаленные блоки памяти процесса обратно в физическую память компьютера (mallopt/trim threshold), это как-то влияет на фрагментацию? пробовал ставить нулевой трешолд, процесс задыхается под нагрузкой. Аллоцируются и удаляются блоки по 1-2 мегабайта, очень частно, в секунду в процессе проходит траффик около 9-10 гигабит. Велика ли вероятность при таком потоке данных поймать эффекты фрагментации памяти (и как их вообще ловить)? Если запилить собственный аллокатор который держит часто используемые блоки памяти в кэше, то вероятность фрагментации понижается?

Ответы>>646699>>646721>>647560

08 Фев, 00:21 #180 #646693

>>646032
Ебан, используй C++.

08 Фев, 00:40 #181 #646699

>>646671

Не очень понимаю о какой фрагментации ты говоришь. О фрагментации внутри виртуального адресного пространства? Вроде нет - у тебя всего 1gb данных по 2mb. О фрагментации физической памяти из-за больших страниц? Тут ты ничего не изменишь.

Ответы>>646711

08 Фев, 00:57 #182 #646711

>>646699
Сори, сразу не въехал. А в чем проблема выделить заранее памяти на максимальный трафик и разбить его на участки размером с максимальный блок, раз у тебя минимальный блок 1MB?
Потом запилить кастомный аллокатор в котором растасовываешь эти блоки куда надо. Правда, тут есть оверхед по памяти, в твоем случае, где-то 600МБ в худшем случае.

Ответы>>646713>>647339

08 Фев, 00:58 #183 #646713

>>646711
>600МБ
*1200МБ, конечно же

08 Фев, 00:59 #184 #646714

>>645077
Си гораздо популярнее и нужнее крестов, вообще говоря, взять хотя бы http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html.

В эмбеддеде незаменим, ибо крестокомпиляторы ввиду своей сложности есть далеко не везде, в серьезном матане незаменим, почти все либы, вроде fftw, на нем написаны (хотя fftw транслирована на сишку из окамла), ну и зачастую гораздо продуктивнее (с точки зрения затрат по времени, деньгам и производительности кода) писать на связке с+высокоуровневый язык (с+python, c+java, c+ocaml), ибо ошибок меньше, писать проще, а реально оптимизировать достаточно только ограниченное количество узких мест.

Сам на работе переписывал проект с с++ на с+python, работать стало гораздо быстрее, кода меньше, ошибок и багов меньше. Правда там был лютый говнокод, но в любом случае сишка еще очень популярна и нужна, а быстрый с++ это все равно фактически обычный си, ибо контейнеры с переаллокацией и никакого raii.

Ответы>>646717>>646720>>646724

08 Фев, 01:03 #185 #646717

>>646714
>raii
Ты хотел сказать RTTI?

Ответы>>646767

08 Фев, 01:07 #186 #646720

>>646714
>Сам на работе переписывал проект с с++ на с+python, работать стало гораздо быстрее, кода меньше, ошибок и багов меньше

Что за проект? Как он мог тормозить на C++? Что там такое жрущее использовали?

Ответы>>646723>>647498

08 Фев, 01:08 #187 #646721

>>646671
Ну так выдели себе чанк и пиши в него, ты бы хоть расписал, какие у тебя данные приходят. Редко когда на десктопе нужно заботиться о таких вещах, это должно быть что-то ну очень высоконагруженное.

Ответы>>647337

08 Фев, 01:11 #188 #646723

>>646720
Декодирование и обработка потокового видео.

08 Фев, 01:12 #189 #646724

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

Можно пример? Что с llvm? Вроде проект шагает в полный рост по разным архитектурам(по их заявлениям)

Ответы>>646731

08 Фев, 01:17 #190 #646731

>>646724
>по их заявлениям

Ну щас. Для огромного количества железа нет llvm, есть только компилятор, часто закрытый от вендора, который частенько не умеет в кресты. Это касается, например, большинства 8-битных контроллеров, всяких dsp и прочей экзотики. Для какого-нибудь арма или авр оно, конечно, может и есть. Хотя уже для 80196 я ллвм не видел.

Ответы>>646742

08 Фев, 01:24 #191 #646742

>>646731
Надеюсь, эти вендоры перестанут свой компилятор ебашить и будут делать нормальный бекенд llvm к своей архитектуре. И будет мир во всем мире.

08 Фев, 01:47 #192 #646767

>>646717
Вот в этом треде кто-то их путает и даёт не правильные советы. Сначала ассемблер, а потом про оптимизацию читал чтобы разобраться кто из анонов врёт.

Ответы>>646770

08 Фев, 01:59 #193 #646770

>>646767
Ньюфаг детектед. Спутать "Resource Acquisition Is Initialization" с "Run-Time Type Information" можно только опечатавшись.

Ответы>>646771

08 Фев, 02:01 #194 #646771

>>646770
Может и была опечатка, но его кто-то спутал в этом треде. 2 раза.

08 Фев, 07:17 #195 #646831

>>646032
s может стоит всеже глобальным сделать

Ответы>>646850

08 Фев, 08:57 #196 #646850

>>646831
Можно делать глобальные переменные, но ограничивать их область видимости? Например в новом пространстве имён, а в функции писать int& a = ns::a; Чтобы их в функцию не передавать и при этом не засорять глобальное пространство имён? Не сильно на скорость повлияет?

Ответы>>647031>>647046>>647225

08 Фев, 14:54 #197 #647031

>>646850
1. юзай std::string, не еби мозг
2.
>int& a = ns::a
"using", б-же мой

Ответы>>647042

08 Фев, 14:58 #198 #647042

>>647031
>using
Точно. Спасибо.

08 Фев, 15:01 #199 #647046

>>646850
>Можно делать глобальные переменные, но ограничивать их область видимости
И всё равно с ними неделями в отладке сидеть? Да, можно.

Ответы>>647053

08 Фев, 15:06 #200 #647053

>>647046
По ссылке в функцию передавать? Или что делать чтобы из main в функцию аргумент большой быстро передавать?

Ответы>>647055

08 Фев, 15:10 #201 #647055

>>647053
Указатель на него передай. Наверное.

08 Фев, 18:29 #202 #647225

>>646850
Нужно.

08 Фев, 18:34 #203 #647229

А что означает число -858993460? Этим числом заполняются свободные участки в памяти?

Ответы>>647232

08 Фев, 18:35 #204 #647232

>>647229
Да. Если оно выбрано специально т.к. в нём содержиться игра слов если перевести в leet.

Ответы>>647233>>647240

08 Фев, 18:35 #205 #647233

>>647232
> Если оно выбрано
Без если фикс

Ответы>>647238

08 Фев, 18:41 #206 #647238

>>647233
А это число от платформы зависит?

Ответы>>647241

08 Фев, 18:43 #207 #647240

>>647232
>Если оно выбрано специально т.к. в нём содержиться игра слов если перевести в leet
Ну переведи, что такое 858993460.

Ответы>>647364

08 Фев, 18:43 #208 #647241

>>647238
Да. Но обычно он в int влезает. Там где инт равен 2 байта оно другое.

Ответы>>647242

08 Фев, 18:44 #209 #647242

>>647241
Спасибо.

08 Фев, 21:00 #210 #647337

>>646721
Данные идут с видеокамер (bayer), общий поток данных сетевой в секунду - 2,2 гигабита, потом этот поток преобразуется в bgr, т.е. 6,6 гигабит, по три канала на каждый входящий байт. Потом эти данные закачиваются на видеокарту и с видеокарты уже скачивается 2 гигабита. После скачивания данные прогоняются еще через один поток уже на cpu. За линуксовый сетевой стек опасений нет (он как мне кажется расчитан на куда большие нагрузки), но в своем коде я не очень понимаю стоит ли опасаться за гипотетическую фрагментацию виртуальной памяти при частом дерганье new/delete с блоками нескольких одинаковых размеров . Сейчас вроде бы решил вопрос собственным аллокатором который кэширует создание/удаление часто используемых блоков, но интерес остается - как вообще проявляется и отлаживается фрагментация виртуальной памяти в 64 битных процессах работающих 24/7.

Ответы>>647339>>647345>>647478

08 Фев, 21:03 #211 #647339

>>647337
>>646711
Ну собственно так и получилось, часто используемые блоки выделяются один раз и возвращаются обратно.

08 Фев, 21:17 #212 #647345

>>647337
Пул сделай, епт.

08 Фев, 21:32 #213 #647364

>>647240
G://1234 to hex

09 Фев, 00:16 #214 #647461

std::string str("Hello");
std::string str2 = new std::string("hello");
std::cout << str << ' ' << str2 << std::endl;
delete str2;
str2 = nullptr;

Я всё правильно понимаю?
Первая строка создается на стеке. Она удалится сама, когда уже не будет в области. Вторая строка. Указатель хранится на стеке, а сам объект string в куче. Нужно удалять самому, а потом присваивать nullptr на случай если случайно ещё раз удалю.

Ответы>>647491

09 Фев, 00:24 #215 #647478

>>647337
>как вообще проявляется и отлаживается фрагментация виртуальной памяти в 64 битных процессах работающих 24/7.

Никак до того момента, пока виртуальная память перестанет влазить в физическую. Тогда начнутся постоянные page fault'ы или bad_alloc, когда своп закончится.

09 Фев, 00:34 #216 #647491

>>647461
Да.

Ответы>>647494>>647502

09 Фев, 00:37 #217 #647494

>>647491
Замечательно. Спасибо.

09 Фев, 00:49 #218 #647498

>>646720
Тормозить может на чем угодно же. На крестах тормоза часто бывают у перекатившихся с декларативных языков, которые не заботятся о мелочах и хуярят все в списках с десятками полномасштабных копирований за метод. Но тут и обратный эффект, на каком-нибудь хачкеле после крестов НЕКОМФОРТНО из-за того, что приходится душить в себе хорошую привычку не пессимизировать.

09 Фев, 01:00 #219 #647502

>>647491
Нет же. Класс строки автоматически её в куче размещает. Как и вектор. str это объект класс string созданный на стэке, а Hello записано в куче. А str2 это указатель созданный на стэки на элемент класса string созданный на куче.

Ответы>>647507

09 Фев, 01:09 #220 #647507

>>647502
То есть если мы создаем объект первым способом, то у нас всё хранится на стеке (кроме того, что изначально в классе создается в куче), а во втором у нас вообще всё создается в куче кроме указателя?

Ответы>>647518>>647554

09 Фев, 01:23 #221 #647518

>>647507
Да.

09 Фев, 01:59 #222 #647554

>>647507
>создается в куче кроме указателя?
Указатель вообще нигде не создается. Это просто число указывающее на кусок памяти.

Ответы>>647559

09 Фев, 02:00 #223 #647559

>>647554
Храниться значит.

Ответы>>647563>>647573

09 Фев, 02:02 #224 #647560

>>646671
Тебе нужно создать ring buffer и не выделять/освобождать память вообще.

09 Фев, 02:03 #225 #647563

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

09 Фев, 02:10 #226 #647573

>>647559
>Храниться
СУУУУУУУУУУУУУУУУУУУКАААААААААААААААААААААААААААААААААААААААААААААА

Ответы>>647577>>647586>>647628

09 Фев, 02:11 #227 #647577

>>647573
Тред зашкварен ньюфагом :(

09 Фев, 02:21 #228 #647586

>>647573
Ну написал хохол/бульбаш/шпрот/чурка не проверив вопросом, ну чо ты как дебил из соседнего треда, который руками все -t'sya -tsya зекача проверяет.

09 Фев, 03:49 #229 #647611

>>644656 (OP)
ПРИВЕТ ЗК
C++ умеет передавать реализацию интерфейсов в виде параметра в функцию? Например, как в джаве? Вот тут я набросал пример, и хотел бы провернуть то же самое в C++:
http://pastebin.com/qdPW4dqb

Ответы>>647612>>647659

09 Фев, 03:51 #230 #647612

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

Ответы>>647615>>647633

09 Фев, 04:09 #231 #647615

>>647612
Отпишись, когда на stackoverflow ответят. Самому интересно.

Ответы>>647632

642 Кб, Webm

09 Фев, 04:45 #232 #647628

>>647573

09 Фев, 05:47 #233 #647632

>>647615
Пока молчат.

09 Фев, 06:05 #234 #647633

>>647612
Рядышком, через typedef или объявление. https://ideone.com/RNb4ei

Ответы>>647646

09 Фев, 08:03 #235 #647646

>>647633
Классно! А в вызове функции не получится?

Ответы>>647657

09 Фев, 09:42 #236 #647657

>>647646
Неполучится.

typedef, кстати, не нужен. Можно как обычную структуру объявить.

09 Фев, 09:54 #237 #647659

>>647611
Через лямбды. Внутри можешь создавать класс. Вроде бы даже обьялять новый ( так как лямбда это структура с метолом, по сути)

Ответы>>647661

09 Фев, 09:57 #238 #647661

>>647659
Ну вот допустим я хочу, чтобы при вызове метода askForWork() у меня какая-нибудь переменная увеличивалась на 1. Через лямбду этого сделать не получится, потому что когда она вызывается - все переменные создаются заново.

Ответы>>647663

09 Фев, 10:08 #239 #647663

>>647661
Wut? Делай захват переменных по ссылке, только следи за жизненным циклом захваченных переменных.

Ответы>>647669

09 Фев, 10:20 #240 #647669

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

Ответы>>647672

09 Фев, 10:21 #241 #647672

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

Ответы>>647674

09 Фев, 10:25 #242 #647674

>>647672
Как это не пересоздаются? Я вызываю метод askForWork в бесконечном цикле. С каждой итерацией у первого рабочего должна увеличиваться некая переменная X на единицу. Если я буду писать int X = 0; X++ в лямбде, которая вызывается каждую итерацию, то переменная всегда будет равна единице.

Ответы>>647704

09 Фев, 10:40 #243 #647684

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

Ответы>>647694

09 Фев, 10:51 #244 #647694

>>647684
В жабе это просто костыль из-за отсутствия лямбд.
http://ideone.com/o2bKuV

Ответы>>647696>>647697

09 Фев, 10:55 #245 #647696

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

Ответы>>647703

09 Фев, 10:55 #246 #647697

>>647694
Алсо, зачем mutable? Можно же &X

Ответы>>647703

09 Фев, 11:02 #247 #647703

>>647696
>>647697
> Нет, я хочу, чтобы у каждого рабочего был свой набор переменных.
>Алсо, зачем mutable? Можно же &X
Ебать дебил.
http://ideone.com/OpylWs http://ideone.com/HfeVOl

Ответы>>647714>>648314

09 Фев, 11:02 #248 #647704

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

Ответы>>647715

09 Фев, 11:09 #249 #647712

Итак, зеканы, есть алгоритмическая задачка. не лаба, свой спортивный интерес
Есть иерархия: город (всегда один), улица (много), номер дома (много), квартира (много).
У номера дома есть почтовый индекс, а у квартиры есть тип (комуналка, однушка, и тд).
Каждый элемент обязательно имеет имя и численный индекс.
Нужно создавать некий направленный граф, чтобы потом получать полный адрес (обход в глубину).
Как всегда, минимум памяти и максимум быстро.

Решение у меня есть. Но хочется услышать разные мнения.

Ответы>>647747

09 Фев, 11:14 #250 #647714

>>647703
Но тогда пропадает инкапсуляция полей.

Ответы>>648302

09 Фев, 11:14 #251 #647715

>>647704
Джава, вообще-то. И я на ней не программирую, чини детектор.

09 Фев, 11:52 #252 #647738

Вот с лямбдами
https://ideone.com/N2ucDQ

Ответы>>647741

09 Фев, 11:56 #253 #647741

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

09 Фев, 12:05 #254 #647747

>>647712
>чтобы потом получать полный адрес (обход в глубину).
Что это значит? Что является входными данными, что при этом нужно вернуть?

Ответы>>647751>>647776

09 Фев, 12:10 #255 #647751

>>647747
Если на вход подается граф, а вернуть нужно список квартир с полным адресом, то да, это обычный обход в глубину. O(n) время и O(1) памяти.

Ответы>>647753

09 Фев, 12:11 #256 #647753

>>647751
И в чём проблема?

Ответы>>647756

09 Фев, 12:15 #257 #647756

>>647753
>И в чём проблема?
А у меня ты чего спрашиваешь?

Ответы>>647771

09 Фев, 12:29 #258 #647771

>>647756
Да хуй знает, чего доебался до меня то!

09 Фев, 12:37 #259 #647776

>>647747
1. Нужно строить такой граф
Добавить улицу, к ней добавить дома, потом квартиры.
2. По набору индексов нужно получать полный адрес улицы или дома или квартиры

Ответы>>647783

09 Фев, 12:48 #260 #647783

>>647776
Тогда полный адрес отдельно взятой квартиры получается за O(1).
Граф строится за O(1)

Ответы>>647784

09 Фев, 12:49 #261 #647784

>>647783
>Граф строится за O(1)
Очепятка, за o(n)

Ответы>>647792

09 Фев, 12:58 #262 #647792

>>647784
Сука, блядь. Опять приплыли строители алгоритмов. Сделайте себе отдельный загон и поритесь в очко там, пидорасы. Выебал бы всех вас в жопу, алгоритмщики ёбаные, пиздец!

Ответы>>647877>>647880>>647887

09 Фев, 14:08 #263 #647877

>>647792
Когда-то Струструп выступал на конференции, посвященной C++. Речь в его выступлении шла о разных контейнерах в STL и о том, насколько важно использовать структуры данных, подходящие под конкретную задачу. В какой-то момент в аудитории начал возмущаться один разработчик, мол нахуя так сложно сделали и какого хуя он вообще должен думать об таких вещах. Страуструп ему в ответ: "Конкретно вы можете использовать просто std::vector".

Вот так и про тебя.

Ответы>>647881

09 Фев, 14:12 #264 #647880

>>647792
>Выебал бы всех вас в жопу
Если русский не думает о хуях - то русский думает об анусах (с)

Ответы>>647882>>647886

09 Фев, 14:13 #265 #647881

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

09 Фев, 14:13 #266 #647882

>>647880
Да я тебя в жопу трахну за Россию, пидор! И в анал, блядь!

09 Фев, 14:17 #267 #647886

>>647880
Все мы рюзке, Тарас.

09 Фев, 14:17 #268 #647887

>>647792
> Сделайте себе отдельный загон
Пытались. Они тонут быстро.

09 Фев, 14:22 #269 #647890

Блять.
Эти атомарные операции просто ебут меня в жопу, я не могу с ними совладать!

Ответы>>647893>>647894

09 Фев, 14:23 #270 #647893

>>647890
За каким хуем они тебе пригодились, наркоман?

Ответы>>647902

09 Фев, 14:23 #271 #647894

>>647890
Concurrency in action четал?

Ответы>>647902

09 Фев, 14:28 #272 #647902

>>647894
Так вот щас и скачал почитать что пишут.
>>647893
Синхронно ебать твою мать и сестру, чтобы они за хуй не ссорились.

Ответы>>647905

09 Фев, 14:32 #273 #647905

>>647902
Всё понятно, очередной школьник лабу делает. Тогда помогай себе сам.

Ответы>>647906>>647909

09 Фев, 14:33 #274 #647906

>>647905
Какую лабу, поехавшее? Я дома сижу.

Ответы>>647910

09 Фев, 14:35 #275 #647909

>>647905
Нешкольник нарисовался. Кто тебя о помощи просил-то, клован? Себе помоги.

09 Фев, 14:37 #276 #647910

>>647906
Ничего, года через 3 узнаешь, что её можно и дома писать.

Ответы>>647924

09 Фев, 14:41 #277 #647924

>>647910
В общем, мимо ты, дружок.

Ответы>>647925

09 Фев, 14:42 #278 #647925

>>647924
Да, с лабой я погорячился. Их в институтах же пишут, а не в школах.

Ответы>>647932

09 Фев, 14:45 #279 #647930

Не ссорьтесь.

Ответы>>647931

09 Фев, 14:45 #280 #647931

>>647930
Сейчас мы всем тредом в жопу тебя трахнем, пидор!

09 Фев, 14:47 #281 #647932

>>647925
Жаль, что закончил я школу четыре годика назад. А по поводу лаб - не знаю, где это ты такие видел.

Ответы>>647956

09 Фев, 15:04 #282 #647956

>>647932
Ушёл после 9?

Ответы>>647961

09 Фев, 15:05 #283 #647961

>>647956
Нет, доучился 11, как хороший мальчик.

Ответы>>648012

09 Фев, 15:50 #284 #648012

>>647961
Красава!

Ответы>>648016

09 Фев, 15:52 #285 #648016

>>648012
Спасибо, вот уж не ожидал похвалы за отсиживание штанов.

Ответы>>648025

09 Фев, 16:02 #286 #648025

>>648016
Всё лучше, чем уходить после 9.

47 Кб, 536x383

09 Фев, 16:14 #287 #648038

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

Ответы>>648044>>648100

09 Фев, 16:17 #288 #648044

>>648038
pure_c++-stl-boost-qt.jpg

Ответы>>648045

09 Фев, 16:18 #289 #648045

>>648044
Спасибо, подышал гуглить.

09 Фев, 16:57 #290 #648100

>>648038
Переопредели tooltip event вызовом окна своего, вот и все.

09 Фев, 17:51 #291 #648171

Я знаю, что вы устали от моих глупых вопросов, но всё же напишу. Когда мы передаем указатель в метод он копируется? Указывать он будет на ту же область в памяти, но будет ли это тот же указатель?

Ответы>>648178>>648192>>648297

09 Фев, 17:54 #292 #648178

>>648171
Нет, тебе нужен указатель на указатель

Ответы>>648198

09 Фев, 18:03 #293 #648192

>>648171
>но будет ли это тот же указатель
Сам понял что сказал? Как ты 2 указателя на одну область памяти отличать собрался.

Ответы>>648200

09 Фев, 18:06 #294 #648198

>>648178
Ты не понял вопрос. Данные мы можем передавать по адресу и по значению. Когда мы передаем по значению у нас данные копируются на стек. А что происходит, когда передаем по адресу?

Ответы>>648200>>648208

09 Фев, 18:07 #295 #648200

>>648192
Я >>648198 имел в виду

09 Фев, 18:18 #296 #648208

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

Ответы>>648213>>648244

09 Фев, 18:21 #297 #648213

>>648208
Ок. спс

09 Фев, 18:43 #298 #648244

>>648208
> ковыряй свои хэловорды в отладчике
У меня от этого манямирок рухнул. Всё оказалось совсем не так как я представлял. А потом ещё и память посмотрел. Оно там совсем всё криво хранит. Для оптимизации наверно это сделано.

Ответы>>648260

09 Фев, 18:52 #299 #648260

>>648244
Кому вообще нужно это говно?

Ответы>>648266>>648297

09 Фев, 19:00 #300 #648266

>>648260
Мне интересно как работает программа, которую я пишу. Ничего такого в этом не вижу.

Ответы>>648278

09 Фев, 19:05 #301 #648278

>>648266
Можешь еще резисторы пальцами потрогать.

Ответы>>648293

09 Фев, 19:24 #302 #648293

>>648278
Съеби в яватред, если тебе похуй на то, что как работает.

09 Фев, 19:26 #303 #648297

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

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

>>648171
Здесь есть варианты.

В самом общем случае, это будет зависеть от архитектуры процессора, компилятора и calling convention.

Для x86 аргумент функции (т.е. в данном случае указатель размером 4 байта), как правило, будет загружен в стек инструкцией push перед вызовом функции, что в можно считать копированием, потому что стек является отдельной областью памяти, только особым образом организованной. Вызванная функция может достать этот самый указатель при такой организации только из этой самой области, куда он был скопирован.

Если в силу каких-то причин используются calling convention fastcall (явное указание программиста, оптимизация компилятора, один из первых трех аргументов функции на x64), то передача будет осуществляться через регистр. Можно ли это считать копированием? И да и нет, потому что формально копирование идет из памяти в регистр (временную рабочую ячейку), а не из памяти в память, но с другой стороны, функция опять видит копию.

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

Ответы>>648304

09 Фев, 19:30 #304 #648302

>>647714
http://ideone.com/HfeVOl

09 Фев, 19:31 #305 #648304

>>648297
Во. Спасибо.

Ответы>>648341

09 Фев, 19:34 #306 #648314

>>647703
А почему он "ебать дебил", в чем пороблема с &x?

Ответы>>648322

09 Фев, 19:37 #307 #648322

>>648314
Потому что чтобы "я хочу, чтобы у каждого рабочего был свой набор переменных." нужно переменную скопировать в лямбду, то есть сделать [=]+mutable. А тут одновременно, вопрос, типа, а почему не [&] и это требование. Автор двух постов один и тот же, потому что написал "алсо" во втором.

Ответы>>648360

09 Фев, 19:43 #308 #648330

Смотрите чо нашёл, крестаны. В последнем cppcast рекламировали.

https://goo.gl/rDTZDZ

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

Ответы>>648348>>648353

09 Фев, 19:52 #309 #648341

>>648304
Учти еще, вышенаписанное мною применимо только в передаче указателя в функцию по значению. Можно передать указатель по ссылке или указатель на указатель. Тогда те же самые действия будут производиться не с самим указателем, а его адресом. Это дает вызываемой функции возможность изменить САМ указатель так, чтобы результат этого изменения был виден в вызывающей функции.

09 Фев, 19:56 #310 #648348

>>648330
Годнота. Добра тебе.

14 Кб, 382x175

09 Фев, 20:03 #311 #648353

>>648330
Что ему здесь не нравиться и чем отличается от того что в иде?

Ответы>>648362>>648368

09 Фев, 20:08 #312 #648360

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

Ответы>>648373

09 Фев, 20:08 #313 #648362

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

Ответы>>648365

09 Фев, 20:09 #314 #648365

>>648362
Я же не специально.

Ответы>>648367

09 Фев, 20:10 #315 #648367

>>648365
https://goo.gl/xBHwbp

09 Фев, 20:10 #316 #648368

>>648353
>>648353
http://stackoverflow.com/questions/8356223/assign-a-string-literal-to-a-char

09 Фев, 20:13 #317 #648372

Как сделать в крестах паттерн-матчинг, посоны?

Ответы>>648540>>648601

09 Фев, 20:15 #318 #648373

>>648360
Лямбда в С++ и есть сахар для функционального объекта с полями. С помощью [&] и [=] ты управляешь типами этих полей.

09 Фев, 21:29 #319 #648437

Господа, добрых суток.
Qt-макака отчасти не по своей воли с недодипломом вновь врывается в тред.
Вопрос вот в чем - нужно вывести 4 поля таблицы БД (их на самом деле больше, но нужны только 4). База со связами. Гугл говорит о разных вариациях (о всяких Item`ах рассуждений много, а также в выборе QTableWidget и QTableView), но я уже среди них успел запутаться и на данный момент имею такую кашу:
http://pastebin.com/sD19pv7y (вырезано, ибо все держится пока в main, т.к. долбоеб)

(initialization вызывается в конструкторе)

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

Примеры документации видел, хочу пощупать на выходных, пока ищу альтернативные источники

Заранее всем добра.

Ответы>>648443>>648463

09 Фев, 21:35 #320 #648443

>>648437
ошибки смотрел, lastError() ничего не говорит? может схема базы не соотв.?

Ответы>>648451

09 Фев, 21:40 #321 #648449

О, кстати. Никогда на Qt не работал с БД, хотет попробовать.
SQLite сгодится для экспериментов?

Ответы>>648466

09 Фев, 21:41 #322 #648451

>>648443
Если я правильно понимаю, база подключается (там на 30ой строке начинается if, ошибок не показывается, в статусбаре виджет цвет меняет).
В базу самолично вписал пару строк, она точно не пустая. Но там и колонки не показываются.

Попробую вывести lastError и на момент подключения к сожалению, у меня проблемы с доступом к компу, поэтому до выходных набираю инфы

09 Фев, 21:49 #323 #648463

>>648437
если нужно просто вывести колонки согласно запросу, то проще всего будет использовать QSqlQueryModel.
https://www.youtube.com/watch?v=fJIdMdYJqFk

Ответы>>648469

09 Фев, 21:50 #324 #648466

>>648449
Сгодится. Но ЕМНИП, она однопользовательская и без типов. Не БД а недоразумение.

Ответы>>648472

09 Фев, 21:52 #325 #648469

>>648463
Благодарю за канал, буду изучать.

09 Фев, 21:53 #326 #648472

>>648466
Пока мне за глаза, опыта с БД нет.

09 Фев, 23:01 #327 #648540

>>648372
G://stroustrup pattern matching
Например

10 Фев, 00:51 #328 #648601

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

10 Фев, 14:30 #329 #648908

А как в VS можно отслеживать динамическую память?

Ответы>>649017

10 Фев, 16:30 #330 #649017

>>648908
>А как в VS можно отслеживать динамическую память?
Define "отслеживать"

10 Фев, 16:40 #331 #649022

Если я возвращаю из функции ссылку на инт например. Что будет содержаться по этой ссылке после выхода из функции? То есть

int& rect() {
int a = 0;
return &a
}
...
int& b = rect();
cout << b;
_______
Что будет в b?

Ответы>>649032>>649041

10 Фев, 16:46 #332 #649032

>>649022
У тебя будет ссылка на а из rect. Но если ты создашь ещё одну функцию похожую
int& rect2() {
int a = 10;
return &a;
}

но просто её вызовешь (не присваивая b), то у тебя значение в b станет равным десяти. Получается в b хранится адрес значения на стеке, но это значение может изменится при новых записях на стек.

Ответы>>649033>>649051>>649124

10 Фев, 16:47 #333 #649033

>>649032
>значения
переменной

10 Фев, 16:52 #334 #649041

>>649022
http://ideone.com/kFOQDR
Вот тебе ещё пример. У себя попробуй запустить.

10 Фев, 16:58 #335 #649051

>>649032
Я понимаю после выхода из rect система помечает память которую занимали объекты функции rect как свободную и при необходимости перезаписывает ее. При этом в ссылке b будет содержаться значение возвращенное rect до тех пор пока что-то другое не перезапишет ее

Ответы>>649060

10 Фев, 17:05 #336 #649060

>>649051
Ну он не помечает ее как свободную. Просто stack pointer указывает на другую область в стеке.
> При этом в ссылке b будет содержаться значение возвращенное rect до тех пор пока что-то другое не перезапишет ее
Да. При компиляции у тебя должен быть warning возвращения адреса локальной переменной.

10 Фев, 17:58 #337 #649102

Есть пачка QPushButtonов внутри QHBoxLayout, как сделать возможным их перетаскивание/перестановку?

Ответы>>649110

10 Фев, 18:07 #338 #649110

>>649102
Засунуть кнопки в QDockWidget.
Если нужна перестановка по нажатию кнопки - просто обновить прослойку, переставив что нужно.

10 Фев, 18:19 #339 #649124

>>649032
Разве это не UB?

Ответы>>649133

10 Фев, 18:26 #340 #649133

>>649124
Да, UB. Но, в принципе, всё так и будет происходить на x86.

Ответы>>649183>>649196

10 Фев, 18:54 #341 #649183

>>649133
>похуй, что UB, всё равно делай так
В легитимных такого не было!

10 Фев, 19:00 #342 #649196

>>649133
>Да, UB. Но, в принципе, всё так и будет происходить на x86.
Еблан штоле? Дальше ты ее передашь куда-нибудь, на место переменной залезет адрес возврата и привет remote code execution, йуху!

Округление 10 Фев, 19:09 #343 #649220

Анончики, скажите, почему при делении число округляется автоматически?

Ответы>>649224>>649250

10 Фев, 19:12 #344 #649224

>>649220
Потому что такой стандарт языка, не?

Ответы>>649249

10 Фев, 19:21 #345 #649249

>>649224

А как можно избавиться от этого?

Ответы>>649265

10 Фев, 19:21 #346 #649250

>>649220
мантисса числа отбрасывается при приведении к целому.

Ответы>>649266

10 Фев, 19:25 #347 #649265

>>649249
Взять и написать 2/1.0 вместо 2/1.
Либо int/double вместо int/int

Ответы>>649273

10 Фев, 19:26 #348 #649266

>>649250

А если я записываю итог во float, это не имеет значения?

Ответы>>649273

10 Фев, 19:29 #349 #649273

>>649266
ну у тебя получается так
float n=(int)10/(int)3;

а тебе нужно >>649265

Ответы>>649278

1 Кб, 176x115

10 Фев, 19:31 #350 #649278

>>649273

А как сделать в таком случае?

Ответы>>649283>>649285

10 Фев, 19:33 #351 #649283

>>649278
time/distance/1.0

Ответы>>649286

10 Фев, 19:34 #352 #649285

>>649278
real = (тип real)time/(тип real)distance;

Ответы>>649286

10 Фев, 19:35 #353 #649286

>>649283
>>649285

Понял, спасибо

Ответы>>649300

10 Фев, 19:43 #354 #649300

>>649286
можно написать (float)time/distance или наоборот. Как это называется...расширение типов что ли

Ответы>>649301>>649304>>649705

10 Фев, 19:43 #355 #649301

>>649300
Приведение.

Ответы>>649327

10 Фев, 19:44 #356 #649304

>>649300
Можно. Но я пишу тип и там и там.

Ответы>>649309

10 Фев, 19:45 #357 #649309

>>649304
ТЕРЯТЬ ВРЕМЯ НА ДВОЙНОЕ ПРИВЕДЕНИЕ ТИПА! НЕ ПО-C++СОВСКИ! ЛОВИТЕ БАЙТОПРОЁБЕРА.

Ответы>>649325

10 Фев, 19:53 #358 #649325

>>649309
http://goo.gl/i6rxDq
http://goo.gl/WsbCGs
http://goo.gl/Vi5ST5

Ответы>>649388

10 Фев, 19:55 #359 #649327

>>649301
Ну да, это же не ДЖАВА

10 Фев, 20:28 #360 #649388

>>649325
А это не оптимизация компилятора?

10 Фев, 20:49 #361 #649415

Чем виртуальный слот отличается от не виртуального?

11 Фев, 00:14 #362 #649705

>>649300
type narrowing это называется

11 Фев, 15:36 #363 #650014

Напрягает одна вещь.
В Widget'е находится QToolButton. При нажатии на тулбаттон срабатывает QEvent::FocusOut в филтере, я не мог понять, почему так происходит, но мне кажется я нашел хотя бы источник бед. А заключается в следующем: на каждое нажатие мышью по баттону вызывается сразу несколько QMousePressEvent (проверил через qDebug() в фильтре).
Почему так может происходить с нажатиями и как с этим бороться?
Код не мой, пытаюсь разобраться.

Ответы>>650378

11 Фев, 21:27 #364 #650378

>>650014
ты события как обработанные помечаешь?

Ответы>>650392

11 Фев, 21:42 #365 #650392

>>650378
Поясни

Ответы>>650407

11 Фев, 21:54 #366 #650407

>>650392
http://doc.qt.io/qt-4.8/qevent.html#accept

Ответы>>651011

12 Фев, 09:55 #367 #651011

>>650407
Не понял, как мне это поможет.

Ответы>>651023

12 Фев, 10:06 #368 #651023

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

Ответы>>651195

12 Фев, 13:52 #369 #651195

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

12 Фев, 14:48 #370 #651241

Я тот ньюфаг, что недавно начал учить С++. Такой вопрос, я иногда листаю вакансии, и там где указан С++, как правило, кроме знания ++ стоит еще понимание ООП.
Я слышал что объектно-ориентированное программирование - это основная фишка ++ или я что-то не понял?

Ответы>>651253

29 Кб, 1689x129

12 Фев, 14:49 #371 #651243

И еще, поясните что делает эта программа?
Особенно в строчке: pl = pl pl;
Я вывод сделал, оно выводит одинаковый адрес. Т.е. сама программа в этой строчке ничег не делает?

Ответы>>651250

12 Фев, 14:55 #372 #651250

>>651243
Делает, но производит действия над значемнием по адресу а не адресом. Во второй строчке ты присваиваешь p1 адрес по которому лежит 42, после возводишь 42 в квадрат в следующей строчке.

Ответы>>651252

12 Фев, 15:02 #373 #651252

>>651250
Cпасибо. Я, просто, недавно всё это изучаю. Пока мало что понимаю.
Как я понял указатель - указывает на адрес объекта, но с ним можно производить операции.
А ссылка - ссылается на значения объекта, и так же можно прободить операции.

12 Фев, 15:05 #374 #651253

>>651241
Не листай вакансии с++, ближайшие минимум лет 5 они тебе не светят.

12 Фев, 15:24 #375 #651281

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

Ответы>>651761

12 Фев, 21:09 #376 #651761

>>651281
загугли

12 Фев, 22:45 #377 #651847

Блядские auto и decltype(). Ебаные ссылки. Извините, накипело.

Ответы>>651851

12 Фев, 22:47 #378 #651851

>>651847
lol, n00b

Ответы>>651855>>651859

12 Фев, 22:50 #379 #651855

>>651851
Согласен. Почитал повнимательнее об этой хуйне и всё понял. Кроме ссылков. Нахуя нужны эти ебаные ссылки, блджад? Они же только место занимают.

12 Фев, 22:52 #380 #651859

>>651851
Двачую милорда. Что ж ты делал, когда когда надо было ебашить std::unordered_map<LocationInfo, std::pair<std::vector<MyStruct1>, MyFuckingData*>> map() ?
А ссылки - это всего лишь гарантия, что указатель будет не нулевой.

Ответы>>651953>>652257

12 Фев, 23:31 #381 #651892

Объявляется специальная олимпиада:
Поделите int на 5, используя только +, - и битовые сдвиги.

Ответы>>651912>>651928>>652149>>652196>>652209>>652282

12 Фев, 23:43 #382 #651912

>>651892
А остаток от деления куда?

Ответы>>651927

12 Фев, 23:55 #383 #651927

>>651912
Это же int.

12 Фев, 23:57 #384 #651928

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

Ответы>>651980

13 Фев, 00:23 #385 #651953

>>651859
И еще доказательство, что это * const, и внезапно он не станет указывать куда-то в другое место.

13 Фев, 00:47 #386 #651980

>>651928
x >> (sizeof (x) + ... 8 раз ... + sizeof (x) - 1). Получаешь знаковый бит как s. Дальше (x << 1) >> 1 - приводишь к модулю не помню точно деталей реализации >>, но если он сохраняет знак, то описанной тобой проблемы вообще нет, и можно сразу перейти к финалу. Дальше делишь сдвигами и складываешь с s << назад на то же расстояние.

Само беззнаковое деление не так тривиально как, скажем, умножение на 5, но там тоже можно зделать одним выражением без условий, ибо мы знаем размер инта, и можно просто явно написать все члены вплоть до момента, когда гарантированно делимое кончится. Будет в конце складывать с нулями, но зато все по условию. Алсо, подобная ебала очень неплохо описана в байтоебской библии за авторством Уоррена-младшего.

Ответы>>651985

13 Фев, 00:55 #387 #651985

>>651980
Если быть совсем точным, 1/5 = 1/4-(1/16-(1/64-...)...) или сорта. Ну вот, отрезаем от этого ряда тот кусок, в котором знаменатели меньше sizeof(int), каждый член представляем битовым сдвигом и без задней мысли вычитаем. Получится длинное некрасивое выражение, но всего с тремя командами.

Ответы>>652099

13 Фев, 08:35 #388 #652099

>>651985
Этот ряд сходится, если деление нецелочисленное.
Скажем, твоя func(4) == 1, что неверно.

Разрешается использовать все битовые операции.
int теперь unsigned

Ответы>>652101

sage 13 Фев, 08:45 #389 #652101

>>652099
Байтоёб, иди нахуй.

13 Фев, 10:58 #390 #652149

>>651892
>Объявляется специальная олимпиада:
>Поделите int на 5, используя только +, - и битовые сдвиги.
Я поделю через / и не буду ебать мозги.

13 Фев, 12:44 #391 #652196

>>651892
>Поделите int на 5, используя только +, - и битовые сдвиги
Хуй знает, башка болит и лень думать.
mov eax, chislo
xor edx, edx ; тут будет остаток
shr eax, 1 ;делим на 2
adc edx, 0 ; сохранили остаток
shr eax, 1 ; поделили на 2^2
adc edx, 0 ; прибавили остаток к сохраненному остатку
sub edx, 5

Ответы>>652202

13 Фев, 12:47 #392 #652202

>>652196
Иди нахуй.

Ответы>>652206

13 Фев, 13:02 #393 #652206

>>652202
CкриптоPPеtuшку припекло.

13 Фев, 13:14 #394 #652209

>>651892
>Объявляется специальная олимпиада:
>Поделите int на 5, используя только +, - и битовые сдвиги.

Родина дала ему инструкцию div, а он: "нет хочу жрать говно".

13 Фев, 13:17 #395 #652211

Захожу, значится, я в цпп тред, посмотреть чем мещане живут, обсуждают ли преимущества C++11/14, ведь убогим наконец-то выдали обобщённые лямбды, вывод типов, замыкания и прочие крохи со стола элиты. Интересно было понаблюдать как сии говнари на них отреагируют. Так вот, захожу и... батюшки, вместо этого, быдло пригласило к себе на ужин измазанных в говне байтобомжей и после совместного распития портвешка стало с ними совокупляться, выкрикивая ассемблерные команды. Стыд и срам, господа.

Ответы>>652213>>652230

13 Фев, 13:18 #396 #652213

>>652211
Орнул с твоей манеры повествования, пиши еще.

13 Фев, 13:32 #397 #652230

>>652211

Какая забавная картина. Борщехлебы собрались небольшой группкой за помойкой и пытаются выкладывать говном на снегу кусочки господских паст. В остальном же - ничего необычного, повсюду разбросаны пустые кастрюли из-под борща, а между мусорными бачками, обнимая треснувшую гитару, прикорнул совсем ещё юный говнарёк, по-видимому, немного перебравший для первого раза. К счастью, данное безобразие недолго оставалось незамеченным. Проезжавший мимо кучеp, спешивший на ярмарку лошадей, заметил подозрительное копошение и доложил о виденном ближайшему антиговнарскому патрулю. В считанные минуты все петордии были утилизованы эколочически чистым способом (без выделения парникоборщового эффекта), за исключением упоминавшегося юнца, который был отправлен в хлев в качестве известного эксперимента. Результаты и на сей раз превзошли ожидания. После воспитательного курса подопытный начал слушать IDM и даже записался в штат прислуги господского дома грузчиком ящиков с элитными напитками. Единственная замеченная странность - частые неконтролируемые движения головой (возможно, имитация сотрясания патл), но это уже детали.

Ответы>>652271>>652482

13 Фев, 14:12 #398 #652257

>>651859
Можно создать ссылку на объект в динамической памяти и его удалить, сами такое делал, лол

13 Фев, 14:27 #399 #652271

>>652230
>IDM
Ты ошибся, когда писал EBM.

https://youtu.be/RkKkvCGg8MA

sage 13 Фев, 14:34 #400 #652282

>>651892
>специальная олимпиада
Ты тот хуй которому ссылку на лурк про кодач в прекреплёном треде кинули?

Ответы>>652285

13 Фев, 14:35 #401 #652285

>>652282
Ты хоть shellshock заюзать сможешь, хаскельподмывальаня маня?

Ответы>>652286

sage 13 Фев, 14:36 #402 #652286

>>652285
Надо же и мемчики выучил

Ответы>>652294

13 Фев, 14:41 #403 #652294

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

13 Фев, 15:17 #404 #652360

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

Ответы>>652378

13 Фев, 15:25 #405 #652378

>>652360
а с++ не бесполезный, блять? Сорта говна.

Ответы>>652381>>652445

13 Фев, 15:28 #406 #652381

>>652378
Люди вредны по своей природе, поэтому создать они могут лишь бесполезные или вредные вещи.

13 Фев, 15:56 #407 #652445

>>652378
На нем же пишут драйвера и игори.

13 Фев, 16:07 #408 #652464

Шо ета за хуйня? Надо получить содержимое веб-страницы, нашёл примерчик на rsdn с wininet, сервер (вертиго, ёба) включил на компе, и делаю запрос к .txt файлу - всё ок (пускай будет abc123), меняю содержимое файла(на 321cba), делаю опять запрос - текст старый (т.е abc123) а в файле 321cba.

Ответы>>652470>>652473

13 Фев, 16:14 #409 #652470

>>652464
А ты файл сохранил?

13 Фев, 16:17 #410 #652473

>>652464
Скорее всего тебе понадобится поделить int используя только битовые сдвиги в этой ситуации.

Ответы>>652486

13 Фев, 16:26 #411 #652482

>>652230
И это всё, тухлая паста в ответ? Пффф))
Сдаешь, старина.

13 Фев, 16:33 #412 #652484

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

Ответы>>652511

13 Фев, 16:35 #413 #652486

>>652473
А могли бы на хаскеле паттернматчингом замутить.

13 Фев, 16:48 #414 #652506

>>644993
> Boost нинужен

А вот как тогда отправить GET-запрос на сервак? Да и вообще нетворкинг на каких-нибудь ссаных линуксаз без использования QT?

Вариант std::system("curl") не рассматриваем!

Ответы>>652514>>652521

13 Фев, 16:48 #415 #652511

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

13 Фев, 16:51 #416 #652514

>>652506
netcat

13 Фев, 17:01 #417 #652521

>>652506
Да любой эштэтэпэ либой, например новой няшной casablankoй.
С бустом код не намного лучше чем с голыми сокетами получится.

13 Фев, 17:31 #418 #652552

Что пишете, плюсаны?

Ответы>>652573>>652589

13 Фев, 17:45 #419 #652568

Аноны, а как вам связка gui на python, а основной код на c++? Стоит ли?

Ответы>>652575>>652605

13 Фев, 17:55 #420 #652573

>>652552
Да вот парсер веб-страницы пытаемся, но похоже для цпп это слишком сложная задача.

Даже несколько раз для разминки поделил int на 5 используя только смещения и вспомнил таблицу умножения до 12х12, но воз и нынче там.

Ответы>>652575

13 Фев, 17:58 #421 #652575

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

>>652573
> но похоже для цпп это слишком сложная задача.
Нельзя просто взять и воспользоваться готовым.
Ты интерпритаторы скриптовых языков тоже сам пишешь?

Ответы>>652581>>652583

13 Фев, 18:03 #422 #652581

>>652575
Но Питно же как раз связывающий/склеивающий скриптовый язык, не?

Ответы>>652594

13 Фев, 18:06 #423 #652583

>>652575
А как же Boost.Python?

Ответы>>652594

13 Фев, 18:13 #424 #652589

>>652552
клиент для сосаки
https://bitbucket.org/generatorglukoff/maeboards

Ответы>>652610

13 Фев, 18:18 #425 #652594

>>652581
>>652583
Это все равно ещё один уровень абстракции и только увеличит работу. Так же тебе кроме обычного Qt (на 20-30+ мб в зависимости от потребностей) придется тащить ещё буст (с 3-х часовым билдом и наслаждаться отладкой этого чудища) и интерпретатор питона.

А выиграешь ты от этого всего нихуя – синтаксис UI кода заменится на питон, с сохранением всего остального.

Хз нахуй нужен промежуточный склеивающий язык между C++ фреймворком и C++ кодом.

Ответы>>652595>>652598

13 Фев, 18:19 #426 #652595

>>652594
Но... Я же только хотел... А как же вечное ебание ради ебания?..

Ответы>>652605

13 Фев, 18:22 #427 #652598

>>652594
Спасибо за ответ. Попробую и через pyqt, и через обычный qt.

13 Фев, 18:26 #428 #652605

>>652568
Я бы в ебало дал, вот чесслово.
>>652595
Ну ради этого конешн можно и ПРЕНЕВОЗМОЧЬ

13 Фев, 18:29 #429 #652610

>>652589
> mobile client
Тебе не сделать лучше чем есть. А на пк делать клиент для сайта имеет смысл? Было бы наверно лучше без браузера капчевать.

Ответы>>652614>>652679

13 Фев, 18:35 #430 #652614

>>652610
На на пеке в бровсере разве что подсветки кода не хватает.

Но у этого господина свои шизо-закидоны:
>OS support
>Maemo 5 (Nokia N900)
>Symbian^3

Ответы>>652631>>652679

13 Фев, 18:43 #431 #652631

>>652614
А, точно. Уже видел тебя в этом треде со своим проектом.

Ответы>>652633

13 Фев, 18:43 #432 #652633

>>652631
Удачи пожелать забыл.

13 Фев, 19:02 #433 #652655

Байтослесари, можно как-то улучшить мой код?

https://ideone.com/KR5dW5

Ответы>>652657>>652658

13 Фев, 19:03 #434 #652657

>>652655
перепиши на хаскель

Ответы>>652663

13 Фев, 19:03 #435 #652658

>>652655
Код не читал, ответ "да".

Ответы>>652671

13 Фев, 19:06 #436 #652663

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

13 Фев, 19:09 #437 #652671

>>652658
Теперь прочитал код.
Все числа положительные и маленькие, значит можно писать unsigned short.
За каким хуем ты дублируешь переменные в функции?
Деление на 8 можно заменить битовым сдвигом, потому что см. пункт 1.
И вообще. Абсолютно охуительного кода не существует нигде. Кроме Мелкомягкой компании.

Ответы>>652675>>652683

13 Фев, 19:11 #438 #652672

Хачкельмрази лучше бы алгебраическую теорию чисел в рашке поднимали. Сейчас в стране победившего петросяна такая обстановка в науке, что на защите диссера маразматичные деды тебя хуесосят, потому что считают, что размерности дивизоров и границы Серра - это какая-то хуета. Картошку ж гомологиями не пожаришь, а вот в СССР только так высчитывали при помощи рядов нагрузки на балки! Этих мразей надо задавить алгеброй, чтобы они порвались от вездесущих категорий и модулярных кривых.

Ответы>>652678

13 Фев, 19:13 #439 #652675

>>652671
>см. пункт 1.
они не пронумерованны мудило

13 Фев, 19:16 #440 #652678

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

Ответы>>652682

13 Фев, 19:18 #441 #652679

>>652610
>Тебе не сделать лучше чем есть.
посмотри на куклочан

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

13 Фев, 19:18 #442 #652682

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

13 Фев, 19:19 #443 #652683

>>652671
>значит можно писать unsigned short.
>Деление на 8 можно заменить битовым сдвигом, потому что см. пункт 1.
блять, разработчики процессоров суют тебе в ебло div, а ты говоришь -"НИТ Я ХАЧУ ЖРАТЬ ГАВНО))"
Если конпилятор с каким нибудь -O3 уже не сделал это за него.
>Кроме Мелкомягкой компании.
Ты совсем поехавший?

Ответы>>652687

13 Фев, 19:20 #444 #652687

>>652683
>Если конпилятор с каким нибудь -O3 уже не сделал это за него.
Вот за это и не люблю кресты. В си и хаскеле хоть понимаешь во что код компилируется.

Ответы>>652696>>652751

13 Фев, 19:22 #445 #652690

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

Ответы>>652699>>652709

13 Фев, 19:22 #446 #652692

Посоветуйте развернутое чтиво о том, на что влияет memory ordering из нового стандарта на уровне оптимизаций, проводимых как конпелятором, так и вычислительным блоком на лету. Читал concurrency in action, но метафоры о чуваке с блокнотом, который отвечает по телефону меня не удовлетворили.

13 Фев, 19:25 #447 #652696

>>652687
>и хаскеле
А ну давай 10 секунд тебе, чтобы рассказать, во что компилируется list comprehension.

13 Фев, 19:25 #448 #652699

>>652690
С другой стороны, уравниловка не сильно лучше.

Ответы>>652701>>652748

13 Фев, 19:26 #449 #652701

>>652699
С другой стороны, люди не сильно лучше животных.

Ответы>>652703

13 Фев, 19:27 #450 #652703

>>652701
С третьей стороны, ты - хуй и спорить с этим бесполезно.

Ответы>>652713

13 Фев, 19:29 #451 #652709

>>652690
Ты бредишь. Марксизм, вообще-то про дележ прибыли.

Ответы>>652716>>652717

13 Фев, 19:31 #452 #652713

>>652703
>спорить с этим бесполезно.
Может попробуем?

13 Фев, 19:31 #453 #652716

>>652709
Нет. Прибыли в макрсизме нет.

13 Фев, 19:31 #454 #652717

>>652709
А фрейдизм тогда о том, что все мужики должны курить большие толстые сигары?

13 Фев, 19:33 #455 #652719

Про дележ прибавочной стоимости, уточню

13 Фев, 19:35 #456 #652728

Да идите вы нахуй, лучше подскажите, что почитать по memory ordering

Ответы>>652731

13 Фев, 19:36 #457 #652731

>>652728
Да иди ты нахуй. У нас тут нелегитимный крестотред и мы тут говорим о хаскеле и марксизме.

Ответы>>652736

# OP 13 Фев, 19:39 #458 #652736

>>652731
>нелегитимный крестотред
В чем это выражается?

ОП

Ответы>>652741>>652743>>652751

13 Фев, 19:40 #459 #652741

>>652736
В названии.

13 Фев, 19:40 #460 #652743

>>652736
И стишка нет.

13 Фев, 19:41 #461 #652745

И почему мод переименовал? Из-за отсутствия стишка? Очень нужная вещь в C++ треде на дваче, я считаю.

Ответы>>652750

13 Фев, 19:42 #462 #652748

>>652699
Марксизм не подразумевает собой уравниловку.
Можешь иметь какие угодно доходы за счет продажи результатов своего труда.
Нельзя продавать результаты чужого труда (практически всегда подневольного за счет экономического принуждения к труду под страхом безработицы), забирая разницу себе

Ответы>>652752

13 Фев, 19:43 #463 #652750

>>652745
Тебя первыми постами обоссали ещё. И нет истории тредов первым постом и оппик не оригинальный и шапка переделана без участия настоящего опа.

Ответы>>652755

13 Фев, 19:43 #464 #652751

>>652687
В си оптимизатор работает так же с математическими операциями, лел.
>и хаскеле
Удачи. Прям пишешь и видишь во что твои монадки разворачиваются, как gc себя поведёт.
>>652736
>В чем это выражается?
В том что старый оп по неделе забивал на перекаты?

13 Фев, 19:44 #465 #652752

>>652748
>Нельзя продавать результаты чужого труда
И как это осуществить? Как оценивать труд руководителей? А инвесторов?

Ответы>>652765>>652785

13 Фев, 19:45 #466 #652755

>>652750
>шапка переделана без участия настоящего опа
Не похуй ли? Не нравится - переделай сам в следующий раз.

13 Фев, 19:49 #467 #652765

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

Ответы>>652772>>652774

13 Фев, 19:51 #468 #652772

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

Ответы>>652780

13 Фев, 19:52 #469 #652774

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

Ответы>>652778

13 Фев, 19:53 #470 #652778

>>652774
У государства. Решения принимает все равно наемный управляющий, так, как минимум, не один ли хуй тебе, поидет прибыль владельцу капитала или в бюджет

Ответы>>652787

13 Фев, 19:55 #471 #652780

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

13 Фев, 19:56 #472 #652782

не устраивайте политоту в крестотреде
пиздуйте в /po/, /biz/

Ответы>>652792

13 Фев, 19:57 #473 #652785

>>652752
>оценивать труд руководителей
Деньгами лол. Он получает столько сколько стоит.

Ответы>>652788

13 Фев, 19:58 #474 #652787

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

Ответы>>652791

13 Фев, 19:58 #475 #652788

>>652785
Труд руководителя стоит столько, за сколько в среднем на рынке можно найти ему замену.

13 Фев, 19:59 #476 #652791

>>652787
Аркадий Акакич не получал сам ничего кроме фиксированного оклада.

Ответы>>652794>>652806

13 Фев, 19:59 #477 #652792

>>652782
Но ведь я не хочу вымазываться дерьмом, но залезть в политоту же хочется!

13 Фев, 20:01 #478 #652794

>>652791
В манямирке и текущие депутаты и судьи с домами на рублёвке не получают ничего кроме фиксированного оклада. И в совке получали разве что при Сталине давали тащить только самой илите вроде Берии.

Ответы>>652796

13 Фев, 20:04 #479 #652796

>>652794
Государственная власть есть институт для обеспечения господства правящего класса. Текущие депутаты и судьи несут службу капиталу и сами являются тесно сращенными с капиталом. Это и есть капитализм не в манямирке.

Ответы>>652806>>652823>>652836

13 Фев, 20:07 #480 #652806

>>652796
>>652791
Ты уж определись, получает ли Аркаша что-то кроме фиксированного оклада, или же весь капитал гос-ва его кошелёк.

Ответы>>652820

13 Фев, 20:11 #481 #652820

>>652806
Капитал государства есть общественный фонд, общак. Право взять его наемный управляюющий (смотрящий за общаком) не имет.

Ответы>>652829>>652836

13 Фев, 20:12 #482 #652823

>>652796
>Государственная власть есть институт для обеспечения господства правящего класса

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

Ответы>>652850

21 Кб, 526x349

13 Фев, 20:13 #483 #652827

Поясните за неопределённое поведение в этом коде.

https://ideone.com/dZHg5d

Ответы>>652838>>652839>>652845>>652872

13 Фев, 20:14 #484 #652829

>>652820
Олола. Существует тысяча и один способ распоряжаться этим общаком по своему усмотрению для своей выгоды. deal with it

Ответы>>652850

13 Фев, 20:15 #485 #652836

>>652820
>>652796
>Текущие депутаты и судьи несут службу капиталу и сами являются тесно сращенными с капиталом
Опять сам себе противоречишь.

Ответы>>652852

13 Фев, 20:15 #486 #652838

>>652827
Иди нахуй с этим долбоебизмом. Еще время на это говно тратить

Ответы>>652851

13 Фев, 20:16 #487 #652839

>>652827
Пойди-ка ты на неопределенный орган.

13 Фев, 20:17 #488 #652845

>>652827
Какое, нахуй, неопределённое. Оно определённо выдаст ошибку.

Ответы>>652851

13 Фев, 20:19 #489 #652850

>>652823
1) У тебя, помимо этого, при капитализме несравнимо больше шансов на то, чтобы лишиться здоровья (это сразу пиздец), жилья или сразу жизни, поскольку ты представляешь собой раба и пушечное мясо капитала.
>>652823
>>652829
2) Это так. Поэтому социализма быть не может, поскольку он представляет собой положение неустойчивого равновесия.

Ответы>>652859>>652863>>652864

13 Фев, 20:19 #490 #652851

>>652838
Он не мой, а какого-то мудака из бэ.

>>652845
Почему?

13 Фев, 20:20 #491 #652852

>>652836
Ты путаешь капиталистическое государство и социалистическое.

13 Фев, 20:22 #492 #652859

>>652850
>ты представляешь собой раба и пушечное мясо капитала
Что мне мешает не быть рабом и накапливать капитал самому?

Ответы>>652883

13 Фев, 20:23 #493 #652863

>>652850
>2) Это так. Поэтому социализма быть не может, поскольку он представляет собой положение неустойчивого равновесия.

И таки что вы предлагаете тогда?

Ответы>>652883

13 Фев, 20:23 #494 #652864

>>652850
Человеческая ходьба тоже положение неустойчивого равновесия. Но люди же как-то ходят?

13 Фев, 20:29 #495 #652872

>>652827
>--k
>++k
с неопределенным sequencing order

Ответы>>652878

13 Фев, 20:31 #496 #652878

>>652872
А можно цитату из стандарта? Я тоже самое говорил только название не знал и гугл не находит

Ответы>>652889

13 Фев, 20:32 #497 #652883

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

Ответы>>652897

13 Фев, 20:32 #498 #652889

>>652878
http://en.cppreference.com/w/cpp/language/eval_order

Ответы>>652899>>652901

13 Фев, 20:34 #499 #652897

>>652883
>Тут я ничего не могу сказать.

Ну и пошел нахуй, тогда, аналитик 5-б.
Критикуешь - предлагай.

Ответы>>652906

13 Фев, 20:35 #500 #652899

>>652889
Но это cpp, а он тебе кидал .c файл. Вообще, этот сишник пришёл не в тот тред. И не в ту профессию.

Ответы>>652914

13 Фев, 20:35 #501 #652901

>>652889
Это же общие случаи, а ты какой-то конкретный назвал.

Ответы>>652911

13 Фев, 20:36 #502 #652906

>>652897
У тебя же вообще сплошная неграмотность, как ты собираешься быть капиталистом, если ты не понимаешь принципов работы капиталистического уклада и, тем самым, своих классовых интересов?

55 Кб, 802x288

13 Фев, 20:37 #503 #652911

>>652901

Ответы>>652913

13 Фев, 20:37 #504 #652912

Легитимный ОП в треде?

Ответы>>652917

13 Фев, 20:37 #505 #652913

>>652911
Спасибо.

13 Фев, 20:37 #506 #652914

>>652899
http://en.cppreference.com/w/c/language/eval_order для сишки

13 Фев, 20:38 #507 #652915

Пили перекат, Маня

Ответы>>652921

239 Кб, 1959x1959

# OP 13 Фев, 20:38 #508 #652917

>>652912
Да

Ответы>>652922

13 Фев, 20:39 #509 #652921

>>652915
Сам пили, дуся. Этим перекатом недовольны, а предыдущего ОП'а ждать будем до переката на следующий двач.

Ответы>>652930>>652952

13 Фев, 20:39 #510 #652922

>>652917
Почему за неделю айпи не сменил?

Ответы>>652926

13 Фев, 20:40 #511 #652926

>>652922
А должен был.

Ответы>>652928

13 Фев, 20:41 #512 #652928

>>652926
Если это вопрос, то да.

Ответы>>652931

13 Фев, 20:41 #513 #652930

>>652921
Но я же не крестух

Ответы>>652932

13 Фев, 20:41 #514 #652931

>>652928
Почему?

Ответы>>652934

13 Фев, 20:42 #515 #652932

>>652930
Тогда хули ты тут сидишь?

13 Фев, 20:43 #516 #652934

>>652931
Для обхода бана. Удобнее когда сам меняется.

13 Фев, 20:56 #517 #652952

>>652921
Предыдущий ОП на связи. Сейчас до пекарни доберусь и все зделаю, не ссыте.

Ответы>>652954

13 Фев, 20:58 #518 #652954

>>652952
>до пекарни доберусь
Ползком через окопы?

Ответы>>652961

13 Фев, 21:00 #519 #652961

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

13 Фев, 21:43 #520 #652989

Может ли хикки через церковь попасть в Ватикан и там хикковать?

Ответы>>653001

13 Фев, 21:55 #521 #653001

>>652989
Если ты няшный 14-летний мальчик то спокойно.

13 Фев, 22:22 #522 #653028

НОВЫЙ ТРЕД
https://2ch.hk/pr/res/653023.html (М)
https://2ch.hk/pr/res/653023.html (М)
https://2ch.hk/pr/res/653023.html (М)

sage 14 Фев, 02:05 #523 #653266

>>644656 (OP)
c++ бляди сосируют
скрипто-мразь вкатился :3

16 Фев, 10:44 #524 #655769

Анон, куда на крестах можно вывести результаты SQL запроса?
Требуется некая таблица.
Пробую делать такое this->dataGridView1.Rows->Add(row);
а мне выдаёт ошибку
'int System::Windows::Forms::DataGridViewRowCollection::Add(...cli::array<Type,dimension> ^)' : cannot convert parameter 1 from 'MYSQL_ROW' to 'System::Object ^'
1> with
1> [
1> Type=System::Object ^,
1> dimension=1
1> ]
1> No user-defined-conversion operator available, or
1> Cannot convert a native type to a managed type.

Поясните что я делаю не так, и как сделать лучше?

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

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

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

« /pr/В начало тредаВеб-версияНастройки/a//b//mu//s//vg/Все доски

Пользуетесь скринридером — пишите, что можно улучшить.
Host-Food.ru — надёжный хостинг от 12 руб/мес | Free DNS
Зеркала М.Двача: m2ch.hk, m2ch.lib, m2chfapiswfw2wcakptqp4o6ltgchvjuxfab7urxlduraomtlnhw5xad.onion