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

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

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

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

90 Кб, 604x602

Оффициальный™ традиционный® C++ тред #19 22 Янв, 11:18 #631744 В конец треда | Веб

Глупец! Фреймворков сотни не дадут
Senior'а должность, если нет крещенья,
Которым к вере истинной ведут!

Без тайн крестов познаешь лишь мученья:
Макакинг гостевух из года в год
Иль в крудошлепство с Python погруженье.

И всякий раз, листая тот байт-код,
Которым обратились твои муки,
Юнец-тимлид брезгливо скривит рот.

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

А перед смертью вспомнишь вновь о том,
Что мог, кресты познав, прожить иначе,
И, этого желая всем нутром,

Ты от бессилья горького заплачешь.

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

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

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

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

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

FAQ:

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

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

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

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

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

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

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

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

Ахтунг! Предыдущие два раздела дополняют, а не заменяют классические книги о лучших практиках разработки без привязки к конкретному языку (Макконнелл, Uncle Bob, GoF).

Наиболее детальные описания языка:
Бьерн Страуструп - Язык программирования C++ (на ангельском) (2013) - https://goo.gl/XkAiOX
<устарело> Бьерн Страуструп - Язык программирования C++ (2010) - https://goo.gl/iZBDiV
Стандарт C++14 (на ангельском) - https://github.com/cplusplus/draft/raw/master/papers/n4140.pdf
Последняя на данный момент версия черновика стандарта C++17 (на ангельском) - http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/n4567.pdf

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

boost

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

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

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

Литература:
Ариндам Мукерджи - Learning Boost C++ Libraries (на ангельском) (2015) - https://goo.gl/b0gPN1

Qt

Существует швабодный кроссплатформенный фреймворк-надмножество C++ под названием Qt. Он содержит довольно большое количество компонент (для работы с сетью, базами данных, для юнит-тестирования и др.), но киллер-фичей и основным полем его применения являются возможности по разработке графических интерфейсов. Qt сам по себе, как расширение языка, предоставляет для этого более удобные средства, чем обычные библиотеки, а использование специализированных IDE наподобие Qt Creator позволяет в буквальном смысле собирать интерфейсы мышкой, а код писать только по существу.

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

В настоящее время основные версии Qt - 4.8 и 5.х, полной обратной совместимости между ними нет как в пистоне, ага.

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

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

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

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

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

Q: Я прочитал все вышеперечисленное, теперь я гуру! Что дальше?
A: Дальше переходишь по ссылке http://cppquiz.org/ , пробуешь отвечать на вопросы и понимаешь, что ты пока в самом начале пути. Кроличья нора крестов практически бездонна, поэтому продолжать постигать тонкости и детали можно очень и очень долго. В то же время, на этом этапе у тебя должно быть достаточно знаний, чтобы уверенно писать неплохой код. Поэтому читай исходники открытого софта и библиотек, отправляй пулл-реквесты в них, читай книжки по предметным областям и общим методикам разработки, а дальше уже сможешь запилить свой проект или вкатиться в существующий.

22 Янв, 11:20 #2 #631746

Добавлена подборка проверочных вопросов для мамкиных language lawyer'ов.
Добавлена инфа о том, что делать после прочтения материалов из шапки.
Книги по проектированию отделены от best practices в самостоятельный пункт.
Небольшие дополнения в тексте.
Добавлены книги Коплиена и Голуба.
Ссылки на архивач пронумерованы.

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

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

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

22 Янв, 11:20 #3 #631747

Первыйнах.

22 Янв, 12:23 #4 #631797

>Добавлена подборка проверочных вопросов для мамкиных language lawyer'ов.
Это и есть ссылка из
>инфа о том, что делать после прочтения материалов из шапки.
?

Ответы: >>631824

22 Янв, 12:51 #5 #631824

>>631797
Ага.

22 Янв, 15:50 #6 #631989

Cпасибо за cppquiz. До этого проходил на рузком quiz'e в котором ограничения.

22 Янв, 16:16 #7 #632019

Оп, сократи фак для читаемости.

https://arhivach.org/thread/135285/#618225
https://arhivach.org/thread/135285/#618252

Ответы: >>632183, >>632188, >>644482

22 Янв, 17:48 #8 #632111

Наркоманские вопросы в квизе. Гоуту джва раза попался, охуеть вообще

13 Кб, 440x264

22 Янв, 19:11 #9 #632183

>>632019
Бьерн, упрости язык для вкатываемости.

Ответы: >>633095

22 Янв, 19:13 #10 #632186

#include <bjorn>

main {
bjorn::zdelotZaebis();
}

Ответы: >>637926

22 Янв, 19:24 #11 #632188

>>632019
>Хочу осилить С++
>лень читать фак, многабукаф
/0

Ответы: >>632879

22 Янв, 20:45 #12 #632277

Сап прогеры. Начал изучать плюсы и возник такой вопрос.
Какая разница между
void func(int *i){}

void func(int &i){}

Ответы: >>632280

22 Янв, 20:46 #13 #632280

>>632277
в первой функции ты можешь проверить, что i != null

Ответы: >>632281, >>632282

22 Янв, 20:46 #14 #632281

>>632280
nullptr

фаст-фикс

22 Янв, 20:47 #15 #632282

>>632280
Меня операторы интересуют, какая разница между * и &

Ответы: >>632287, >>632288

22 Янв, 20:52 #16 #632287

>>632282
int *; это указатель
int &; это ссылка

Ответы: >>632289, >>632313

22 Янв, 20:52 #17 #632288

>>632282
Указатели более гибкие, но и ебли больше. Ссылки более автоматизированы, и имеют высокоуровневые фичи наподобие rvalue-семантики.

Ответы: >>632289

22 Янв, 20:53 #18 #632289

>>632287
>>632288
Буду очень признателен, если обьясните как их и в каком контексте и ситуации использовать

Ответы: >>632293, >>632301

22 Янв, 20:56 #19 #632293

>>632289
Константную ссылку, если параметр не изменятся (только входные данные). Указатель, если в параметре возвращается инфа (например, такое бывает, когда нужно вернуть больше одного объекта, и неудобно все пихать в возвращаемое значение).

Ответы: >>632306

22 Янв, 21:05 #20 #632301

>>632289
Если твой параметр не может быть NULL/nullptr, то используй ссылку.
И даже констатную ссылку, если возможно.
Ссылка на численные типы бесполезна.

Ответы: >>632306

22 Янв, 21:09 #21 #632306

>>632293
>>632301
Начинаю понимать

Ответы: >>632307

22 Янв, 21:13 #22 #632307

>>632306
А ещё ссылку нельзя "переуказать" в отличие от указателя. Ссылка всегда разыменована

22 Янв, 21:26 #23 #632313

>>632287
>int &; это ссылка
Это эффективный адрес, транслируется в lea. Совсем охуели крестобляди.

Ответы: >>632314, >>632341

22 Янв, 21:28 #24 #632314

>>632313
иди нахуй, штеудопидор

22 Янв, 21:53 #25 #632341

>>632313
А здесь, дорогие друзья, мы с вами видим типичного представителя Sishkoblyad Vulgaris. На время уборки клетки его выпустили наружу. Агрессивные повадки и неумелые попытки применить свой опыт в незнакомом окружении - отличительная черта этих неуклюжих зверьков.

22 Янв, 21:54 #26 #632345

https://wiki.qt.io/D-Pointer
Разбирался с этим туториалом.
Там где Q_D(Label) - схватил ошибку
"d_func was not declared in this scope"
Рили не гуглится, уже хуй знает что делать. У кого было?

Ответы: >>632356

22 Янв, 22:03 #27 #632356

>>632345
ссылку перечитай
Q_DECLARE_PRIVATE, use it

Ответы: >>632392

22 Янв, 22:23 #28 #632392

>>632356
Ебануться.
Вот откуда вы всё знаете ._.

22 Янв, 22:30 #29 #632405

Ну шо за хрень, ребят

в .h

int switcher

в .cpp

(в конструкторе)
switcher = 0
(в функции)
switch (switcher)
{ case ... }

Запускаю.
free(): invalid pointer

Через раз - запускается.

Ответы: >>632409, >>632416

22 Янв, 22:31 #30 #632409

>>632405
Остальной код типа самим придумать?
Прикольная игра

Ответы: >>632411

22 Янв, 22:33 #31 #632411

>>632409
да там вокруг этого switch`а все, один хер.

то ему, блять, int не нравится, то еще что.

а вот сейчас сюда написал - заработало, сука, как миленькое

возвращаюсь к вопросу - ну шо за хрень, ребят

Ответы: >>632412

22 Янв, 22:34 #32 #632412

>>632411
Ну хуй знает. Invalid pointer?

Ответы: >>632417

22 Янв, 22:35 #33 #632416

>>632405
Покажи полный код, а то так ничего понять нельзя.

22 Янв, 22:35 #34 #632417

>>632412
Понял почему заработало. Я внезапно с отладки на выпуск перевел.

А вот обратно вернул - опять free(): invalid pointer

У меня указателей то нет тут, откуда он вообще это взял, ума не приложу

Ответы: >>632419

22 Янв, 22:37 #35 #632419

>>632417
Ну твою мать, непонятно же.
Покажи код полностью.

Ответы: >>632423, >>632430

22 Янв, 22:39 #36 #632423

>>632419
НУ БЛЯ
ТАМ НеВаЖНО ЧТО ДАЛЬШЕ
ТАМ СВИЧИ)
Главное инвалид поинтер. Знаешь такую ошибку?
Ну free(). Free вызвал.
А потом заработало.
Что это могло быть?

22 Янв, 22:44 #37 #632430

>>632419
http://pastebin.com/9KQHtX65

в заголовке switcher объявлен так:
private:
int switcher;

Ответы: >>632431

22 Янв, 22:45 #38 #632431

>>632430
p.s. точку с запятой там проебал, не суть, в оригинале она есть

Ответы: >>632434

22 Янв, 22:47 #39 #632434

>>632431
Дефалт где

Ответы: >>632435, >>632436

22 Янв, 22:47 #40 #632435

>>632434
шта?

22 Янв, 22:48 #41 #632436

>>632434
а, тоже проебал.
в оригинале есть

я с микроволновки пишу прост

Ответы: >>632440

22 Янв, 22:51 #42 #632440

>>632436
test1 выводится как и должно.
В чем твоя проблема, парень?

Ответы: >>632442

22 Янв, 22:51 #43 #632442

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

Ответы: >>632443

22 Янв, 22:52 #44 #632443

>>632442
Не думал еще МеНЬШЕ кода прислать?

Ответы: >>632444

22 Янв, 22:53 #45 #632444

>>632443
Я же говорил - я с микроволновки
Может я вообще ASCII-кодами по цифроклаве каждый символ тут набираю

Ответы: >>632446

22 Янв, 22:53 #46 #632446

>>632444
Значит не нужно тебе программирование.
У тебя ошибка вне теста, это очевидно

Ответы: >>632447

22 Янв, 22:55 #47 #632447

>>632446
А что ж мне еще, с микроволновкой то на северном полюсе делать?
Яйца клал уже туда. И свои тоже.
Теперь вот решил делом заняться, а тут такая хрень.

23 Янв, 01:59 #48 #632531

Есть примеры адекватных резюме по крестам?

Ответы: >>632559, >>632668

23 Янв, 03:37 #49 #632545

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

Ответы: >>632559, >>632576

23 Янв, 05:24 #50 #632559

>>632531
тебе кого, джуна или синьора? или вакансию закрыть надо? тогда писечку показывай, HRша!

>>632545
напиши торрентокачалку с жабберклиентом

Ответы: >>632573

23 Янв, 07:19 #51 #632573

>>632559
Джуна

Ответы: >>632781

23 Янв, 07:54 #52 #632576

>>632545
Редактор сабов.

23 Янв, 12:03 #53 #632668

>>632531
Есть.

Ответы: >>632671

23 Янв, 12:05 #54 #632671

>>632668
>
Кидай же, комрад

Ответы: >>632685

23 Янв, 12:24 #55 #632685

>>632671
Нет

Ответы: >>632686

23 Янв, 12:24 #56 #632686

>>632685
Хуесос.

23 Янв, 15:55 #57 #632781

>>632573
пиши вузик
пиши все олимпиадки которые были
пиши технологии которые знаешь
пиши ссылку на гитхаб с проектами

этого будет достаточно

Ответы: >>632977

23 Янв, 16:45 #58 #632799

>>631744 (OP)
><устарело> Роберт Лафоре - Объектно-ориентированное программирование в C++ (2004)
Котаны, насколько устарело? У меня издание 2006 года (4е издание). Легко читается. Есть ли смысл учить по этой книге а потом добрать знаний по новшествам либо лучше сразу брать новую кригу? эта в бумажном варианте, а читать с монитора ну совсем не круто
При этом паралельно смотрю разные видео на тытрубе, кстати.

Ответы: >>632813, >>632888, >>632892, >>632917

23 Янв, 17:12 #59 #632813

>>632799
Если ты еще его не знаешь - с++ лучше не учить.

Ответы: >>632890

sage 23 Янв, 18:04 #60 #632879

>>632188
перед тем как найти там что искал успел пару раз заблудиться и начать искать сначала

23 Янв, 18:10 #61 #632888

>>632799
>издание 2006 года
это перевод такого года

23 Янв, 18:15 #62 #632890

>>632813
ТЫ так написал что не совсем понятно- С++ лучше не учить или по этой книге лучше не учить? Знаю немного на уровне того что такое переменная, функции, массивы, циклы, немного о том как создавать классы, вообщем самые основы. Ну а по алгоритмам-рекурсия, динамика, сортировки, немного графы. Вообщем все то что можно взять из паскаля, лол.

Кстати, почему если с++ так охуенен, то в перепись-треде, большинство анонов с норм ЗП указали JS и PHP? С плюсами всего пара человек. Цель-хотя бы за пол года устроится на работу.

Ответы: >>632900

23 Янв, 18:18 #63 #632892

>>632799
Читай всё норм. Она самая лёгкая из всех что я видел. Потом лимпмана прочитаешь.

23 Янв, 18:31 #64 #632900

>>632890
C++ лучше вообще не учить. Работу с большой вероятностью на крестах ты не найдешь - нужны только спецы, джуны на крестах никому не нужны. При том, что "для себя" как язык - дерьмо и для любителей себе в ногу стрелять, плюс писать на них долго.

Существуют потому, что на них невъебенное количество уже написаного софта и библиотек, и все это не выкинуть.

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

Ответы: >>632910, >>632911, >>632927

23 Янв, 18:38 #65 #632910

>>632900
А как же взяли на работу новичка за еду и всему научили?

Ответы: >>633097

23 Янв, 18:41 #66 #632911

>>632900
А что лучше вместо крестов из серьёзного программирования? Сишарп, ява? Меня кресты привлекают тем, что они могут работать без дотнета/жабы. Можно запрограммировать даже небо, даже Аллаха!

Ответы: >>632913

23 Янв, 18:43 #67 #632913

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

Алсо, если че - яву можно и в бинарь компилить.

А вон на моей работе мы компилили скрипты на си в байткод, лол.

Ответы: >>632914, >>632918, >>632930, >>633907

23 Янв, 18:45 #68 #632914

>>632913
Плюс (минус) - у сишарпа анальный зоопарк из разных несовместимых версий дотнета.

23 Янв, 18:47 #69 #632917

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

Ответы: >>632921

23 Янв, 18:48 #70 #632918

>>632913
>сишарп фичастее и лучше как язык
До сишарпа его задачу выполнял дэлфи. Сишарп убил дэлфи. Дотнет помог ему в этом. ЕМНИП дотнет и под дэлфи работал. Один детский язык занял место в песочнице другого детского языка. За это он не может быть фичастым и хорошим.

Ответы: >>632919

23 Янв, 18:49 #71 #632919

>>632918
Ну пиши на делфи, кто тебе мешает?

А я сишарп не возьму чисто из-за привязки к винде.

23 Янв, 18:52 #72 #632921

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

51 Кб, 508x740

23 Янв, 19:00 #73 #632927

>>632900
>нужны только спецы
Ну толсто же. Разница только в том, что можно на недельку нырнуть в какой-нибудь пистон и сразу бежать на собеседование, а с крестами придется поработать. Это не запредельно сложно, если у тебя больше 90 пунктов айсикью.
>Работу с большой вероятностью на крестах ты не найдешь
TIOBE и агрегаторы вакансий а также мой личный опыт с тобой не согласны. В том же гейдеве полно вакансий, например. Другое дело, что требования там выше, чем для крудошлепов, отсюда кукареки про НИПОРАБОТАТЬ.
>Существуют потому, что на них невъебенное количество уже написаного софта и библиотек
Только одна из причин. Когда-то на фортране было дохуя софта и библиотек, но он успешно вытеснился. Верить, что язык без кучи объективных преимуществ находится в топе только из-за легаси, по меньшей мере наивно.

Ответы: >>632933, >>632936, >>633052

23 Янв, 19:02 #74 #632930

>>632913
>Я не кодил ни на том, ни на этом
Ну ты охуительный критик, чего уж там.

Ответы: >>632932

23 Янв, 19:03 #75 #632932

>>632930
Ну конкретнее - пиздуй в тред жабы и сишарпа, и там спрашивай, что лучше.

Ответы: >>632942

23 Янв, 19:05 #76 #632933

>>632927
Я бы хотел в гейдев
wannable_серьёзный_программист

Ответы: >>633099

23 Янв, 19:07 #77 #632936

>>632927
>крудошлепов
Лол ниразу не слылаш такое слово и не могу понять что оно означает. Кого это ты так назвал? Неосиляторов?

Ответы: >>632943

23 Янв, 19:16 #78 #632942

>>632932
Однажды путник увидел в стороне от дороги, по которой он шел, двух ожесточенно спорящих людей. Заинтересовавшись и подойдя поближе, он услышал, что они спорят о том, что лучше употреблять на завтрак: говно или мочу. Когда спорщики утомились и на минуту замолчали, путник горячо обратился к ним:
- Добрые люди! Почему вы ограничиваете выбор пищи столь неприятными на вкус блюдами? Разве не лучше завтракать пшеничной лепешкой и бутылкой вина?
- Говна поешь! - воскликнул один из спорщиков и метнул в путника куском засохшего навоза. Второй спорщик расстегнул штаны и помочился на путника.

23 Янв, 19:17 #79 #632943

>>632936
https://ru.wikipedia.org/wiki/CRUD

23 Янв, 19:54 #80 #632977

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

Ответы: >>632979

23 Янв, 19:55 #81 #632979

>>632977
Такой отсылаешь pdf - а там не стоит доб ридера и его в корзину.

Ответы: >>632981, >>632983

23 Янв, 19:55 #82 #632981

>>632979
Ахахах_)
Два чаю, бротиш

23 Янв, 19:57 #83 #632983

>>632979
Зато в следующий раз будет в тхт писать и ссылку на гитхаб туда положит.

Ответы: >>632984, >>632985

23 Янв, 19:58 #84 #632984

>>632983
>2016
>верить в существование блокнота

23 Янв, 19:58 #85 #632985

>>632983
Так он же не узнает об этом - ему перезвонят.

23 Янв, 20:01 #86 #632986

Эээ.... Я не понял, я за интернеты плачу, чтобы вы тут меня обсирали что ли?

Ответы: >>632987

23 Янв, 20:02 #87 #632987

>>632986
Покажи кто обсирает. Пока не заметил срача.

Ответы: >>632988

23 Янв, 20:04 #88 #632988

>>632987
Ну вот эти, они специально вот с меня потешаются!

Ответы: >>632989

23 Янв, 20:07 #89 #632989

>>632988
Это они не с тебя потешаются, а вместе с тобой. Продолжай платить за интернет.
Твой провайдер

23 Янв, 22:39 #90 #633052

>>632927
Ох. Ты меня успокоил. Потому что мне нравится учить С++, ве логично и понятно, а тот кун немного напряг отсутствием работы.

Ответы: >>633060

23 Янв, 22:53 #91 #633060

>>633052
>ве логично и понятно
До тех пор, пока до писания на нём не дошёл. Потом ещё полюбишь. И игрища с указателями/ссылками/константами полюбишь, и прочую уб-хуиту вроде негарантированного порядка выполнения аргументов.

Ответы: >>633071, >>633093

23 Янв, 22:58 #92 #633067

>Программист-разработчик C/С++
>Наши ожидания:
>Языки программирования и библиотеки: C, C++, Borland C++ Builder (VCL), С#, Visual Basic, Pascal, Microsoft Visual Studio 6, Microsoft Visual Studio 2005, Boland Builder 6, SQL, Java, Eclipse, Microsoft Office, Novell Netware; .Net ; gcc, make, shell script;

Ответы: >>633164, >>633165

23 Янв, 23:00 #93 #633071

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

Ответы: >>633088

23 Янв, 23:18 #94 #633088

>>633071
Пиши справочник телефонный или эмулятор файловой системы. Обращай внимание на аккуратность кода, стиль, структуру, тесты. Помни золотое правило: "твой код будет поддерживать маньяк садист, который знает где ты живёшь".
Поищи тестовые задания разных компаний. Порешай задачи с hackerrank и codility.

Ответы: >>633106

23 Янв, 23:22 #95 #633093

>>633060
Signed integer overflow, motherfucker

23 Янв, 23:27 #96 #633095

>>632183
Чет он поправился, если это он, конечно.

23 Янв, 23:31 #97 #633097

>>632910
Вмм2007

Ответы: >>633104

23 Янв, 23:34 #98 #633099

>>632933
Гейммейкер скачал уже, погромист?

Ответы: >>633211

23 Янв, 23:46 #99 #633104

>>633097
Пиздишь. В этом году взяли двух интернов. Один туповат, через 4 месяца нахуй послали. Второй годный и скоро джуном станет

Ответы: >>633136

23 Янв, 23:50 #100 #633106

>>633088
>поддерживать
использовать

24 Янв, 00:39 #101 #633136

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

Ответы: >>633175

24 Янв, 02:15 #102 #633164

>>633067
ООО НИИ Рога и копыта?

24 Янв, 02:18 #103 #633165

>>633067
Хуйня.
Классика - вот это вот все без упоминания крестов, и в конце
Желание работать на джаве
Тешу себя мыслью что это просто ебанутые эйчары

24 Янв, 02:53 #104 #633175

>>633136
Встрявай сразу. Так и пиши - молодой толковый, возьмите интерном. но лучше через преподов вкатываться. Ещё всякие "школы/университеты" в конторах, где можно выделиться и попасть в компанию

Ответы: >>633594

24 Янв, 04:36 #105 #633211

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

Ответы: >>633903

24 Янв, 11:53 #106 #633267

А кто-то с qml работал? Не знаю, где еще об этом спросить, в js-треде явно никто не знает о нём.

Ответы: >>633273, >>633339

24 Янв, 12:02 #107 #633273

>>633267
Чо там работать-то? Проблематично было года 2 назад, когда даже привязка цпп бэкэнда не особо документирована была.

Ответы: >>633276, >>633277

24 Янв, 12:06 #108 #633276

>>633273

Ну у меня есть проблемы с TableView. Я написал rowdelegate для него, но не могу сделать так, чтобы между колонками была линия черная. Костылил через rectangle черного цвета после самой ячейки для headerdelegate, оно работает. А для row нет.

Вот линк -- http://pastebin.com/R1HfQ2ja

Ответы: >>633492, >>633586

24 Янв, 12:08 #109 #633277

>>633273

Небольшой фикс - http://pastebin.com/8VW5AJea

24 Янв, 14:19 #110 #633339

>>633267
Я работал, спрашивай.

Ответы: >>633492

24 Янв, 17:42 #111 #633492

>>633339

Я спросил. Вот >>633276

24 Янв, 19:25 #112 #633553

с Ардуиной реально хотя бы вьехать и начать писать работающий говнокод под конкретные задачи?
Если да - реально ли перейти с Ардуиновских "крестов" на настоящие?

Ответы: >>633557, >>633576

24 Янв, 19:36 #113 #633557

>>633553
А нахрен тебе ардуина?

Алсо на моей работке прошлой (текущей нет, дома сычую) мы делали так - паяли контроллеры на базе stm32. Под него была прошивка на крестах, нативная ("Операционка"). И был самописный компилятор своего диалекта сишки в байткод. Сабжевый байткод загружался в контроллер по USB - и там исполнялся операционкой и управлял разными аггрегатами. Получалось мегагодно. Несмотря на то, что контроллеры те были говно в плане надежности (2/3 модулей выбрасывали/перепаивали, платы тоже отбраковывались) - схема такая охуенно удобная и пиздатая. Байткод тот может имполняться или виртуалкой на компе (когда не контроллеры, а промышленный комп какой-то йобой рулит), или как связка планшет на ведроиде/комп на винде/линупсе/ одноплатник для интерфейса оператора и контроллер для управления оборудованием.

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

Ответы: >>633560, >>633577

24 Янв, 19:39 #114 #633560

>>633557
>байткод
джава штоле?

Ответы: >>633566

24 Янв, 19:41 #115 #633563

Програмач, пару лет назад довольно плотно изучал кресты читал Шилдта ( Базовый курс какой-то - 400 стр книга, еще книга этого же чувака Справочник по С/С++ - на 2013г это было последним изданием) и Дейтелов (где с самого начала идут классы). Вроде бы все зыбысы. Изучал ссылки, указатели, массивы, наследование, работу с файлами и т.д. Вообщем, на уровне универских лаб по ПЯВУ знаю норм(которые сдал без особых проблем). Но, блджад, лабы это ведь не все фишки, которые используются в книгах. Где применять всякие виртуальные функции, шаблоны классов etc.?

Вообщем, посоветуйте годных книг (больше 700-800 стр. - нахуй такие книги) с короткими и строгими формулировками как у того же Шилдта и задачников, где можно все от и до опробовать, а то как-то прочитал и забыл к херам, что прочитал, ибо не применял.

24 Янв, 19:43 #116 #633566

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

Я вот тоже хочу с ним разобраться и компилить таки в джабный. А так - простенькая виртуальная машина, все операции - на стеке. Суть байткода - свой диалект сишки был запилен для кооперативной многозадачности, чтобы не ебаться с синхронизацией и прочей еботой (еще когда контроллеров не было и сабж выполнялся на ПК). Там просто есть CreateTask, а в функциях которые выполняются надо делать Wait() - передать управление следующей задаче. Ну и обязательно эту еботу во всех циклах.

Ответы: >>633569, >>633914

24 Янв, 19:45 #117 #633569

>>633566
ладно жабный, но lua / squirrel?

Ответы: >>633570

24 Янв, 19:47 #118 #633570

>>633569
НЕХ, которую никто не знает. Это была работа а не джаст фор лулз, главное - слепить по быстрому и чтобы работало, как оно будет работать - никого не ебет.

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

24 Янв, 20:07 #119 #633576

>>633553
Ардуиновские кресты это фактически ядро обычных крестов, без стандартной библиотеки и с несколькими ардуиновскими макросами. Из core возможностей крестов не работают емнип только исключения (их не поддерживает ARM по-моему). В остальном там все как обычно, конпелируется clang'ом.

24 Янв, 20:08 #120 #633577

>>633557
Небось это тормозило безбожно и жрало память на поддержку окружения?

Ответы: >>633582

24 Янв, 20:15 #121 #633582

>>633577
Эм - нет? А с чего ему вдруг тормозить? Цель этой херни - управление оборудованием. Пиздец реакции рам не нужно, и большую часть времени вообще занимает ожидание. Например, ожидание, пока привод механизма доедет до датчика и его показания изменятся.

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

На контроллер цепляется туева хуча модулей - для CAN, входов/выходов (дискретных или алалоговых), термопары, ШИМ и прочая блевота. Когда одного контроллера не хватало - цепляли несколько штук и объединяли их через CAN, главный общается с компом по USB и говорит остальным, чего им делать.

Ответы: >>633621

24 Янв, 20:29 #122 #633586

>>633276
Можешь внятно объяснить, чего ты пытаешься добиться?

24 Янв, 20:59 #123 #633594

>>633175
Через преподов я только нахуй вкачусь

Ответы: >>633597

24 Янв, 21:02 #124 #633597

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

Ответы: >>633598

24 Янв, 21:03 #125 #633598

>>633597
Чего такой агрессивный? Я так и делаю.

Ответы: >>633601

24 Янв, 21:04 #126 #633601

>>633598
Да где же я агрессивный? Я спокоен и умиротворен.

Ответы: >>633602

24 Янв, 21:04 #127 #633602

>>633601
>ХОСПАДИИИИ ХУЕТУ ВЫСЕР ХУЙ ХУЙ ХУЙ ЖОПА

Ответы: >>633603

24 Янв, 21:05 #128 #633603

>>633602
Издержки сосача, увы.

24 Янв, 21:37 #129 #633621

>>633582
Тогда заебись, да.

25 Янв, 01:48 #130 #633694

Почему по крестам работы почти нет, хотя именно на крестах сделано 95% годного софта?

Почему в корпоративном секторе все пишут на жаве и сишарпе с их убогими виртуалбоксами и калечной производительностью?

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

Ответы: >>633697, >>633698, >>633701, >>633812, >>634275

85 Кб, 732x715

25 Янв, 01:50 #131 #633697

>>633694
>по крестам работы почти нет
0/10

Ответы: >>633699

25 Янв, 01:51 #132 #633698

>>633694
>работы нет
Только в нащих с тобой мухосрансках, к сожалению.

25 Янв, 01:51 #133 #633699

>>633697
Ты случайно не из Днепропетровска?

Ответы: >>633700

25 Янв, 01:52 #134 #633700

>>633699
ніт
Харьков

25 Янв, 01:52 #135 #633701

>>633694
>Почему по крестам работы почти нет, хотя именно на крестах сделано 95% годного софта?
А ты платишь за этот софт? На крестах по массе есть только один вид софта, за который платят - игры. Вот в геймдеве кресты пока и остались еще.

>Почему в корпоративном секторе все пишут на жаве и сишарпе с их убогими виртуалбоксами и калечной производительностью?
А ты мерял их производительностью? Часто скорость написания важнее. Лучше в 2-3 раза быстрее написать, чем оно будет на 50% быстрее работать.

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

Ответы: >>633703, >>634169

25 Янв, 01:53 #136 #633703

>>633701
То чувство, когда непонятно - троллит или всерьез говорит.
В любом случае, кросавчик

25 Янв, 01:53 #137 #633704

поцоны, а есть какой космический стартап с плюсами? Элона Маска не предлагать

Ответы: >>633705, >>633982

25 Янв, 01:58 #138 #633705

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

А новые на них писать - мазохистом надо быть.

Ответы: >>633707, >>633981

25 Янв, 02:00 #139 #633707

>>633705
тролль уходи, еды здесь нет

Ответы: >>633708

25 Янв, 02:00 #140 #633708

>>633707
Я не тролль.

25 Янв, 08:08 #141 #633812

>>633694
Плюсы и на практике экономят гуглу с фейсбукрм сотни милионов долларов, только это немного другой уровень.

25 Янв, 09:16 #142 #633845

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

А в России кризис, людей увольняют. Много регуляр девелоперов в поисках работы. Они сожрут остаток рынка.

Так что, корзинусы, бегите учиться в европу. В России программисты скоро станут не нужны.

Ответы: >>633949

25 Янв, 11:05 #143 #633903

>>633211
Пилю прошивки, на графенописателей смотрю как на мудрецов. Каждый со своей колокольни

25 Янв, 11:08 #144 #633907

>>632913
> А вон на моей работе мы компилили скрипты на си в байткод, лол.
Ловите наркомана!

25 Янв, 11:13 #145 #633914

>>633566
Есть реализации JVM для контроллеров, не выдумывай велосипед.

Ответы: >>633949

25 Янв, 12:09 #146 #633949

>>633914
Пил тут как-то год назад с программистом, пишущим никзкоуровневый Java-код для JVM, тарахтящей на симке.
>>633845
На линкдине 80% ейчаров хотят дегри в КС + волонтёрский опыт. А у меня такого нету, например. Вообще вышки нету, вакансии замотивировали наконец получить . Ну и такое же говно желают типа bash, python, haskell, ГЛУБОКОЕ ПОНИМАЕНИЕ АРХИТЕКТУРЫ *NIX. В общем не сказал бы что я им там сильно нужен.

Ответы: >>634053

25 Янв, 13:07 #147 #633981

>>633705
Неосилятор опять бунтует, лол.

25 Янв, 13:10 #148 #633982

>>633704
Эта борда, например, на крестах. Видишь баннер сверху? Легким движением руки Абу за несколько дней собрал со школьников овер100к. Чем не стартап?

Ответы: >>634091

25 Янв, 14:38 #149 #634024

как вы изучали boost ? На русском только книга по графам.

Ответы: >>634066

25 Янв, 15:36 #150 #634053

>>633949
> haskell bash
> unix
В чем проблема? Ебать ты конченный.

25 Янв, 15:43 #151 #634056

Здравствуйте, господа! Что скажете насчёт C++ Builder 10 от embarcadero? Пока учусь (в университете) писать в стареньком С++ Builder 6, нравится, но начинаю думать о будущем.

Ответы: >>634066, >>634073

25 Янв, 16:14 #152 #634066

>>634024
На ангельском, как белые люди. По докам и исходникам, там все просто и понятно. Еще книжка Мукерджи в шапке годная.
>>634056
Качество уровня опенсорсных сред, но за деньги и с велосипедным компилятором. В 2016 году, с кучей современных бесплатных IDE, такое просто стыдно устанавливать. Это как написать на лбу, что ты только что выполз из дремучего университетского машзала, застрявшего в 90-х.

Ответы: >>634073, >>634075

25 Янв, 16:30 #153 #634073

>>634066
Ты кек чтоле? Там цланг.
>>634056
Он тебе пригодится только если для тебя программирование на тыканье формочек заканчивается.
В остальных ситуациях бери нативный для платформы конпелятор и visual studio для шинды и clion для остального (если не хочешь пиратить - можешь выслать им студенческий и пользоваться халявной лицензией).

Ответы: >>634080

25 Янв, 16:38 #154 #634075

>>634066
>Это как написать на лбу, что ты только что выполз из дремучего университетского машзала, застрявшего в 90-х

Но я ещё оттуда не выползал, только планирую начинать свой путь. Знаю, есть миллион советов по поводу выбора среды, но стал глядеть именно на этот вариант, так как попросту привык к 6-му билдеру. Интересно всё-таки узнать, чем он конкретно плох (деньги ни при чём, естественно, ставиться всё будет нахаляву), ну и услышать очередной конкретный совет новичку (если не посыл).

Ответы: >>634077

25 Янв, 16:42 #155 #634077

>>634075
>Интересно всё-таки узнать, чем он конкретно плох
Конкретно 6-й (и все, до использования clang как компилятора) - поддержка только древних стандартов, дерьмо вместо линковщика и потимизатора. Ужастный медленный дэльфи-рантайм.

Ответы: >>634079, >>634082, >>634086

25 Янв, 16:43 #156 #634079

>>634077
>потимизатора
оптимизатора

25 Янв, 16:43 #157 #634080

>>634073
Там не цланг, а цлангоподобный велосипед собственного производства, если верить их сайту. Сказано "в 10 версии улучшена поддержка clang", то есть он предоставляется чисто как дополнительная фича. А с эти так - либо ты можешь писать продакшен-код, либо это игрушка наподобие того, что сейчас в студии прикрутили. Без исключений и всей хуйни.

25 Янв, 16:46 #158 #634082

>>634077
А еще там даже если предположить прикрученный нормальный компилятор, хуевое автодополнение. Ты, блядь, посмотри на скрины и сравни со студией. Разница как между авиалайнером и трехколесным велосипедом же.

Ответы: >>634086

25 Янв, 16:57 #159 #634086

>>634082
Вообще никогда не пользовался автодополнением. Люблю сам все скобочки вводить, да и мелочи это уже.
>>634077
А конкретно 10й? Тоже безнадёжно отстает в стандартах?

Ответы: >>634098

25 Янв, 17:03 #160 #634091

>>633982
борду вообще похуй на чем писать
ее даже купить можно
проблема в раскрутке, а это школомаркетинг а не быдлокодинг

25 Янв, 17:17 #161 #634098

>>634086
>Вообще никогда не пользовался автодополнением. Люблю сам все скобочки вводить, да и мелочи это уже.
Эээ, ты о чём вообще? Какие скобочки?
https://www.google.ru/search?q=visual+studio+autocomplete&newwindow=1&client=ubuntu&hs=FRP&channel=fs&source=lnms&tbm=isch&sa=X&ved=0ahUKEwiNqceDk8XKAhUBj3IKHSggAGAQ_AUIBygB&biw=1920&bih=960
-
Что-то сложнее лабы1, где нужно только знание синтаксиса, без таких вещей писать трудновато.
>А конкретно 10й? Тоже безнадёжно отстает в стандартах?
Они и в 10-й своего зверя намутить сумели.

Ответы: >>634109

25 Янв, 17:25 #162 #634109

>>634098
Хорошо, я полностью верю тебе касаемо организации удобства среды, всяких автодополнений и прочих. Я хочу вот какую вещь понять, чтобы разубедиться (и поставить видимо Visual): в каких аспектах использования современных средств языка и современных методов разработки одна среда может превзойти ту, о которой я завел речь? Или билдер плох и отвратителен по своей сути, изначально и навсегда имеет "велосипедный" компилятор и плохой линкер?

Ответы: >>634120, >>634159

25 Янв, 17:39 #163 #634120

>>634109
Тут тебе весь список его красот никто не скажет - им банально никто не пользуется сейчас.

Из точно известного:
- С++14 не поддерживается (вообще);
- исключения не поддерживаются как выше писали;
- рантайм и всё остальное там так и осталось дельфевым - ошибки тупо из-за разной модели памяти и уродства реализации тебя приветствуют;
- точно помню, что в 6-м билдере были свои нестандартизированные расширения плюсов;
- собственное соглашение о вызове и прочие плюшки их велосипедов - пользоваться сторонними библиотеками будет оч приятно, я тебе это гарантирую.

Ответы: >>634136

25 Янв, 17:52 #164 #634136

>>634120
Хорошо, большое спасибо тебе.
Ставлю, видимо, visual.

И ещё. Всякие срачи на тему того, что в Builder'e VCL, а он так нужен - это что-то из дремучего университетского машзала, застрявшего в 90х?

25 Янв, 18:16 #165 #634159

>>634109
Ты слышал про первородный грех? Вот в применении к IDE Builder это, блядь, Каин. Он настолько омерзителен и порочен по своей сути, изначально, что в свое время многие именно из-за него потеряли доверие к IDE и ушли на vim/emacs.

25 Янв, 18:30 #166 #634169

>>633701
>А ты платишь за этот софт?
За Windows и за Kaspersky плачу, да.

>А ты мерял их производительностью?
Вообще-то да.
Сейчас дизайн алгоритмов изучаю, пишу наибыстрейшие возможные алгоритмы для типовых задач. На С# низкоуровневые алгоритмы работают в среднем в 4-8 раз медленнее, чем на С++.

>У них сейчас нет проблем с возможностями и производительностью.
Как сказать. Может быть, если бы Макака писал на С++, он бы сейчас собирал донатом не 100к рублей, а всего 50к.

Ответы: >>634176

25 Янв, 18:40 #167 #634176

>>634169
>На С# низкоуровневые алгоритмы работают в среднем в 4-8 раз медленнее, чем на С++.
Вообще ни о чем не говорит. Можно намеренно или ненамеренно всрать код на одном языке, не учтя его особенности

Ответы: >>634181, >>634240

25 Янв, 18:44 #168 #634181

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

Ответы: >>634227

25 Янв, 19:29 #169 #634227

>>634181
На бенчмарках - да.
А ИРЛ - звучит как утверждение, что ассемблер быстрее чем с++. В теории да, а на практике компиляторы куда умнее погромистов.

Ответы: >>634255

25 Янв, 19:43 #170 #634240

>>634176
>ненамеренно всрать код на одном языке, не учтя его особенности
Я не знаю С++ даже на базовом уровне, компилирую с трудом.
C# знаю на продвинутом уровне. Также знаю множество особенностей, относящихся к его быстродействию, например:
- Цикл foreach работает в несколько раз медленнее цикла for в большинстве ситуаций;
- Целочисленные типы малой размерности (byte, short) при любых операциях автоматически приводятся к Int32 , а потом - обратно. Поэтому, эти типы всегда работают медленнее, чем Int32 и они полностью бесполезны.

Можно ли такие вещи называть особенностями? По-моему это никакие не особенности, и просто недоработки. Кстати, многие из них слабо или вообще никак не документированы, единственный способ их выявить - собственноручно писать бенчмарки. Соответственно, многие C# разработчики про эти "особенности" не знают.

В С++ есть подобные дыры в ядре языка?

Ответы: >>634278, >>634285, >>634292, >>634575

25 Янв, 19:56 #171 #634255

>>634227
>А ИРЛ - звучит как утверждение, что ассемблер быстрее чем с++. В теории да, а на практике компиляторы куда умнее погромистов.
Ну ладно, видимо ты плохо понимаешь, о чем говоришь, не буду спорить.

Ответы: >>634257

25 Янв, 19:57 #172 #634257

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

25 Янв, 20:12 #173 #634275

>>633694
>Почему по крестам работы почти нет, хотя именно на крестах сделано 95% годного софта?
Потому что С++ аутистам 20 лет назад внушили, что швабода и опенсорс - это хорошо, а проприетарный софт и деньги - это плохо. И с тех пор они пишут код забесплатно.

Так исторически сложилось.

25 Янв, 20:12 #174 #634278

>>634240
>Целочисленные типы
В плюсах (и вообще всех нативных языках) здеся все повеселее - их размер вообще зависит от платформы. Собственно, отсюда проблема этих типов у тебя в шарпе и исходит.
>Цикл foreach
Они в С++ бесплатны. Как и вообще почти все.

Бывают разве что непонятки например в разных реализациях STL как правило, из-за незадокументированности чего либо, как недавно в GNU реализации стандартной библиотеки размер листа просчитывался при каждом вызове size() вместо простого счетчика при добавлении.

Раньше еще модно было умножать побитовыми сдвигами (сейчас компиляторы сами и не такое делают) и исключения считались медленным говном (ныне эпоха итаниумовского аби и исключения уже тоже стали "зеро кост").

25 Янв, 20:22 #175 #634285

>>634240
> при любых операциях автоматически приводятся к Int32 , а потом - обратно
В плюсах тоже такое, это следствие из архитектуры процессора. Другие типы не то чтобы бесполезны - если тебе нужен массив с ебенячим количеством элементов, то инты могут просто не влезть. Но просто так использовать что-то меньше интов (для целочисельных типов) конечно не стоит.

25 Янв, 20:30 #176 #634292

>>634240
В крестах real всегда приводится к double.

Ответы: >>634307, >>634318, >>634554

25 Янв, 20:43 #177 #634307

>>634292
Тип которого нету приводится к типу, который есть?
Я вкурсе только того, что типы без окончания дробной части на .xxxf автоматически приводятся к double.

25 Янв, 20:57 #178 #634318

>>634292
Тогда почему в пакет SIMD влезает вдвое больше флоатов, чем даблов?

26 Янв, 03:49 #179 #634546

Пацаны, что мне такое написать на крестах, чтобы задрочить многопоточность?

Ответы: >>634550, >>634555, >>634585

26 Янв, 03:58 #180 #634550

>>634546
Присоединюсь к вопросу

26 Янв, 04:04 #181 #634554

>>634292
В крестах нет real

26 Янв, 04:05 #182 #634555

>>634546
Многопоточнозадрочительную программу.

26 Янв, 08:00 #183 #634575

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

26 Янв, 08:47 #184 #634585

>>634546
Перемножение матриц 10к на 10к

Ответы: >>634586

26 Янв, 08:50 #185 #634586

>>634585
благодарю

26 Янв, 17:58 #186 #634980

Нужно написать сервер, способный принять на 1 порт ~100 пакетов/сек(грубо говоря есть 3000 клиентов, каждый клиент отправляет пакет на сервер каждые 30 сек). Пакеты где-то по 100-200 байт.
С сетями особо не работал, сервер буду писать однозначно с использованием boost.asio.

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

Рассказывайте, как проще всего реализовать.

Ответы: >>634993, >>634997

26 Янв, 18:14 #187 #634993

>>634980
QTcpServer

Ответы: >>634998, >>635003

26 Янв, 18:19 #188 #634997

>>634980
>способный принять на 1 порт ~100 пакетов/сек
На локалхосте это вообще не проблема. В реальной ситуации вся производительность сводится к минимизации нагрузки на сервер - расходы на транспортировку данных и ширина каналов нивелирует все.

В любом случае лучше бери TCP. Скорость UDP не окупит твоих велосипедных попыток скорректировать данные.

>С сетями особо не работал, сервер буду писать однозначно с использованием boost.asio.
Самая перенагруженная и медленная сетевая библиотека. Если что-то упадет - энжой юр дебаггинг, оч приятно.
Твоя задача решается в 100 строк кода на сокетах Беркли.

Ответы: >>635003

26 Янв, 18:19 #189 #634998

>>634993
Андрюш, съеби к своим чулочникам.

26 Янв, 18:27 #190 #635003

>>634993
если проект себя зарекомендует и придётся брать лицу - отдавать 350$ в месяц за QT, нннуууу таккоеее

>>634997
Спасибо.

Ответы: >>635095

26 Янв, 18:47 #191 #635033

Я вам покушать новую IDE принёс

https://github.com/cppit/jucipp/blob/master/README.md

Ответы: >>635068

26 Янв, 19:22 #192 #635068

>>635033
У Шпака точно такая же куртка CodeLite точно такие же скриншоты. Меня терзают смутные сомнения.

26 Янв, 19:37 #193 #635095

>>635003
Тут такое дело - Qt какбе бесплатна.

Ответы: >>635563

26 Янв, 21:20 #194 #635193

аноны помогите разобраться, нужно найти левый и правый крайние отрицательные элементы в массиве, вот минимальный элемент находит, а максимальный отрицательный нихуя, или выходит 0 или положительное число.
Вот код http://pastebin.com/18yUkcp4 .

Ответы: >>635209

26 Янв, 21:40 #195 #635209

>>635193
>а максимальный отрицательный нихуя
Ты уж определись, тебе максимальный отрицательный, или
>левый и правый крайние отрицательные элементы в массиве

Ответы: >>635217

26 Янв, 21:47 #196 #635217

>>635209
facepalm Вот я аутист, то что в задании конечно.

Ответы: >>635218

26 Янв, 21:49 #197 #635218

>>635217
Ну так делай while перебирая с начала и с конца, как только найдешь отрицательный - дропай.

Ответы: >>635279

26 Янв, 22:41 #198 #635279

>>635218
Блять, анон дай бох тебе здоровья выручил!

27 Янв, 06:12 #199 #635515

Аноны, нужно реализовать интерфейс Drag-and-Drop. Конкретно задача - создать редактор штрифтов TrueType (ну это такие буквы, которые для экономии частями хранятся). Естественно это надо возится с Form Application вижуала. В какую сторону для этого курить? Что навернуть? MDSN не предлагать.

Ответы: >>635524, >>635563, >>635666

27 Янв, 07:33 #200 #635524

>>635515
> Form Application вижуала
> Что навернуть?
Сам поймёшь, или подсказать?

Ответы: >>635526

27 Янв, 07:35 #201 #635526

>>635524
Подсказать.
>MDSN не предлагать.

27 Янв, 09:23 #202 #635563

>>635095
Как бе там LGPL - халявно для опенсорс проектов.
>>635515
Нету для плюсов такой хуйни. Для шарпа мб есть, но не для плюсов.

Ответы: >>635578, >>635647, >>635716

27 Янв, 09:44 #203 #635578

>>635563
А для проприетарщины нужно просто линковаться с Qt динамически

27 Янв, 12:27 #204 #635647

>>635563
>Как бе там LGPL - халявно для опенсорс проектов.
Лол, а может быть ты все таки прочитаешь, что такое LGPL?

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

27 Янв, 13:03 #205 #635662

Окей дауны.
Поясните тогда, как будет работать lgpl в его случае - закрытый коммерческий сервер.

Ответы: >>635664

27 Янв, 13:13 #206 #635664

>>635662
Никак. Поскольку сервер ты распространять не будешь - вообще не парься. А если будешь распространять - то по lgpl ты обязан линковаться динамически.

Ответы: >>635667

27 Янв, 13:16 #207 #635666

>>635515
Qt

27 Янв, 13:16 #208 #635667

>>635664
Ну а если действия происходят в цивилизованной части мира или к тебе придут дяди с проверкой?

Ответы: >>635668, >>635669, >>635674

27 Янв, 13:18 #209 #635668

>>635667
тоже самое

27 Янв, 13:18 #210 #635669

>>635667
Пиздец, типичная пидорашка, вместо знания знать ничего не знает, но зато уже трясется от проверок непонятного чего. (L)GPL требует открывать исходный код при дистрибуции. Нет дистрибуции - нет исходников.

27 Янв, 13:25 #211 #635674

>>635667
Блять ну не тупи же ты!
Ты обязан открыть саму Qt, если внёс в неё изменения. А производные продукты, которые её используют - ты открывать не обязан.

LGPL это считай такой аналог BSD.

27 Янв, 14:17 #212 #635716

>>635563
А чому? Оно же жрет кресты. Чего мне теперь, на шарп пересаживаться, что ли?

Ответы: >>635733, >>635778

27 Янв, 14:32 #213 #635733

>>635716
Нету там ни редакторов, ни средств создания гуя (кроме системного - винапи, но это совсем мазохизм). Мб есть какая нибудь обвязка крестов к дотнету.

Ответы: >>635819

27 Янв, 15:15 #214 #635778

>>635716
Qt + visual studio может в визуальное редактирование.

Ответы: >>635799

27 Янв, 15:47 #215 #635799

>>635778
Вроде в qml умеет только Qt Cretor.

Ответы: >>635801

27 Янв, 15:50 #216 #635801

>>635799
qml это текстовый формат (а графдизайнер кумэлэ просто говнище)

Ответы: >>635805

27 Янв, 15:53 #217 #635805

>>635801
Ну даже если и дизайнером не пользоваться - надо уметь в нормальное автодополнение и интеграцию.

Кроме креатора, это кто то умеет?

Ответы: >>635819

27 Янв, 16:14 #218 #635819

>>635733
>>635805
В общем, понятно. Последний вопрос - а как вообще приложения на крестах пишут тогда? То есть для UI мне надо ещё какой-нибудь шарп знать. Так штоле?

Ответы: >>635834, >>636000

27 Янв, 16:24 #219 #635834

>>635819
Для UI лучше всего qml.

Ответы: >>635835, >>635891

27 Янв, 16:26 #220 #635835

>>635834
Окай, спасибо.

27 Янв, 17:19 #221 #635891

>>635834
Кстати, еще не копал. Обещают сделать компилятор для qml, кмк, это будет просто бомба.

Ответы: >>635899, >>635934

27 Янв, 17:23 #222 #635899

>>635891
я могу сделать хуиту а-ля qml, но на чистых плюсах с boost::proto

Ответы: >>635934

27 Янв, 17:44 #223 #635934

>>635891
Ващет компилятор для qml давно уже есть.
Собсно, он входит в коммерческую версию Qt.

>>635899
Суть qml - писать гуй проще и не ебаться. Ты, коль желаешь, можешь и с бустом поебаться.

27 Янв, 18:38 #224 #636000

>>635819
Посмотри wxWidgets
Это средство создания гуя на крестах, пистоне и чём-то ещё. Кросплатформенный к иому же, и где-то формошлёпалка была.

Ответы: >>636015, >>636023

27 Янв, 18:49 #225 #636015

>>636000
Соси хуй пердолик. Кутя милая и я её на твою гейскую деревянную хуиту не променяю.

Ответы: >>636020

27 Янв, 18:55 #226 #636020

>>636015
Причём тут пердолик? Вх и на венде канают

27 Янв, 18:57 #227 #636023

>>636000
Еще один. В беседу достопочтенных господ о фреймворке с декларативным описанием гуя принес парашу с `Button1 = TButton.Create(owner)`

Ответы: >>636153

27 Янв, 19:29 #228 #636050

А что нибудь из кросплатформенного гуя без ебической кучи зависимостей по 20-30мб есть?

Ответы: >>636052, >>636060, >>636064, >>636106

27 Янв, 19:29 #229 #636052

>>636050
И да: все советчики fltk сосут члены со своими мамашами.

Ответы: >>636153

27 Янв, 19:38 #230 #636060

>>636050
Lazarus.

Ответы: >>636063

27 Янв, 19:39 #231 #636063

>>636060
>Lazarus
>нормальное

Ответы: >>636065

27 Янв, 19:39 #232 #636064

>>636050
каково там в 2001ом?

Ответы: >>636075

27 Янв, 19:40 #233 #636065

>>636063
Нормального в требованиях не было. Было "маленькое и кроссплатворменное без кучи зависимостей"

Ответы: >>636075

27 Янв, 19:47 #234 #636075

>>636065
Под C++ биндинги есть? :D
>>636064
Норм. Меня вот серьёзно напрягает, что я пишу на C++ и у меня хэловорды по 30 мб в оперативке занимают.

Ответы: >>636089

27 Янв, 20:00 #235 #636089

>>636075
>Под C++ биндинги есть? :D
Это паскаль тащемто

Ответы: >>636100

27 Янв, 20:05 #236 #636100

>>636089
Я потому и спрашивал про биндинги, тащемта. VCL к плюсам как-то прикручивали жеж.

27 Янв, 20:15 #237 #636106

>>636050
wxwidgets?

197 Кб, 1124x1024

27 Янв, 20:21 #238 #636113

Господа, порекомендуйте профайлер памяти для проекта. Желательно свободный для коммерческого использования, и чтоб под шиндошсом работало. Мне не нужны проверки на утечки памяти (Весь проект на автопоинтерах), достаточно просто посмотреть какой компонент софта при работе потребляет сколько памяти.

Вообще есть идея изменить автопоинтер чтоб он при создании/уничтожении логгировал что-то, а потом скрипт написать для анализа этих логов. Но как в таком случае я получу имя функции/метода/неймспейса из которого память выделяли? Да и велосипедненько это.

Ответы: >>636114, >>636116, >>636120, >>636138, >>636157

27 Янв, 20:22 #239 #636114

>>636113
Да и опять же, по самому поинтеру мы не поймём сколько памяти выделили.

27 Янв, 20:25 #240 #636116

>>636113
>Мне не нужны проверки на утечки памяти
>Весь проект на автопоинтерах
does not compute

Ответы: >>636117

27 Янв, 20:27 #241 #636117

>>636116
Ну утечек памяти нет, всё на автопоинтерах же.
Мне нужно узнать какой компонент сколько памяти заюзал при работе.

Ответы: >>636156

27 Янв, 20:29 #242 #636120

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

Ответы: >>636127

27 Янв, 20:34 #243 #636127

>>636120
Но он под шиндошсом же работать не будет.

27 Янв, 21:01 #244 #636138

>>636113
VLD. Работает везде, прикручивается за минуту

Ответы: >>636141, >>636150

27 Янв, 21:02 #245 #636141

>>636138
Мимо, он для утечек

27 Янв, 21:12 #246 #636150

>>636138
Хоть я и форсер vld, справедливости ради хочу заметить, что он не работает на никсах. Надстройка над чисто вендовой debug crt.

27 Янв, 21:15 #247 #636153

>>636052
>>636023
> декларативным описанием
Я не понял, опять штоле у функциональных петухов тред прохудился? Пиздуйте свои топосы дрочить, дайте взрослым дядям поговорить.

Ответы: >>636160

27 Янв, 21:18 #248 #636156

>>636117
Прикрути кастомный аллокатор типа dmalloc или jmalloc

Ответы: >>636160

27 Янв, 21:19 #249 #636157

>>636113
В студии прекрасный встроенный профайлер с графиками и прочими вкусностями. И еще можно делать автоматические оптимизации по результатам профилирования.

Недостаток - для проекта из 10к строк на выходе профилировщика получается уже полугиговый файл. Поэтому неудобно после каждой сборки профилировать.

27 Янв, 21:23 #250 #636160

>>636153
Каких функциональных, крудошлёп ты лысеющий?
>>636156
Реализация на пильйон:
#define malloc(x) malloc(x); printf("аллокатед %ыыы бутес", x);

27 Янв, 21:29 #251 #636164

Посоветуйте, аноны. Хочу вкатиться в Qt, кресты буду учить практически с ноля. Какую IDE устанавливать? Стоит начинать с Qt Creator или есть что более годное?

Ответы: >>636171, >>636184

27 Янв, 21:44 #252 #636171

>>636164
Ставь QTCreator.

27 Янв, 21:59 #253 #636184

>>636164
Вкатывайся, дорогой, QTCreator, C++11 тебя ждут.

Ответы: >>636188, >>636276

27 Янв, 22:03 #254 #636188

>>636184
Причем не просто Qt Creator, а Qt SDK.
Иначе он еще будет тут ебать всем мозги, как компилятор подключать.

Ответы: >>636201, >>636276

27 Янв, 22:12 #255 #636201

>>636188
Вангую плптиновые вопросы по пунктам:
установил этот ваш куте ничего не запускается
как установить gcc под windows
как установить mingw под windows
установил этот ваш mingw ничего не запускается
как задать переменную среды
бля ну почему runtime error
как включить dwarf исключения
как переустановить mingw

Ответы: >>636276

27 Янв, 22:55 #256 #636276

>>636188
>>636184
>>636201
Ненене антон, ты меня не так понял. Я скорее интересуюсь тем, что православнее - ставить криэйтор, studio, clion или что ещё. Или может рановато и мне нужно вкатываться в блокнот и gcc.exe?

28 Янв, 00:22 #257 #636396

Ребята, есть Точка:
class Point
{
private:
int _x;
int _y;
public:
Point():_x(0),_y(0){}
Point(int a, int b):_x(a),_y(b){}

void set(int a, int b)
{
_x=a;
_y=b;
}
int getX()
{
return _x;
}
int getY()
{
return _y;
}
};
Нужен ли тут деструктор? Поясните за деструктор, когда и зачем он применяется?

Ответы: >>636398, >>636401, >>636405

28 Янв, 00:24 #258 #636398

>>636396
а как ты думаешь? и почему?

Ответы: >>636408

28 Янв, 00:27 #259 #636401

>>636396
Здесь деструктор будет создан компилятором, как конструктор копирования.
Гугли POD.
Деструктор нужен для кастомнрго разрушения объектов. Самое простое - освобождение ресурса: память, файл, коннект к базе. Но может быть и более сложная логика, хотя и не рекомендуется (читай про исключения).

28 Янв, 00:30 #260 #636405

>>636396
А за _x и _y стоит убивать.

Ответы: >>636410

28 Янв, 00:31 #261 #636408

>>636398
Думаю, что не нужен, так как нету динамического выделения памяти. Или нужен. Я не улавливаю сути.

Ответы: >>636414

28 Янв, 00:31 #262 #636410

>>636405
Почему?

Ответы: >>636411, >>636519

28 Янв, 00:32 #263 #636411

>>636410
Обычно их везде бы назвали как mX/mY или m_x m_y.

От подчеркиваний блевать тянет.

Ответы: >>636415, >>636416

28 Янв, 00:33 #264 #636414

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

28 Янв, 00:33 #265 #636415

>>636411
Понятно.

Ответы: >>636417

28 Янв, 00:34 #266 #636416

>>636411
Это вопрос стиля. Где то принято с подчёркивания, где-то m_ или m или i.

28 Янв, 00:36 #267 #636417

>>636415
Алсо вместо
>int getY()
нужно
int getY() const

Ну ты понел.

Ответы: >>636419

28 Янв, 00:38 #268 #636419

>>636417
Да, спасибо.

28 Янв, 03:19 #269 #636519

>>636410
Начальные подчеркивания зарезервированы для компилятора. Если хочешь их использовать, ставь в конце. x_ и y_.

Ответы: >>636563

28 Янв, 08:40 #270 #636560

Чому на С++ так мало опенсорца? Если и есть, то только в качестве второго/третьего языка для всякой хуйни по мелочи.
Исключение - KDEProject и OpenCV и всякое фб/гуглоговно.

Ответы: >>636572, >>636577, >>636920

28 Янв, 08:46 #271 #636562

Помогите тупому ньюфагу, токо начинаю вкатываться в плюсы с нуля. Кароч такая вот задача:
"Write a program that uses a loop to display the characters for each ASCII code 32 through 127. Display 16 characters on each line with one space between characters"
Как сделать только 16 цифр на 1 строке, а не 32 33 34 35...127, и как это все показать в ascii как вставлять эту хуиту из acii table?
Пока есть токо это
int val = 32;
while (val <= 127)
{
cout << val << " ";
val = val + 1;
}

Ответы: >>636564, >>636566

28 Янв, 08:48 #272 #636563

>>636519
Таки нет, зарезервированы двойные подчёркивания __, так же не рекомендуется использовать подчёркивание и прописную букву _A, _Bxx, а со строчными проблем быть не должно. Но смотрится по-уебански.

28 Янв, 08:51 #273 #636564

>>636562
Джва счётчика, один для символа, другой для количества символов. условный оператор в начале блока цикла который напечатает "\n" при 17 символе и сбросит счётчик символов.

Ответы: >>636569

28 Янв, 08:56 #274 #636566

>>636562
Когда выводишь val касти его к типу char. Следи сколько ты уже вывел символов на текущей строке, и когда наберется 16 то вставляй std::endl. Сделай счетчик, или, например, можно смотреть на остаток деления val на 16 (val % 16) и в зависимости от остатка вставлять конец строки. Можно два вложеных цикла сделать.

Ответы: >>636569

952 Кб, Webm

28 Янв, 09:10 #275 #636569

>>636564
>>636566
Как следить, зачем следить, после чего вписывать <<endl
Я когда запускаю
int val = 32;
while (val <= 127)
{
cout << val << " ";
val = val + 1;
}
у меня просто хуярит с 32 до 127 сразу, что значит когда наберется?

Ответы: >>636571

28 Янв, 09:31 #276 #636571

>>636569
>другой для количества символов
>условный оператор
>когда наберется 16

28 Янв, 09:31 #277 #636572

>>636560
>Чому на С++ так мало опенсорца
Firefox, VirtualBox, LibReOffice, тонны его.

Ответы: >>636579

28 Янв, 10:01 #278 #636577

>>636560
Ебать ты дебик.
https://github.com/trending?l=cpp
Проектов дохуя, только в основном все - ниебически большие, и ентрилевел там соответствующий хотя бы сделать работающий прототип на плюсах внезапно выше, чем на питонах/раби, вот мы и не видим еженедельно новых веб фреймворков.

Ответы: >>636583

28 Янв, 10:04 #279 #636579

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

Ответы: >>636582

28 Янв, 10:11 #280 #636582

>>636579
>компиляторы
Да, самое главное забыл. LLVM + Шlang.

28 Янв, 10:13 #281 #636583

>>636577
Не обзывайся.

28 Янв, 15:36 #282 #636839

Такой вопрос, ананы. Часто в вакансиях вижу что-то типа "умение программировать на С++ в среде UNIX/Linux" мб по-уебански как-то написал, ну ладно
Так вот че почитать, поделать для этого самого умения. Мб есть какие вводные в кернел программинг. (Это уже и для себя интересно, не вдаваясь, каэш в продакшн)
Или это вообще просто-напросто сводится к умению компилить из командной строки, установке пакетов, в общем к базовому/продвинутому пользованию терминала?

Ответы: >>636850, >>636898, >>636996, >>640307

28 Янв, 15:44 #283 #636850

>>636839
Кернел на крестах непопограмируешь. А вообще прочитай книжку по системному погромировпнию под линупс.

Ответы: >>636860

28 Янв, 15:54 #284 #636860

>>636850
Возможно с кернелом я загнул, но что тогда подразумевается под знанием линупса? Минимальная системуха?

Ответы: >>636867, >>636879

28 Янв, 16:02 #285 #636867

>>636860
Думаю, что навыки системного программирования и подразумеваются.

28 Янв, 16:10 #286 #636879

>>636860
Наверное нужно системное API, там POSIX например.

28 Янв, 16:27 #287 #636898

>>636839
Перед тобой свежеустановленая убунта.
Напиши и скомпилируй хеловорлд и твою лаба2 на ней.
Элементарные знания командной строки, GCC/clang, git и тп.

Ответы: >>636903

28 Янв, 16:31 #288 #636903

>>636898
Это требования к первокуру/школьнику

Ответы: >>636905

28 Янв, 16:34 #289 #636905

>>636903
Это и есть "умение программировать в среде линукс".

Ответы: >>636907, >>636908

28 Янв, 16:37 #290 #636907

>>636905
Начальные.

28 Янв, 16:40 #291 #636908

>>636905
Умение программировать хелловорлд?
Ты серьёзно считаешь, что они ищут это?

Ответы: >>636915

28 Янв, 16:44 #292 #636915

>>636908
На джуна - это. На миддла - еще make, autotools, cmake, понятие ldconfig, grep/sed/awk и до бесконечности. Но это точно не про программирование ведра или что ты там себе выдумал.

28 Янв, 16:50 #293 #636920

>>636560
Упоролся? Берешь линукс и ищешь пакеты, которые зависят от буста, qt, gtkmm и сотен других либ для плюсов.

51 Кб, 577x755

56 Кб, 638x717

28 Янв, 17:06 #294 #636929

Анон, объясни, что за хуита происходит на рисунке? Почему последнее дерево не является кучей? Что там вообще демонстрируется, если в результате получается не куча?

Ответы: >>636931, >>636933, >>637046

28 Янв, 17:08 #295 #636931

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

28 Янв, 17:15 #296 #636933

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

Ответы: >>636946

28 Янв, 17:28 #297 #636946

>>636933
Ну так я и говорю. Нахуя они в демонстрации построения кучи показывают дерево, которое в конце кучей не является?

Ответы: >>637039

28 Янв, 17:28 #298 #636947

Пришлось все это говно руками на бумажке расписывать.

35 Кб, 209x300

28 Янв, 18:23 #299 #636996

>>636839
Я однажды тем же вопросом задался. Поиом эту книгу нашёл. Файловый ввов-вывод, процессы, права пользователей, системные вызовы.
Почитай, интересно

Ответы: >>636998, >>640307

sage 28 Янв, 18:23 #300 #636998

>>636996
И да, там в книге ещё про ведро рассказывается,это не надо.

28 Янв, 18:48 #301 #637039

>>636946
Ну там дерево же вообще не изменяется. Наверное показана работа именно Bild-Heap (тоесть изменение индекса i), а Heapify нихуя не делает, тоесть дерево не изменяется, а только индекс скачет.

28 Янв, 18:55 #302 #637046

>>636929
о, корбан

28 Янв, 21:41 #303 #637232

Поясните, я тут начинаю вливаться в программирование на ++, такой вопрос.
В книге написано что если return в функции main будет -1, то программа должна выдать ошибку.
Но я делал -1 или вообще удалял ретурн, мне ничего не писало.

Ответы: >>637237, >>637243, >>637256, >>637278

28 Янв, 21:50 #304 #637237

>>637232
Это стандартное соглашение в командной строке - отрицательный результат программы трактуется как ошибка.

28 Янв, 21:58 #305 #637243

>>637232
Удалил ретурн из main - автоматически вернуло 0, стандарт гарантирует. Написал -1 - вернуло -1, но твоя ось проигнорировала это.

28 Янв, 22:16 #306 #637256

>>637232
Ничего она не должна. Это код выхода, который, если не равен нулю, говорит об аварийном завершении программы. Т.е. это ты должен его считать и уже сам делать выводы. Бывает очень полезным в скриптах, для остального есть логирование.
https://en.wikipedia.org/wiki/Exit_status

28 Янв, 22:51 #307 #637278

>>637232
>В книге написано что если return в функции main будет -1, то программа должна выдать ошибку.
Точно, но наоборот.

29 Янв, 13:10 #308 #637575

Где можно украсть книгу Степанова Elements of Programming?
http://demin.ws/blog/russian/2009/07/30/elements-of-programming/

Ответы: >>637581

29 Янв, 13:22 #309 #637581

>>637575
http://bookzz.org/s/?q=elements+of+programming+stepanov

37 Кб, 810x486

29 Янв, 18:26 #310 #637807

Как с++прогеры поступают если надо работать с символами русского языка?
Тут проскакивала инфа что в qt нет таких проблем а я проверил есть.

Ответы: >>637815, >>637818

29 Янв, 18:33 #311 #637815

>>637807
Ты юзаешь стандартный std::string, хули ожидал-то? В QT тупо свой QString юникодовский.

Ответы: >>637818

9 Кб, 842x157

29 Янв, 18:35 #312 #637818

>>637807
vs15
>>637815
А я что юзаю?

Ответы: >>637825, >>637827, >>637835

29 Янв, 18:39 #313 #637825

>>637818
Нет систем кроме винды?

Ответы: >>637831

29 Янв, 18:39 #314 #637827

>>637818
Прыщи и юникод хранимый в std::srting

Давай ка мне теперь найди среднюю длину слова в строке из русских и англ слов :3

Ответы: >>637829, >>637831

29 Янв, 18:40 #315 #637829

>>637827
А, ну или не прыщи, а Windows и cp1251

29 Янв, 18:41 #316 #637831

>>637825
>>637827
Я не прыщеблядь. А вам, раз уж вы прыщебляди, должно быть очевидно, что что-то не будет работать.

29 Янв, 18:42 #317 #637835

>>637818
>А я что юзаю?
std::string
>В QT тупо свой QString юникодовский.
Ты не используешь библиотеку Qt, а просто используешь Qt Creator как я понял.
Вместо std::string используй QString и подключи Qt в .pro

Ответы: >>637836

29 Янв, 18:43 #318 #637836

>>637835
>std::string
Вот и я о чём, почему у них реализация другая?

Ответы: >>637839

29 Янв, 18:45 #319 #637839

>>637836
Потому что реализовали по-другому?

Ответы: >>637840

29 Янв, 18:45 #320 #637840

>>637839
А как же стандарт?

Ответы: >>637845, >>637846, >>637852

29 Янв, 18:49 #321 #637845

>>637840
пиздос
у нас в опенспейсе за такие вопросы убивают нахуй!

29 Янв, 18:49 #322 #637846

>>637840
Стандарт в плюсах не сильно строгий же.

29 Янв, 18:54 #323 #637852

>>637840
std::string базируется на char (байтовом)
Есть еще std::wstring, который базируется на wchar_t)
Хочешь юникода - используй wstring.

Ответы: >>637855, >>638031

29 Янв, 18:58 #324 #637855

>>637852
Хотя я что-то ошибся.
Почитал про wstring подробнее - говорят, что очень зависит от платформы и лучше не использоватью

Ответы: >>637910

29 Янв, 19:10 #325 #637870

Анон, расскажи про состояние Qt в индустрии. Как оно там, не умирает? Можно погружаться? Вакансии не исчезнут с рынка труда, пока я более-менее разберусь?

Ответы: >>640004

29 Янв, 19:24 #326 #637884

Блин, а мне то что делать? Изучать библиотеки qt?

29 Янв, 19:49 #327 #637910

>>637855
Что мешает сделать basic_string <MyOwnYobaChar>?

29 Янв, 20:01 #328 #637926

>>632186
#include <bjorn>

int
main {
Bitard ty{};
ty.sheka = bjorn::proveril();
}

Ответы: >>637931

29 Янв, 20:10 #329 #637931

>>637926
return забыл и скобочки

29 Янв, 21:55 #330 #638031

>>637852
> Хочешь юникода - используй wstring.
Хочешь юникода - используй utf8 в std::string. Вообще советую почитать http://utf8everywhere.org/ , там и про ситуацию с юникодом в крестах рассказано, и в STL и в Qt.

29 Янв, 22:07 #331 #638040

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

Ответы: >>638065

29 Янв, 22:32 #332 #638065

>>638040
Если просто const переменная, то в машинном коде она, как правило, станет обычной переменной если забыть про тонкости наподобие оптимизаций, связанных с read-only memory etc, разместится на стеке или в сегменте данных, как обычно, в общем. Т.е. константность это просто такое высокоуровневое средство для проверки при компиляции, что ты не накосячил.

constexpr же на этапе компиляции будет подставлена вместо всех упоминаний и зашита в код. Например, для constexpr int x = 1 что y+=x, что y+=1 превратятся во что-то с inc eax, ну ты понел. Никакой отдельной памяти для этих чисел не выделится, они будут прямо в машинных инструкциях.

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

Ответы: >>638069

29 Янв, 22:34 #333 #638069

>>638065
Спасибо за ответ.

30 Янв, 02:50 #334 #638209

>>631744 (OP)
пиздец важный вопрос
сколько времени минимум понадобиться, что бы выучить кресты на достаточном для стажировки на джуна?

Ответы: >>638213, >>638216, >>638258, >>638265, >>638477

30 Янв, 03:19 #335 #638213

>>638209
Что в твоем понятии "выучить кресты"?

30 Янв, 03:55 #336 #638216

>>638209
год

мимоуебок

30 Янв, 09:04 #337 #638258

>>638209
Иди на хуй, ты профнепригоден.

282 Кб, 626x662

30 Янв, 09:12 #338 #638265

>>638209
>Времени минимум понадобиться
6 лет в вузе. 5 лет активной работы в опенсорсе.
Наличие своих проектов, которые нужны еще кому-то, кроме тебя, обязательно.
А еще ((SOLID&&OOP&&Patterns&&Algoritms)&&(Containers&&Pointers&&etc)&&(stl||boost||qt)&&(vim||emacs)&&unit_tests&&git&&unix_terminal&&etc)
иначе
junior1464_cpp->~useless_crap();

джуны в крестах не нужны, крестами заканчивают, а не начинают

30 Янв, 16:23 #339 #638477

>>638209
3 месяца, не слушай пердунов

30 Янв, 16:28 #340 #638480

Кто-то пишет игры, что проще, именно проще в программном смысле использовать с плюсами GL или DX?

Ответы: >>638481, >>638482

30 Янв, 16:30 #341 #638481

>>638480
Пишу игру для конкурса из соседнего раздела
https://2ch.hk/gd/res/211718.html (М)

Поэтому графика нужна не замороченная. Повторюсь, в приоритете простота написания кода.

30 Янв, 16:32 #342 #638482

>>638480
обычно готовый движок юзают

Ответы: >>638486

30 Янв, 16:35 #343 #638486

>>638482
Задумка простая, но важна скорость 3D, движки обычно монструозные и тормозные для моей игры. Поэтому выбрал кресты, потому что раньше писал утилиты на них, хотя сейчас работаю в java, но там сам понимаешь, что с графикой.

Ответы: >>638491, >>638526

30 Янв, 16:39 #344 #638491

>>638486
На Java minecraft написан.

Ответы: >>638492, >>638940

30 Янв, 16:40 #345 #638492

>>638491
Об этом и речь

30 Янв, 17:08 #346 #638526

>>638486
http://irrlicht.sourceforge.net/
http://www.ogre3d.org/

>движки обычно монструозные и тормозные для моей игры
я конечно не знаю всех подробностей, но я сомневаюсь что можно написать вменяемый 3Д движ за две недели и при этом задавать вопросы что лучше OGL или DX
лучше две недели потратить на геймплей/графоуни/багофикс для твоей игры, а не для абстрактного движа

30 Янв, 23:29 #347 #638940

>>638491
Есть же minetest который, блядь, не тормозит как высер жирного джаваблядка, а мелкомягкие обещали зделать c++ версию настоящего под шиндовс10.

Быдлокодер 31 Янв, 00:34 #348 #639000

Ребят, такой вопрос, работаю в cbuilder, и нужно чтобы когда мы вводим что-то в edit, и нажимаем enter, происходило нажатие кнопки. Как отловить это нажатие enter когда активен edit?

Ответы: >>639011, >>639033, >>639086

31 Янв, 00:47 #349 #639011

>>639000
> работаю в cbuilder
В дэльфи тред.

Ответы: >>639175

31 Янв, 01:04 #350 #639033

>>639000
в событиях смотри, keypress либо еще что-нибудь
алсо смотри Qt вместо этой некрофилии

Ответы: >>639176

31 Янв, 02:29 #351 #639086

>>639000

class MainWindow : public QMainWindow
{
Q_OBJECT

public:
explicit MainWindow(QWidget ``parent = 0);

protected:
void keyPressEvent(QKeyEvent ``event);
};

void MainWindow::keyPressEvent(QKeyEvent ``event)
{
switch(event->key())
{
case Qt::Key_Shift: /ввв*/; break;
}
}

вакаба наверное указатели перед event съест, ну ты понял

Ответы: >>639178

Быдлокодер 31 Янв, 12:12 #352 #639175

>>639011

При чем тут дельфи? Это же чистый С++!

Ответы: >>639185

Быдлокодер 31 Янв, 12:13 #353 #639176

>>639033

Keypress это понятно, но как проще понять что нажат именно ентер

Быдлокодер 31 Янв, 12:14 #354 #639178

>>639086

Спасибо!

Ответы: >>639185

31 Янв, 12:18 #355 #639185

>>639178
>спросил про cbuilder
>съел говно про Qt и сказал спасибо
Лол.
>>639175
VCL билдера (как и он сам) - это обертка с плюсовым синтаксисом над дэльфи библиотеками, не больше.

Ответы: >>639236

Быдлокодер 31 Янв, 13:58 #356 #639236

>>639185

>лол
Я с кодом попозже решил разобраться просто. А че за qt?
>vcl это обертка с плюсовым синтаксисом над дэлфи
На уровне компилятора - да, но весь код пишется на чистом с++. В то что внутри билдера меня не сильно волнует

Ответы: >>639241

31 Янв, 14:09 #357 #639241

>>639236
>Я с кодом попозже решил разобраться просто. А че за qt?
https://ru.wikipedia.org/wiki/Qt
C++ гуевый (и не только) фреймворк.
>В то что внутри билдера меня не сильно волнует
Ты, блядь, вася. Тебе нужно именно то, что внутри билдера, т.к. именно он обрабатывает эту всю хуйню, неважно на каком языке. Найти ту же обмотку на плюсах потом проблемы не составит, а в дэльфитред я тебя послал потому, что тут никто с этим говном не работает хотя мб когда нибудь сюда зайдёт старый печальный крудошлёп, который работает с этим говном с начала 2000-х.

Ответы: >>639253

Быдлокодер 31 Янв, 14:27 #358 #639253

>>639241

>с начала 2000-х

Ну окей, а как же с ХЕ8 Билдером, он ведь вышел не так давно. Основной принцип работы между борланд с++ билд ером и современным хе8 не изменился

Ответы: >>639266

31 Янв, 14:38 #359 #639266

>>639253
Вась, ухади!
>а как же с ХЕ8 Билдером
А новые вещи в продакшен в рашке нитащут. В яндексе например, по комментариям его работников в 2014, запрещали писать на C++11. И это, блядь, топ ит компания, а шаражкины конторы использующие билдер в лучшем случае на 6-м сидят.

Тебе уже ясно пометили территорию: или нормальный C++, или пиздуй в дэльфитред с вопросами по VCL.

Ответы: >>639318, >>639367, >>642226

31 Янв, 15:47 #360 #639318

>>639266
Лол, у нас как-то арх все ждал появления вариадик теплейтс в мс Вижул Студии. А другой каллека бугуртил, что это все дрисня, и вместо шаблонов нужны интерфейсы и полиморфизм.

Ответы: >>639326

31 Янв, 15:59 #361 #639326

>>639318
А можно было просто взять D и не ебя мозга реализовывать все новое на нем. Но сори, у нас продакшен, главное - стабильность по 80 рублей за доллар.

Ответы: >>639336

31 Янв, 16:11 #362 #639336

>>639326
<Здесь был срач, что Cpp11+ почти догнал мертворожденный Dlang>

Ответы: >>639352

31 Янв, 16:23 #363 #639352

>>639336
D не взлетел именно из-за политики больших компаний.

И да: даже не начнет догонять пока его полностью не рефакторнут, т.е. - никогда.

Ответы: >>639526

Быдлокодер 31 Янв, 16:38 #364 #639367

>>639266
А что же по твоему тогда нормальный с++?

Ответы: >>639369, >>639378

31 Янв, 16:39 #365 #639369

>>639367
C++17

Ответы: >>639379

31 Янв, 16:46 #366 #639378

>>639367
Это C++ который не C++, ибо его уже поздно переделывать.

31 Янв, 16:47 #367 #639379

>>639369
Этот наврятли что-то изменит - даже модули отклонили.

Ответы: >>639429

31 Янв, 17:12 #368 #639429

>>639379
модули не нужны

31 Янв, 18:37 #369 #639526

>>639352
Не начнет, пока не сделают сборку мусора опциональной нормально.

К тому времени сборщик уже успеют нормально прикрутить к плюсам лол

Ответы: >>639533

31 Янв, 18:42 #370 #639533

>>639526
Она никогда не была в D обязательной.

Ответы: >>639536

31 Янв, 18:44 #371 #639536

>>639533
D requires garbage-collection
This could be seen as controversial because it is possible to run D without the GC. However, just because it is possible doesn't mean it is practical. Without a GC, you lose a lot of D's features, and using the standard library would be like walking in a minefield (who knows which functions allocate memory?). Personally, I think it is totally impractical to use D without a GC, and if you aren't a fan of GCs (like I am) then this can be quite off-putting.

Ответы: >>639552

31 Янв, 19:10 #372 #639552

>>639536
Щас бы пиздаболию теоретика послушать. Стандартная библиотека прекрасно работает и без GC.
http://ideone.com/dhu5gU

Ответы: >>639570

31 Янв, 19:27 #373 #639570

>>639552
Течет она прекрасно и непредсказуемо.

Ответы: >>639574

31 Янв, 19:31 #374 #639574

>>639570
На уровне C++, чо.

Ответы: >>639581

31 Янв, 19:40 #375 #639581

>>639574
Нет, потому что у С++ библиотека рассчитана на работу без GC.

Here are some things not to do with GC disabled, because they will cause memory leaks:

Do not use the array append ( ~= ) operator, or use the .length property to enlarge an array that has already been allocated. These rely on GC to free the old array if it has to be reallocated, since there may be aliasing to it somewhere else in the program.
Do not use builtin associative arrays. The only way to free these is by GC.
Most of Phobos and, I believe, Tango, were designed with the assumption that garbage collection is present. Functions in these libraries may leak memory horribly if used w/o GC.
Do not use D2 closures with GC disabled. (Not that you would anyway, for a game.)

Ответы: >>639603

31 Янв, 20:00 #376 #639603

>>639581
У меня аж идея для проекта появилась.
Тебе опять же никто не мешает делать вещей вроде GC.collect в середине кода.

И да, к началу разговора: если D развивали бы не пара его создателей и люди не любили бы сидеть своем говне - это все давно не было бы проблемой.

Ответы: >>639609, >>639610

31 Янв, 20:05 #377 #639608

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

31 Янв, 20:05 #378 #639609

>>639603
Вот как бе пруфы последней строчки:
http://wiki.dlang.org/Memory_Management#Writing_GC_free_code
>Work is in progress to make the D standard library, Phobos, usable without any use of the garbage collector. Eventually Phobos will be fully @nogc compliant.

31 Янв, 20:08 #379 #639610

>>639603
Нет, D изначально ущербен. Это такой C# с темплейтами. То есть не нужен ни пользователям C#, которым и с генериками норм, ни пользователям C++, которым нужны value-types и отсутствие GC везде. Есть язык, который "если D развивали бы не пара его создателей и люди не любили бы сидеть своем говне - это все давно не было бы проблемой." - это Clay. Который на голову выше D и при этом действительно слаборазвит. Но тут уж не судьба.

Ответы: >>639623, >>639698

31 Янв, 20:17 #380 #639623

>>639610
>Это такой C# с темплейтами.
Ниет. Ты ни одного, ни второго не знаешь видимо.
>это Clay
Ок ок, я понял, уноси свою сишку со скриптовым сахаром без нихуя.

23 Кб, 656x164

153 Кб, 731x1017

31 Янв, 21:23 #381 #639678

Помогите, пограммисты, не знаю куда обратиться!
Начал изучать недавно С++ по книге с вашей шапки Липпмана.
Там я дошёл до главы с классами, где какая-то ссылка на Sales_item.h была. Сначала я не понял т.к. я файл не создавал, и нигде до этого не было указано как его сделать или взять. Но дочитав главу до конца в книге указана гиперссылка, по которой, якобы, есть этот файл - пик №1.
Но при заходе по этой ссылке этого файла нет, а идёт редирект на эту книгу.
Что делать, подскажите?

Ответы: >>639679

31 Янв, 21:24 #382 #639679

>>639678
http://www.informit.com/store/c-plus-plus-primer-9780321714114
Вот сюда та ссылка ведёт.

Ответы: >>639728

31 Янв, 21:43 #383 #639698

>>639610
Насчет сисярпа с темплейтами ты загнул, конечно. Со скоростью у D вроде бы все на уровне крестов. Но насчет ущербности я поддвачну тебя.

Если что, дело даже не в том, что, мол, кресты популярны, а D - нет, и вот поэтому на них не перекатываются и кодобазы кот наплакал. Дело в том, что сама концепция "взять существующий язык и выбросить возможности, которые кажутся плохими" - она тупиковая. Хотя бы потому что каждая выброшенная фича, даже объективно плохая, вроде хэдеров вместо модулей, даст моментальный отказ тех, кто ее использует, от переката на новый язык. В крестах есть более удачные и менее удачные фичи, но практически за каждой стоит серьезная мотивация, серьезная проблема, для решения которой в свое время решили использовать эту фичу. Поэтому объединение недовольных крестогоспод, которые, увидев D, предали его анафеме, оказалось больше допустимого. И именно это стало причиной того, что D умер в младенчестве.

Кресты же с самого начала осуществляют стратегию впитывания - берут из других языков разные парадигмы и фичи, но никогда ни от чего не отказываются. От успешного Си был взят популярнейший синтаксис и машинная ориентированность. Когда заговорили об ООП, а университеты стали пилить академические языки, в которых было только ООП, страус взял и аккуратно встроил парадигму в Си, получив смешанный ООП-процедурный подход, а не синтаксически бедную дрисню, в которой есть объекты, сообщения и больше нихуя. Заговорили об обобщенном программировании - вместо переката на какие-нибудь стандартные интерфейсы - страус со Степановым покумекали и внедрили шаблоны и STL. Заговорили о функциональном программировании - комитет впилил лямбды и variadic templates. Можно еще много примеров привести: умные указатели, конкурентные фичи, вывод типов - тысячи их. И все делаются по одному сценарию: "старое не ломается, новое гармонично дополняет старое". Поэтому происходит процесс, обратный тому, что произошло с D - алтфаки остаются, и вдобавок к ним перекатываются люди из других языков, соблазнившись тем, что тут есть и привычные им фичи, и крестовые.

Можно сколько угодно кукарекать про выстрелы в ногу и преимущества сильной типизации/функциональной парадигмы/еще чего-нибудь. Но успех крестов наглядно показывает, почему любые намеренные ограничения, призванные облегчить вкатывание для макак, на самом деле являются злом, убивающим язык. Диванные аналитики пилят стены текста с длиннющими апологиями своих языков, пытаются доказать, что их ЕДИНСТВЕННО ВЕРНЫЙ подход лучше всех остальных особенно функциональные петухи этим грешат, вместо того, чтобы запилить объединение концепций, которое лучше каждого в отдельности.

Ответы: >>639733, >>639761

31 Янв, 22:11 #384 #639728

>>639679
Внизк страницы несколько вкладок, и там вкладка downloads.

Ответы: >>639736

31 Янв, 22:17 #385 #639733

>>639698
>Дело в том, что сама концепция "взять существующий язык и выбросить возможности, которые кажутся плохими" - она тупиковая.
Ну как бы в D ничего и не выкидывали. Ну ладно, кроме этого еще дефайны и неймспейсы послали нахуй.
>Заговорили о функциональном программировании - комитет впилил лямбды и variadic templates
Самое смешное, что вообще все это было за почти за десяток лет до C++11 в D. Причем там это реализовано намного лучше, чем в крестах. Страуструп задумался о модулях и UFCS в C++17 - он тоже уже давно в D.
>фича, даже объективно плохая, вроде хэдеров вместо модулей, даст моментальный отказ тех, кто ее использует
Ну хэдэры-то конечно ахуенная вещь, особенно в плюсах, где дебажная сборка хэловорда с темплейтами может занимать пол часа с соответствующими бесконечными багами линкера.
И убрав эти хэдэры из языка их функциональности внезапно никто не лишится.
Все эти "обдуманные решения" в плюсах - такое же костыльное легаси говно, как и отсутствие этого решения.
>Но успех крестов наглядно показывает
Что людям просто похуй, они привыкли пихать костыль в зад и пихают.

Ты не понял сути D - никто ничего не выкидывал, просто все по-человечески рефакторнули. Тут тебе и быстрая компиляция, и куда более мощные средства метапрограммирования и вся compile-time хуита которая в плюсах костыльно реализованна на constexpr, и вообще все - но в отличие от плюсов ты можешь зайти в стандартную библиотеку и без проблем понять что автор пытался сделать. Это называется дизайном языка с учетом ошибок, а не накоплением говна как в плюсах.

Ответы: >>639761, >>639772

31 Янв, 22:18 #386 #639736

>>639728
Спасибо, как ты понял, а я нет?

31 Янв, 22:39 #387 #639761

>>639698
> Со скоростью у D вроде бы все на уровне крестов.
Да нет, из-за GC это типичный C#. C# тоже довольно быстр, надо сказать.
>>639733
Страуструп задумался о модулях в С++ еще в книжке Дизайн и эволюция, которая появилась намного раньше D.
>Ты не понял сути D - никто ничего не выкидывал
D выкинул гигабайты кодобазы. Это - главное. А С++xy ничего не выкидвает.

Ответы: >>639781, >>639786

31 Янв, 22:45 #388 #639772

>>639733
Не путай "хотели" и "сделали". Фобос до сих пор рефакторят. Они так бешено быстро всего понапихали, что все эти десять лет только и переделывают туда-обратно. Быстрее будет с нуля язык сделать, нежели сделать всё стройно и гладко с тем, что уже есть.

// Тот анон, которому не нравится GC

Ответы: >>639781

31 Янв, 22:53 #389 #639781

>>639761
>Да нет, из-за GC это типичный C#.
Да нет, он таки быстрее, хотя GC у него таки хуже чем в яве или го.
>Страуструп задумался о модулях в С++ еще в книжке Дизайн и эволюция, которая появилась намного раньше D.
И где они? По его заверениям он хотел ввести и вывод типов еще в 90-х, но отказался под давлением сишников.
>D выкинул гигабайты кодобазы. Это - главное. А С++xy ничего не выкидвает.
Использовать из D код из C++ никто не мешает, даже модель памяти аналогияная и аби плюсовый полностью поддерживается.
>>639772
Это следствие разработки 2 человеками (ну еще рандомные челики через раз с форума набигают). Сколько лет коммитет C++ обсуждал C++11 и сколько изменено в C++14?

Ответы: >>639881

31 Янв, 22:55 #390 #639786

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

Ответы: >>639857

01 Фев, 00:36 #391 #639857

>>639786
Каких фич крестов нету в D?

01 Фев, 00:51 #392 #639881

>>639781
>И где они?
У С++ фичи обсуждаются до тех пор, пока они не устроят всех. В отличие от тоталитарных корпоративных языков. Поэтому медленно. Но и хорошо при этом.
>Использовать из D код из C++ никто не мешает, даже модель памяти аналогияная и аби плюсовый полностью поддерживается.
Не поленился проверить - нихуя не так.

Ответы: >>639986

01 Фев, 03:58 #393 #639966

https://www.youtube.com/watch?v=YYtzQ355_Co

01 Фев, 08:09 #394 #639986

>>639881
>Не поленился проверить - нихуя не так.
https://dlang.org/spec/cpp_interface.html
Что именно?
>Поэтому медленно. Но и хорошо при этом.
Ясно. Что именно хорошего? Что в языке, каждую фичу которого обсуждают по 10 лет все такие же костыльные простыни вместо шаблонов? Что ещё за 3 года обсуждений тебе могут дать чуть расширенный костыль в виде constexpr? Аргументация уровня "мы в говне, но зато стабильность".

01 Фев, 09:22 #395 #640004

>>637870
А с чего ему умирать-то? Qt развивается, годных qt-программеров не хватает. Наши американские и канадские заказчики например проекты переводят на Qt, всё норм.

01 Фев, 11:28 #396 #640053

Пацаны, хочу вкатиться в кресты.
Есть какие-никакие знания по Java. С чего начинать обучение, чтобы не самые низы? Кокие подводные камни?

Ответы: >>640290

01 Фев, 15:38 #397 #640290

>>640053
Ты безнадежен.

01 Фев, 15:52 #398 #640307

>>636996
Спасибо, анон, добра.
>>636839-кун

39 Кб, 666x267

01 Фев, 17:03 #399 #640379

Я ничего не понял, поясните, я по вашей книге учу С++, только выучил операторы иф, вайл и т.д.
И книга уже мне подкинула какое-то странное задание: 1.21 с пика.
Я ничего не понимаю как её писать, в книге ничего не объясняется.
Сам файл Sales_item.h - в нём написано чтобы я не пытался понять код на данном этапе.
Что делает программа я не понимаю, а если я не понимаю как я могу дальше что-то делать по этой программе?
Я тупой и лучше мне всё это бросить?

Ответы: >>640396

01 Фев, 17:27 #400 #640396

>>640379
Ну в 1.21 в программу вводятся 2 объекта Sales_item (operator<< в файле уже написан, так что самому ввод писать не надо), потом ты их сравниваешь на одинаковость isbn (функцие compareisbn) или по заданию предполагается, что вводятся две одинаковые, хуй пойми и тупо складываешь их (operator+ и operator+= для класса тоже определён)

38 Кб, 942x959

44 Кб, 673x298

01 Фев, 18:18 #401 #640427

Поясните еще пожалуйста, у вас же тут можно нубские вопросы задавать?
Почему если я пишу std::cin >> item1 >> item2;
Т.е. сам ввожу значения item1 and 2, то всё нормально.
А если пишу так, чтобы значения были указаны:
item1 = "0-201-78345-X 3 20.00";
item2 = "0-201-78345-X 2 25.00";
То выводит какие-то странные ошибки?
Просто, я не хочу эти значения постоянно вводить, в книге на 2 пике написано вроде как этого избежать, но я не совсем понял т.к. там для Юникса, а у меня виндовс 10.

Ответы: >>640436, >>640437, >>640874

01 Фев, 18:27 #402 #640432

>>631744 (OP)
Гайс, везде рассматриваются консольные приложения, хотя в жизни я с ними почти не сталкивался. Почему так? Где учиться писать программы без ебучего черного окна?

Ответы: >>640436, >>640439

01 Фев, 18:35 #403 #640436

>>640432
Сначала язык выучи, потом формочки шлепать пойдешь.

>>640427
Дело не в ос, тебе конпилер ясно сказал что ты пытаешься присвоить строку объекту.

Ответы: >>640601

01 Фев, 18:35 #404 #640437

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

01 Фев, 18:37 #405 #640439

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

Ответы: >>640601

01 Фев, 21:30 #406 #640578

ОБРАЩАЮСЬ К ОПУ

ОП, добавишь в следующем треде инфу об OpenFrameworks? АТОМНАЯ БОМБА ПРОГРАММИСТА НА ЦЕДВАПЛАСА

> http://openframeworks.cc/
> https://xakep.ru/2016/01/12/open-frameworks/

Алсо, обсуждаем сие событие.

Ответы: >>640661, >>640689, >>640709, >>641509

01 Фев, 21:52 #407 #640601

>>640436
Так я уже выучил, я хочу формочки шлёпать, понимаешь? Что читать, где учить?
>>640439
Что не является? C++ только для консольных приложений?

Ответы: >>640615, >>640620, >>640624, >>641146

01 Фев, 22:02 #408 #640614

Посоветуйте IDE с поддержкой C++11 и C++14. Не студию.

Ответы: >>640616, >>640632

01 Фев, 22:02 #409 #640615

>>640601
Ну ты чем вообще хочешь заниматься? Десктоп?

Ответы: >>640793

01 Фев, 22:03 #410 #640616

>>640614
clion
Чем студия не угодила?

Ответы: >>640633

01 Фев, 22:04 #411 #640620

>>640601
Лан, иди Qt ковыряй.

01 Фев, 22:07 #412 #640624

>>640601
> Что читать
Документацию по выбраной тобой библиотеке виджетов.

01 Фев, 22:15 #413 #640632

>>640614
kdevelop

Ответы: >>640651

01 Фев, 22:15 #414 #640633

>>640616
>Чем студия не угодила?
Винда зашкварилась, и студия на нее не устанавливается. Переустанавливать ее лень. Даже попросить тыжпрограммиста было бы лень, ведь потом надо столько программ устанавливать, и делать это мне лень.

01 Фев, 22:26 #415 #640651

>>640632
ШIИD0W2

01 Фев, 22:31 #416 #640655

Анончики, проходил кто курсы от майлру на stepic (многопоточное программирование). Годнота?

01 Фев, 22:41 #417 #640661

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

01 Фев, 23:04 #418 #640689

>>640578

Не очень понял, почему нельзя заюзать эти либы по отдельности.

Ответы: >>641509

01 Фев, 23:18 #419 #640709

>>640578

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

02 Фев, 00:37 #420 #640793

>>640615
Окошки, игрушечки,системные приложения. Браузер, допустим, написать хочу.

Может быть риверс инжиниринг в дальнейшем.

02 Фев, 02:33 #421 #640874

>>640427
Здесь используется конструктор копии:
item1 = "0-201-78345-X 3 20.00";
item2 = "0-201-78345-X 2 25.00";

Ошибка возникает, потому что в классе он не определен.

Ответы: >>640913

02 Фев, 08:25 #422 #640913

>>640874
>Здесь используется конструктор копии
Нет.

Ответы: >>640915

02 Фев, 09:14 #423 #640915

>>640913
Просто конструктор some_type (std::string), который, наверное можно самому без труда запилить, скопировав код из some_type::operator (std::istream) или типа того

02 Фев, 15:14 #424 #641146

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

02 Фев, 15:29 #425 #641161

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

govno.h:
#if defined(WIN32) || defined(WIN64)
void SetStrColorProcess(,...);
#else

Какое нахуй ",..."? Что это такое блядь?

Ответы: >>641176, >>642213

02 Фев, 15:45 #426 #641176

>>641161
Мб имеется в виду какой-то аргумент и после него троеточие? няшная сишечка например вообще не волновалась по этому поводу - SetStrColor() и void SetStrColor(int b, ...) для неё были синонимами.

6 Кб, 447x326

02 Фев, 16:30 #427 #641208

Чем отличается i++ от ++i?
Я гуглил: http://stackoverflow.com/questions/24853/what-is-the-difference-between-i-and-i
По этой ссылке говорится одно, я попробовал сделать, и у меня по другому.

Ответы: >>641212, >>641213, >>641223

02 Фев, 16:39 #428 #641212

>>641208
Запиши тоже, но в два оператора. Так как ты записал разницы нет, кроме того что i++ чуть медленее.

Ответы: >>641215, >>642332

02 Фев, 16:40 #429 #641213

>>641208
http://ideone.com/CF55fA на.

Ответы: >>641215

02 Фев, 16:42 #430 #641215

>>641212
>>641213
Ага, значит если ++i - то сначала прибавляется, а потом выводится, а если i++ - сначала выводится, а потом прибавляется. Спасибо.

02 Фев, 16:59 #431 #641223

>>641208
Специально для тупых макакичей
http://pastebin.com/qq0hqh4Y

02 Фев, 17:38 #432 #641258

Вообще, если я знал 1 язык программирования, учёба С++ пойдёт лучше, если бы я его не знал?
Я давно работал на пхп - делал сайты. Но уже мало что помню из него. Вот, решил выучить С++ и найти работу...

Ответы: >>641261

02 Фев, 17:42 #433 #641261

>>641258
>решил выучить С++ и найти работу
>_o

Ответы: >>641267

02 Фев, 17:45 #434 #641267

>>641261
Ну, делать мне пока нечего, видеоигры надоели, а мамка на работу гонит.

Ответы: >>641270, >>641272

02 Фев, 17:49 #435 #641270

>>641267
Работа есть для шарпов и жабы.

Ответы: >>641271

02 Фев, 17:50 #436 #641271

>>641270
Ну не знаю, постоянно скроллирую всякие вакансии, много вижу с++.
Ну и я его хочу изучить - хочу свои игры писать.

Ответы: >>641274

02 Фев, 17:50 #437 #641272

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

Иди в раби или петон тред если нужна работа нет ребующая 5 лет задротства.

Ответы: >>641275

02 Фев, 17:54 #438 #641274

>>641271
Эталонный крестовик прямо

02 Фев, 17:55 #439 #641275

>>641272
Я слышал что С++, как и СИ - непотопляемые языки. И у меня знакомый сначала работал на обычной физической работе, а потом как-то перепрофилировался, и работает программистом на С++.

Ответы: >>641279

02 Фев, 18:02 #440 #641279

>>641275
Они непотопляемые в том смысле что их ближайшие 10 лет никто и ничто не заменит. Но это не отменяет того факта, что C++ один из сложнейших (из мейнстримовых - самый сложный) язык. А чтобы куда-то попасть на работу сегодня (10 лет назад каждого васю брали, это да) нужно на зубок пересказывать изъёства вроде наследования виртуальных функций на собеседованиях, знать Qt с Boost и ещё кучу хуйни вроде опыта работы с прыщами и гита - и это если компания современная и не байтоёбский продукт делают, иначе нужно знать ещё кучу хуйни вроде ассемблера и сетевых протоколов.

И да, игрушки - без математической вышки пошлют нахуй.

Ответы: >>641281, >>641344

02 Фев, 18:04 #441 #641281

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

Ответы: >>641284, >>641285

02 Фев, 18:05 #442 #641284

>>641281
Ты хоть симулятор бильярда то напишешь?
Вышка нужна для всякого 3D, а термех - для физики.

Ответы: >>641286

02 Фев, 18:07 #443 #641285

>>641281
Тем что на плюсах в игрулях сегодня пишутся только движки (рендер, физика). Сам попробуй догадаться.

Ответы: >>641286

02 Фев, 18:08 #444 #641286

>>641285
>>641284
Ладно, не надо меня пугать раньше времени. Сейчас выучу ++ хотя бы на уровне пользователя, а там посмотрим.

Ответы: >>641288

122 Кб, 744x638

02 Фев, 18:16 #445 #641288

>>641286
Какой ныне анон оптимистичный пошёл :3

Ответы: >>641289

7 Кб, 200x193

02 Фев, 18:17 #446 #641289

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

Ответы: >>641319

02 Фев, 18:44 #447 #641311

Попробуй не кресты. Больше толку будет.

02 Фев, 18:51 #448 #641319

>>641289
Начни с кернигана и ритчи язык си. Пригодится писать модули для пистонов и рубей

02 Фев, 19:14 #449 #641344

>>641279
такой-то манямирок

02 Фев, 19:52 #450 #641379

Поясните ньюфагу, в чём разница крестов и решетки(шарпа)?

Ответы: >>641380, >>641382, >>641386, >>641389, >>641597

02 Фев, 19:55 #451 #641380

>>641379
Указатели.

02 Фев, 19:57 #452 #641382

>>641379
С какой целью интересуешся?

02 Фев, 20:08 #453 #641386

>>641379
Во всём, кроме C-like синтаксиса.

02 Фев, 20:24 #454 #641389

>>641379
В шарп байтоебства не завезли.
Лучше поясните, почему С++ это именно отдельный язык, а не С с классами. без троллинга вопрос

Ответы: >>641390, >>641393, >>641394

02 Фев, 20:26 #455 #641390

>>641389
/unsafe

Ответы: >>641392

02 Фев, 20:32 #456 #641392

>>641390
Это не считается.

02 Фев, 20:35 #457 #641393

>>641389
1) Потому что он не просто расширяет, но и выкинул некоторые фишки C (как автоматическое приведение типов и прочие прелести слабой типизации C и тд);
2) Они развиваются отдельно и имеют разные идеологии;

02 Фев, 20:35 #458 #641394

>>641389
> язык, а не С с класса
Много дополнительных возможностей (шаблоны, перегрузки операторов). Но "С с классами" тоже считался бы отдельным языком. Вон - objective C именно что С с классами, но никто его не назовет просто С.

03 Фев, 00:16 #459 #641509

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

03 Фев, 07:49 #460 #641597

>>641379
Есть два Си. На одном кресты точёные, на другом решётка дрочёная. Куда сам сядешь, куда свой проект посадишь?

Ответы: >>641598

03 Фев, 07:52 #461 #641598

>>641597
Сам на ди сяду, проект на джаву посажу.

03 Фев, 07:59 #462 #641602

Как перевести числа от 1 до 10 в текст в зависимости от выбора?

Ответы: >>641603, >>641627, >>641650, >>641685

03 Фев, 08:03 #463 #641603

>>641602
Эээ, свичем обычным?

Ответы: >>641605

03 Фев, 08:15 #464 #641605

>>641603
Я нуфак, помоги плиз(

Ответы: >>641607

03 Фев, 08:20 #465 #641607

>>641605
if (i == 1) cout << "odin";
if (i == 1) cout << "odin";
if (i == 1) cout << "odin";

03 Фев, 09:32 #466 #641627

>>641602
Словарь. Например std::set. Если тебе не нужно будет итерировать по словарю то лучше std::unordered_set (быстрее доступ по ключу). Так как у тебя ключом служит непрерывная последовательность чисел то идеальный вариант - какой-то из массивов.

Ответы: >>641631

03 Фев, 09:46 #467 #641631

>>641627
Пиздос.
А ты дома комаров часом не из базуки отстреливаешь?

Ответы: >>641644

03 Фев, 10:16 #468 #641644

>>641631
Ты забыл свой вариант предложить.

Ответы: >>641646

03 Фев, 10:17 #469 #641645

Мб кто компилит в vcc 14.0?

из инклюда убрали math.h, теперь если в .c файлах поменять <math.h> на <cmath>, в котором, по спеке, должна быть и старая функциональность, то все, пиздец.
...\Microsoft Visual Studio 14.0\VC\INCLUDE\cmath(17): error C2143: синтаксическая ошибка: отсутствие "{" перед "<", и т.д. по файлу.
Чет ошибка гуглится, но пути ее решения не гуглятся.

03 Фев, 10:22 #470 #641646

>>641644
Но я предложил. Обычный сраный свитч.

Ответы: >>641656

03 Фев, 10:30 #471 #641650

>>641602
http://ideone.com/Pd5T0h

Ответы: >>641679

03 Фев, 10:40 #472 #641656

>>641646
Но ведь это тоже самое, только вместо того чтобы использовать чужой код ты пишешь все сам.

Ответы: >>641703

03 Фев, 11:25 #473 #641679

>>641650
Сожалею, но у вас быдлокод головного мозга.

Ответы: >>641686, >>641701

03 Фев, 11:29 #474 #641685

>>641602
itoa
std::to_string

39 Кб, 570x515

03 Фев, 11:33 #475 #641686

>>641679

03 Фев, 12:10 #476 #641701

>>641679
Ты когда примеры в книгах по C++ читаешь, тоже на быдлокод ругаешься?

03 Фев, 12:11 #477 #641703

>>641656
У unordered_map константный доступ, но с большими константами. Для каждого обращения будет считаться хэш, который наверняка сложнее, чем схема Горнера в std::to_string. Более того, в unordered_map на каждый хранимый int будет приходиться дохуя служебной информации, емнип 16 или больше байтов. Поэтому ему следует использовать to_string и не выебываться. Или сделать вектор со строковыми представлениями индекса, если надо прямо совсем быстро, за одну машинную команду.

Ответы: >>641723, >>641747

03 Фев, 12:28 #478 #641723

>>641703

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

03 Фев, 12:58 #479 #641747

>>641703
> который наверняка сложнее
Очень спорное утверждение, все зависит от реализации, но так как от std::hash (которое используется по умолчанию) никто не требует криптографической стойкости то скорее всего в качестве хеша целого числа будет просто возвращено это число.

Ответы: >>641927

03 Фев, 16:07 #480 #641927

>>641747
В студии возвращается вообще адрес этого инта, например.

14 Кб, 456x83

03 Фев, 17:12 #481 #642002

Блядь, да что такое-то?

Ответы: >>642003, >>642008, >>642044

03 Фев, 17:13 #482 #642003

>>642002
Индекс кривой, но похуй, ошибка та же.

Ответы: >>642009

03 Фев, 17:24 #483 #642008

>>642002
А мог бы программы писать, вместо борьбы с языком.

Ответы: >>642012

03 Фев, 17:25 #484 #642009

>>642003
ты че, ебанат? Нахуй ты вектору инт присваиваешь?

Ответы: >>642012

03 Фев, 17:30 #485 #642012

Тфу, блядь, разобрался. Продолбился в глаза и при инициализации поставил [] вместо ().
>>642009
Пошёл нахуй.
>>642008
Мне сейчас байты ебать надо, а тут у плюсов нет альтернатив. Скоро перееду на жабу.

03 Фев, 18:02 #486 #642043

Поясните нубу: если на объекте std::thread не вызвали .join() или .detach(), то он вызывает std::terminate() в деструкторе. Мол, эта ниправильна так делать. При этом, для написания exception-safe кода заебашили thread_guard, который в ситуации выше вызывает .join() перед уничтожением std::thread. Вопрос: почему это поведение просто не реализовали в самом std::thread?

Ответы: >>642104, >>642148

03 Фев, 18:04 #487 #642044

>>642002
Ты вектор с си-массивом перепутал.

03 Фев, 19:23 #488 #642104

>>642043
> просто не реализовали в
Это противоречит идеологии языка. Попытка вызова джойна в деструкторе не бесплатна. А программист не должен платить за то чего не использует.

Ответы: >>642107

03 Фев, 19:34 #489 #642107

>>642104
> просто не реализовали в
>Это противоречит идеологии языка. Попытка вызова джойна в деструкторе не бесплатна. А программист не должен платить за то чего не использует.

Ты не можешь не вызвать джойн(или детач) перед запуском десьруктора. Если ты этого не сделаешь, то получишь краш

Ответы: >>642111, >>642124

03 Фев, 19:42 #490 #642111

>>642107
Хотя да, я понял, ситуация здесь как с [] и at() у вектора. Но вот только [] вызывается очень часто, а деструктор у std:thread не так часто. На лицо слишком фанатичное следование парадигме, из-за чего возникают неудобства.

03 Фев, 19:53 #491 #642123

Хорошо-ли использзовать исключения?

Ответы: >>642133, >>642135

03 Фев, 19:53 #492 #642124

>>642107
Ну. Ты создаешь thread_guard, вызываешь джойн или детатч. Потом при вызове деструктора произойдет совершенно ненужная (в твоем случае) проверка. Скажем для 99.99% программистов это будет оправдано - накладные расходы мизерны а запасная проверка не помешает. Но если эту проверку зашить std::thread то у 0.01% поехавших пригорит, они начнут городить свои велосипеды (без проверок) и везде срать что std::thread использовать не стоит так как он тормозит из-за ненужных проверок. Идеология языка такая что если каких-то расходов можно избежать, то такая возможность предоставляется - даже если выигрыш на самом деле мизерный.

Ответы: >>642130

03 Фев, 20:03 #493 #642130

>>642124
Ты можешь себе представить, что у людей пригорит из-за одного сраного if'а, который, блять, просто меркнет на фоне того, что делает операционная система при завершении потока?

Ответы: >>642160

03 Фев, 20:06 #494 #642133

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

Ответы: >>642134

03 Фев, 20:07 #495 #642134

>>642133
*критично по производительности

03 Фев, 20:07 #496 #642135

>>642123
Это холиварная тема.
Надо понимать как реализованы исключения, из этого вытекают их плюсы и минусы.
Гугл стайл гайд запрещает исключения.
У них есть проблемы с перформансом, но с другой стороны это бывает удобным механизмом обработки нештатных ситуаций.

03 Фев, 20:31 #497 #642148

>>642043
Потому что .join при ошибке кидает исключение, а не перехваченное исключение в деструкторе - это вызов std::terminate(). Так что даже если бы join и вызывался, то поведение не изменилось бы, такие дела. Не понимаю чего тебе не нравится

03 Фев, 20:55 #498 #642160

>>642130
Погуглил, там проблема с исключениями а не производительностью, так как проверка есть в любом случае, просто она вызывает не join() а ternimate()
Судя по http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2802.html сначала хотели сделать чтобы в деструкторе вызывался detach(), но там вообще пиздец получается, оставался вызов join() или terminate(), и получилось что от джойна отказались потому что он "results in serious responsiveness issues" или вообще может вызвать дедлок (имеется ввиду ситуация с обработкой исключения, последующей раскруткой стека, а потом возвращением назад и продолжением работы).

Ответы: >>642299

03 Фев, 22:23 #499 #642213

>>641161
Как используется?

03 Фев, 22:34 #500 #642226

>>639266
Они таскают свой stl за собой. Лежит в ${SOURCE_DIRECTORY}/contrib

Поэтому можно что-то. Но без auto в лямбдах и инициализации в захвате, decltype(auto) 11 плюсы нахуй. Потоки, промисы, таски, прочая многопоточность есть в бусте, всякие all_of или find_if там же.

Да и нахуй это в хуяндексе с их:
std::int64_t yasize () const;

Или стл несовместимые строчки и штрочки.

04 Фев, 00:47 #501 #642299

>>642160
>Судя по http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2802.html

Ебать они умные, я аж охуел.

04 Фев, 01:59 #502 #642332

>>641212
>i++ чуть медленее.
почему?

Ответы: >>642415

04 Фев, 09:51 #503 #642415

>>642332
Потому что создается временный объект. Более подробно смотри в Прате.

04 Фев, 16:45 #504 #642748

Надоело писать код и видить постоянно черную и угрюмую консольку, я конечно могу поменять цвет, но все же не то.
Хочу попробовать написать с графоном, пока мой выбор пал на windows form или winapi, но все же прошу советов, что использовать чтобы было все красиво и с кнопочками.

Ответы: >>642757, >>642760, >>643588

04 Фев, 16:47 #505 #642757

>>642748
> видить
fix. видеть

04 Фев, 16:48 #506 #642760

>>642748
>Рождение юнитибога

Ответы: >>642761

04 Фев, 16:50 #507 #642761

>>642760
Прочитал свои первые 2 книжки, хочу попробовать что-то новое, что ты сразу так?

Ответы: >>642765

04 Фев, 16:53 #508 #642765

>>642761
Чем тебя Qt не устраивает, говноед?

Ответы: >>642768

04 Фев, 16:56 #509 #642768

>>642765
Ты че обзываешься?
Я про нестандартные либы не знаю, не сталкивался. Просто пока варианты перебираю.

Ответы: >>642776

04 Фев, 17:02 #510 #642776

>>642768
Для кого шапку пишут...

Ответы: >>642778

04 Фев, 17:04 #511 #642778

>>642776
Дык я идиот, ты понимаешь?
Если носом не ткнуть со словами, "Вот, то что тебе нужно!" я не пойму.

04 Фев, 18:40 #512 #642918

Как думаете ОП за неделю успеет тред перекатить?

Ответы: >>643310

167 Кб, 822x591

04 Фев, 19:41 #513 #643104

Pizufe, я всё ещё жду тебя.

04 Фев, 23:25 #514 #643310

>>642918
Зачэм абыжаищь, дарагой? Пят днэй максымум, мамой клинус!

05 Фев, 12:50 #515 #643569

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

Ответы: >>643696

05 Фев, 13:19 #516 #643588

>>642748
Я пользую c++builder от борланда, либо новые версии - embercadero cbuilder.

50 Кб, 712x465

05 Фев, 14:18 #517 #643642

Поясните, я сейчас читаю про всякие литералы етц главу, но я почти ничего в ней не понял. Я потом пойму всё это или учить на зубок?
Пикрил - на большинство вопросов не могу ответить.
Могу сказать что:
'а' - символьный литерал. 8 байт.
"а" - строковый литерал. Не знаю сколько байт, вроде по 8 на каждую букву.
L'a' и L"a" - широкосимвольный литерал. 16 байт.
Дальше, там где 10u и 10L - я вообще не понял что это.

Ответы: >>643669, >>643672, >>643678

05 Фев, 14:48 #518 #643669

>>643642
И еще подвопрос, пишет что unsigned не может быть меньше нуля или больше 255. Если я пишу 260U - всё корректно выдаёт.

Ответы: >>643676, >>643678

05 Фев, 14:51 #519 #643672

>>643642
Нужно учить. "Понимать потом" окажется достаточно сложно так как все проблемы с литералами будут проявлятся исключительно в каких-то ебанутых багах, но ты скорее всего этого никак не избежишь, так что возможно и не стоит особо заебыватся. Главное ясно понимать разницу между 'a' и "a" (особенно важно понять что "a" это два символа 'a' и '\0'). Также желательно знать про запись в шестнадцатеричном и двоичном виде. Все остальное редко встречается.

Ответы: >>643675

05 Фев, 14:55 #520 #643675

>>643672
Зачем в строковых литералах добавляется этот нулевой символ?
Он добавляется в конце строки или после каждого символа в строке?

Ответы: >>643677

05 Фев, 14:55 #521 #643676

>>643669
> больше 255
Тебя наебали. Может быть больше, вплоть до long long, если на 11 стандарте компилировать.

05 Фев, 14:57 #522 #643677

>>643675
>ли после каждого сим
Только в конце строки, такое соглашение что последний символ в с-строке должен быть нулевой.

05 Фев, 15:00 #523 #643678

>>643642>>643669
Положи назад учебник по сям 2001 года

Ответы: >>643680

34 Кб, 728x999

05 Фев, 15:01 #524 #643680

>>643678
Но я по вашему совету скачал учебник в шапке 2014 года...

05 Фев, 15:21 #525 #643696

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

05 Фев, 18:10 #526 #643893

Посаны, это не лаба, это не помощь по синтаксису. Что не так с кодом и почему он уязвим?

#include <vector>
#include <iostream>
#include <windows.h>

using namespace std;

int main()
{
vector<char> str(MAX_PATH);

cout << "Enter your name: ";
cin >> str.data();

cout << "Hello " << str.data() << " :)" << endl;

return -14;
}

Ответы: >>643909, >>643984, >>644218

05 Фев, 18:24 #527 #643897

Господа, только у меня не работают ссылки на учебники по Qt?

Ответы: >>643906

05 Фев, 18:31 #528 #643906

>>643897
Всё, открылось. Извините что размножаю флуд. Вот вам по теме.
int main(int argc, char *argv[])//кажется, мы стали забывать классику
{
}

05 Фев, 18:35 #529 #643909

>>643893>
В коде две уязвимости, но какие и где - не знаю. Читаю сейчас учебник по С++. Подтолкните на мысль.

Ответы: >>643911

05 Фев, 18:37 #530 #643911

>>643909>
Но возможно в каком месте кода возможно переполнение буфера.

05 Фев, 19:42 #531 #643984

>>643893
https://www.youtube.com/watch?v=aEZKGW_VTd4
Твое тоже наверняка поломает. Дебаггера нет под рукой.

05 Фев, 21:46 #532 #644218

>>643893
>vector<char> str(MAX_PATH);
>cin >> str.data();

Кто сказал, что введенная строка будет меньше MAX_PATH?

Ответы: >>644254

05 Фев, 22:01 #533 #644254

>>644218
Откуда я знаю кто. Был дан код и я пытаюсь понять. Я пришёл к мнению, что нужно выделять память по размеру введённому юзером в stdin, дабы избежать переполнение. Но как и что исправить не знаю.

Ответы: >>644334

05 Фев, 23:26 #534 #644334

>>644254
> что исправить
Например cin.get(str.data(), MAX_PATH);

Ответы: >>644351

125 Кб, 770x700

05 Фев, 23:36 #535 #644348

Анон, need help! Пытаюсь компилировать прогу на распберри пи, прога работает с одной библиотечкой. Короче кидает следующую ошибку:
>g++-4.7 -std=c++11 -g -O2 main.cpp -o main
In file included from tlc5940-raspberry/tlc-controller.h:34:0,from main.cpp:40:
tlc5940-raspberry/gpio.h:44:2: error: expected identifier before numeric constant
tlc5940-raspberry/gpio.h:44:2: error: expected ‘}’ before numeric constant
tlc5940-raspberry/gpio.h:44:2: error: expected unqualified-id before numeric constant
tlc5940-raspberry/gpio.h:46:1: error: expected declaration before ‘}’ token

Вот ссылка на файл, на который ругается компилятор:
https://github.com/sh4wn/tlc5940-raspberry/blob/master/tlc5940-raspberry/gpio.h

В чем проблема. Сам в кресты не могу, потому как питонодебил.

Ответы: >>644363

05 Фев, 23:37 #536 #644351

>>644334
О, спасибо. Теперь нет переполнения.

Ответы: >>644359

05 Фев, 23:40 #537 #644355

А тут что может быть не так?

#include <math.h>
#include <stdio.h>
#include <windows.h>

int main(int argc, char argv)
{

char str = (char )malloc(100);
int repeat = 0;

char line = GetCommandLineA();

while (line != ' ')
line++;
line++;

if (strncmp(line, "repeat=", 7) == 0)
{
line += 7;
repeat = atoi(line);
line += (int)ceil(log10((double)repeat)) + 1;
}

if (strncmp(line, "str=", 4) == 0)
{
line += 4;
str = strtok(line, " ");
}

for (int i = 0; i < repeat; i++)
printf("%s\n", str);

line += strlen(str);
for (; line >= GetCommandLineA(); line--)
*line = '\x0';

free(str);
return -14;
}

Ответы: >>644403

05 Фев, 23:43 #538 #644359

>>644351
>Теперь нет переполнения.
На глаз определил?

Ответы: >>644361

05 Фев, 23:44 #539 #644361

>>644359
Дебаггером.

05 Фев, 23:46 #540 #644363

>>644348
попробуй =0 убрать. он и так с нуля нумерует. или точку с запятой перед } поставить. или =1 после HIGH
тоже пока плохо знаю

Ответы: >>644369, >>644410

05 Фев, 23:51 #541 #644369

>>644363
Кстати у меня получилось скомпилировать только когда сократил до этого. Что значат удалёные слова я не знаю.

enum PinValue
{
LOW = 0,
HIGH
};

Ответы: >>644388, >>644410, >>644413

06 Фев, 00:01 #542 #644380

Аноны, расскажите, зачем нужен C++? Где его применяют?

Ответы: >>644384

06 Фев, 00:03 #543 #644384

>>644380

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

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

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

Ответы: >>644391

06 Фев, 00:13 #544 #644388

>>644369
>644363
>Кстати у меня получилось скомпилировать только когда сократил до этого. Что значат удалёные слова я не знаю.

Ты поменял новый strongly typed enum на старое гуано. Видимо, компилятор на это и ругался, что вообще-то странно, потому что в gcc это есть с 4.6 версии. Что у тебя прячется под g++-4.7?

Ответы: >>644390

06 Фев, 00:16 #545 #644390

>>644388
До этого ещё 1 enum и на него компилятор не ругается.
g++ (Ubuntu 4.8.4-2ubuntu1~14.04) 4.8.4

Ответы: >>644399

06 Фев, 00:17 #546 #644391

>>644384
Ну вот меня и интересует, для каких задач C++ хорош (кроме легаси и игор)? Пусть универсален, но проигрывает специализированным инструментам.

Ответы: >>644396, >>644416

06 Фев, 00:20 #547 #644396

>>644391
Там где важна скорость и надёжность.

Ответы: >>644411, >>644451

06 Фев, 00:22 #548 #644399

>>644390
Здесь какая-то мелкая хуйня из-за невнимательности. Скомпиль clang'ом.

Ответы: >>644401, >>644422

06 Фев, 00:26 #549 #644401

>>644399
>Скомпиль clang'ом.
Его ещё 12 минут устанавливать.

06 Фев, 00:27 #550 #644403

>>644355
Посмотрите пожалуйста, аноны.

Ответы: >>644408

06 Фев, 00:30 #551 #644408

>>644403
на пастебин или идеон залей. звёздачки не удобно искать

Ответы: >>644417

06 Фев, 00:30 #552 #644410

>>644363
>>644369
Чет как-то не помогает.

Ответы: >>644413, >>644419

06 Фев, 00:31 #553 #644411

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

06 Фев, 00:31 #554 #644413

>>644410
Что пишет когда вот это делаешь? >>644369

Ответы: >>644423

06 Фев, 00:34 #555 #644416

>>644391
Хоть я и считаю, что писать быстрый код можно на любом языке, оптимизируя критические участки, но на моей памяти большая программа, написанная на c/c++ работала отзывчивее и быстрее на ресурсоемких задачах, чем аналоги, написанные на java. Доходило до того, что java приложение юзает ту же либу на C, а работает медленнее. И это уж не говоря об отзывчивости нативного UI и не нативных. Ярчайший пример - обоссаный qt creator и йоба clion. Первый хоть и кривой, как моя жизнь, но все везде быстренько, если не упадет нахуй. А clion, вроде и оптимизируют дохуя, но жрет он по 5 гигов на большом проекте и регулярно задумывается то там, то сям.

Ответы: >>644464

06 Фев, 00:34 #556 #644417

>>644408
http://pastebin.com/7EePf325

Ответы: >>644434, >>644446, >>644506

06 Фев, 00:38 #557 #644419

>>644410
>644363
>644369
>Чет как-то не помогает.

Поставь clang, его ставить 2 минуты, если не собирать из сорцов. Тут явно какая-то синтаксическая проблема, о которой говно gcc сказать нормально не может. В таком режиме мы полночи искать проблему будем.

Ответы: >>644425

7 Кб, 424x71

06 Фев, 00:40 #558 #644422

>>644399
Тоже такого не знает. Компилирую с 11ым стандартом.

06 Фев, 00:40 #559 #644423

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

Ответы: >>644426, >>644444

06 Фев, 00:42 #560 #644425

>>644419
Под raspberry полюбому собирать из сорцов. Плюс я питонодебил.

Ответы: >>644447

06 Фев, 00:43 #561 #644426

>>644423
Что в 35-45 строках main.cpp?

Ответы: >>644439

06 Фев, 00:45 #562 #644434

>>644417
Что возвращает GetCommandLineA?

Ответы: >>644443

06 Фев, 00:46 #563 #644435

Короче сделал все в одну строчку:
enum class PinDirection : std::uint8_t {IN = 0, OUT = 1};

enum class PinValue : std::uint8_t {LOW = 0, HIGH = 1};
Ошибка почему-то та же, хость строк должно быть меньше.

Ответы: >>644459

06 Фев, 00:49 #564 #644439

>>644426
инклюд для этой либы

#include <tlc5940-raspberry/tlc-controller.h>
#include <tlc5940-raspberry/raspberry-gpio.h>

06 Фев, 00:58 #565 #644443

>>644434
Вроде как stdin.

Ответы: >>644450

122 Кб, 2082x402

06 Фев, 00:58 #566 #644444

>>644423
У меня скомпилилось

Ответы: >>644449

06 Фев, 00:58 #567 #644446

>>644417
Подозреваю переполнение если после str= больше 100 символов не разделёных пробелом.

06 Фев, 00:59 #568 #644447

>>644425
Нихуя, кстати. LLVM умеет генерить ARM код

06 Фев, 01:00 #569 #644449

>>644444
make main и взлетело?
больше ничего не менял?

Ответы: >>644460, >>644465

06 Фев, 01:01 #570 #644450

>>644443
Тогда что делает эта строка?
for (; line >= GetCommandLineA(); line--) *line = '\x0';

Ответы: >>644454

06 Фев, 01:02 #571 #644451

>>644396
Где важна скорость и только.

Там где надежность настолько же важна (в системах управления космических кораблей, медицинском ПО, етц) дважды подумают, чем стрелять себе в ногу

Ответы: >>644455

06 Фев, 01:03 #572 #644454

>>644450
А хер его знает. Мне самому интересно. Плюсов не знаю.

Ответы: >>644456, >>644458

06 Фев, 01:03 #573 #644455

>>644451
Для надёжных ничего другого нет. Страуструп писал об этом.

Ответы: >>644467

06 Фев, 01:04 #574 #644456

>>644454
Есть коммент:

// STRING ECHO
//
// Sample usage:
// strecho repeat=4,str=pleaseechome

06 Фев, 01:04 #575 #644458

>>644454
А что сделать надо?

Ответы: >>644462

06 Фев, 01:05 #576 #644459

>>644435
Сделал все в одну строчку и поменял строки местами. Все равно точно такая же ошибка в той же строке! Для чистоты эксперимента закомментил одну из строк, ошибка, как и положено, в отсутствующем классе.

Ответы: >>644492

06 Фев, 01:05 #577 #644460

>>644449
Почему make main? С чего ты взял, что это правильная цель? Я просто вызвал make

Ответы: >>644469

06 Фев, 01:05 #578 #644462

>>644458
Найти уязвимое место в коде (переполнение буфера) и избавиться от уязвимости.

Ответы: >>644480

06 Фев, 01:07 #579 #644464

>>644416
>упадёт нахуй
У меня тоже падает пару раз в месяц QtCreator и подтекает, но запускается за 5 секунд.

Ответы: >>644466

06 Фев, 01:08 #580 #644465

>>644449
Скорее всего, ты собираешь не ту цель, поэтому у тебя компилятор не подключил стандартную библиотеку и ругается на неймспейс std::

06 Фев, 01:10 #581 #644466

>>644464
На больших проектах он хоть и долго проводит анализ, но хотя бы не UI не виснет бля

06 Фев, 01:10 #582 #644467

>>644455
C, виртовские поделия, lisp - это только из того, что я с дивана вспомнил

06 Фев, 01:11 #583 #644469

>>644460
Я так понимаю, что в файле make инструкии для компиляции файла main.cpp
Напилши с какими параметрами компилировал.

Ответы: >>644471, >>644472

06 Фев, 01:12 #584 #644471

>>644469
make VERBOSE=1 подставь

Ответы: >>644492

06 Фев, 01:13 #585 #644472

>>644469
xampp% pwd
/home/server/dev/tlc5940-raspberry
xampp% make

Ответы: >>644473, >>644492

06 Фев, 01:13 #586 #644473

>>644472
Там же в readme написано

Ответы: >>644492

06 Фев, 01:15 #587 #644476

Алзо, шапка - какая-то китайская лапша, читать невозможно

Ответы: >>644482

06 Фев, 01:19 #588 #644479

Читай внимательно, пока не прогрокаешь во всей полноте.

06 Фев, 01:19 #589 #644480

>>644462
Может так? И убери малок/фри

if (strncmp(line, "str=", 4) == 0)
{
line += 4;
char str =line;
while(str == ' ')str++;
}

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

Ответы: >>644484, >>644493, >>644556

06 Фев, 01:21 #590 #644482

>>644476
вот там предлагал исправить >>632019 а оп даже опечатку орфографическую ошибку в слове зделать не убрал.

Ответы: >>644489

06 Фев, 01:21 #591 #644484

>>644480
Почему бы тебе не ебать нас нуб-вопросами и почитать, например, ритчи? Чтобы нормально освоить материал.

Ответы: >>644488

06 Фев, 01:23 #592 #644488

>>644484
Потому что это си. всю книгу ради пары вопросов долго. Лучше Что-то интересное прочитать.

Ответы: >>644495

06 Фев, 01:24 #593 #644489

>>644482
Двачую. Что за дебилизм думать, что раз трудно читать материал, значит он сложный? Бред! Это ты, еблан, хуево написал.

Ответы: >>644497

162 Кб, 860x1236

06 Фев, 01:25 #594 #644492

>>644473
>>644472
>>644471
Слушайте, я вот поудалял комменты из шапки и поменял строки местами, но получаю точно те же ошибки с теми же номерами строк. При этом, если бы я копилировал либу с левым файлом, то небыло бы такого результата >>644459
В чем, мать его, дело?

Ответы: >>644499

06 Фев, 01:25 #595 #644493

>>644480
source.cpp: In function 'int main(int, char)':
source.cpp:34:16: error: ISO C++ forbids comparison between pointer and integer [-fpermissive]
while(str == ' ')str++;

Ответы: >>644521

06 Фев, 01:25 #596 #644495

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

06 Фев, 01:26 #597 #644497

>>644489
>трудно читать
трудно = сложно
сложно читать материал = материал сложный

Ну не удобно же вот так листать не компактную шапку.

Ответы: >>644503

06 Фев, 01:26 #598 #644499

>>644492
Запили трансляцию на twitch, можно без звука

Ответы: >>644524

06 Фев, 01:28 #599 #644503

>>644497
Д а т ы ч т о, а м н е в се ж е каж ет ся, ч то в се сло жн ы й ма тери ал не вс егда тр удн о чи т а ть. И н ао бо ро т.

Ответы: >>644512

06 Фев, 01:30 #600 #644506

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

Ответы: >>644515

103 Кб, 917x547

06 Фев, 01:32 #601 #644512

>>644503
Ты так не шути больше. У меня лиса иногда буквы ворует и долго не возвращает.

06 Фев, 01:33 #602 #644515

>>644506
Иди нахуй читать основы, заебал

Ответы: >>644517

06 Фев, 01:34 #603 #644517

>>644515
Нахуй мне основы? Я вообще на другом ЯП пишу. Просто на задании попался С++ код, а я нихуя не знаю. Хули вам помочь-то, блядь?

Ответы: >>644529

06 Фев, 01:36 #604 #644521

>>644493
Там где курсив начинается и заканчивается звёздочки стоят

Ответы: >>644535

06 Фев, 01:37 #605 #644524

>>644499
Может так и сделаю, но не сегодня. Спасибо за помощь!

06 Фев, 01:39 #606 #644529

>>644517
Я ебал тебе помогать

06 Фев, 01:40 #607 #644535

>>644521
Теперь нарушена нормальная работа программы.

Ответы: >>644540

06 Фев, 01:41 #608 #644540

>>644535
Как так? Покажи что ты получил и что должно быть.

Ответы: >>644547

06 Фев, 01:44 #609 #644547

>>644540
В общем, у меня CTF. Большинство заданий я выполнил, а вот с исправлением С++ кода у меня проблемы. Даётся этот код. Нужно починить его чтобы он корректно работал и нужно убрать уязвимости в коде. Есть комментарий:

// STRING ECHO
//
// Sample usage:
// strecho repeat=4,str=pleaseechome

Я читал статьи - нихуя не понимаю и поэтому пришёл сюда. Сам я питоноблядь.

Ответы: >>644556

06 Фев, 01:48 #610 #644556

>>644480
>>644547
Оба варианта должны работать. Что вот этот выводит?

Ответы: >>644568, >>644576

06 Фев, 01:50 #611 #644568

>>644556
Я правильно понял?

if (strncmp(line, "str=", 4) == 0)
{
line += 4;
char (звёздочка) str = line;
while((звёздочка)str == ' ')str++;
}

Ответы: >>644581

06 Фев, 01:52 #612 #644576

>>644556
char str = (char );
А что тут не так?
source.cpp(14) : error C2059: syntax error : ';'

Ответы: >>644581

06 Фев, 01:54 #613 #644581

>>644576
ты что указателю присваиваешь? эта строчка не нужна.
>>644568
Да. Не работает? Что на тот тест который ты кидал выводит?

Ответы: >>644588

06 Фев, 01:58 #614 #644588

>>644581
Если без этой строки:

source.cpp:39:17: error: 'str' was not declared in this scope
line += strlen(str);

Если с char str = (char );

source.cpp(14) : error C2059: syntax error : ';'

Если char str = (char )malloc(100);

LOST!

The program's normal behaviour is changed! (RULE0)

Я заебался уже. 6 утра, а я не могу решить эти таски.

Ответы: >>644593, >>644595

06 Фев, 02:01 #615 #644593

>>644588
char str = (char )malloc(100);
...
str = strtok(line, " ");
...
free(str);

Освобождаешь ты память по указателю на подстроку. Утечка + краш на выходе.

К тому же strtok вернет только первый токен перед пробелом. Как именно уязвимость заюзать - интереснее.

Лучше дай условие полное, какой цтф ебашишь чтобы это говно переписать.

Ответы: >>644594, >>644606

06 Фев, 02:02 #616 #644594

>>644593
http://ctf.sharif.edu:39455/chal/sec/problem.php?problem=ctf6_seccoding2

06 Фев, 02:02 #617 #644595

>>644588
>line += strlen(str);
не заметил. тогда char (звёздочка) str в начале напиши, а в ифе просто str = line;

Ответы: >>644602

06 Фев, 02:04 #618 #644602

>>644595
Таким образом программа работает верно, но уязвимость осталось. Их три.

Ответы: >>644606

06 Фев, 02:07 #619 #644606

>>644593
Значит это не str переполняется. Вот он >>644602 тебе дальше помогать будет.

Ответы: >>644608

06 Фев, 02:08 #620 #644608

>>644606
Я сам себе не помогу. Это мой пост как раз таки.

Ответы: >>644611

06 Фев, 02:10 #621 #644611

>>644608
Тогда зачем просил сам у себя полное условие?

Ответы: >>644613

06 Фев, 02:11 #622 #644613

>>644611
А нет. Это я номера постов перепутал. Ну ты понял.

06 Фев, 02:42 #623 #644634

http://pastebin.com/UtZ4gSTW
Если я буду вбрасывать код сразу на цтф, тебе попытку засчитают?

Ответы: >>644759

06 Фев, 03:25 #624 #644658

ОП-хуй заебал

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

Ответы: >>644659

06 Фев, 03:26 #625 #644659

>>644658
Бля

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

06 Фев, 11:37 #626 #644759

>>644634

The program is still vurnerable! (RULE1)
3 vulnerability(ies) remained unpatched.

Some vulnerability is detected via unexpected empty output. In order to avoid any false crash detection, be sure that you output some error message when you detect that the input is malicious.

06 Фев, 17:32 #627 #645071

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

Ответы: >>645076, >>646047

06 Фев, 17:36 #628 #645076

>>645071
л е г а с и г о в н о
е
г
а
с
и
г
о
в
н
о

07 Фев, 12:31 #629 #646047

>>645071
СКОРОСТЬ!!!
МК всяких смарт тв, смартфонов и прочей хуйни.
Алсо легаси.

10 Фев, 11:18 #630 #648734

Я тот ньюфаг, что недавно начал учить С++. Такой вопрос, я иногда листаю вакансии, и там где указан С++, как правило, кроме знания ++ стоит еще понимание ООП.
Я слышал что объектно-ориентированное программирование - это основная фишка ++ или я что-то не понял?

Обновить тред
Двач.hk не отвечает.
Вы видите копию треда, сохраненную 20 февраля 2016 года.

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

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

« /pr/В начало тредаВеб-версияНастройки/a//b//mu//s//vg/Все доски

Пользуетесь скринридером — пишите, что можно улучшить.
Host-Food.ru — надёжный хостинг от 12 руб/мес | Free DNS
Зеркала М.Двача: m2ch.hk, m2ch.lib, m2chfapiswfw2wcakptqp4o6ltgchvjuxfab7urxlduraomtlnhw5xad.onion