Сохранен 630
https://2ch.hk/pr/res/631744.html
Прошлые домены больше не функционируют, используйте адрес ARHIVACH.HK.
24 декабря 2023 г. Архивач восстановлен после серьёзной аварии. К сожалению, значительная часть сохранённых изображений и видео была потеряна. Подробности случившегося. Мы призываем всех неравнодушных помочь нам с восстановлением утраченного контента!

Оффициальный™ традиционный® C++ тред #19

 Аноним 22/01/16 Птн 11:18:38 #1 №631744 
14534507183490.jpg
Глупец! Фреймворков сотни не дадут
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/01/16 Птн 11:20:14 #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/01/16 Птн 11:20:19 #3 №631747 
Первыйнах.
Аноним 22/01/16 Птн 12:23:40 #4 №631797 
>Добавлена подборка проверочных вопросов для мамкиных language lawyer'ов.
Это и есть ссылка из
>инфа о том, что делать после прочтения материалов из шапки.
?
Аноним 22/01/16 Птн 12:51:01 #5 №631824 
>>631797
Ага.
Аноним 22/01/16 Птн 15:50:37 #6 №631989 
Cпасибо за cppquiz. До этого проходил на рузком quiz'e в котором ограничения.
Аноним 22/01/16 Птн 16:16:28 #7 №632019 
Оп, сократи фак для читаемости.

https://arhivach.org/thread/135285/#618225
https://arhivach.org/thread/135285/#618252
Аноним 22/01/16 Птн 17:48:01 #8 №632111 
Наркоманские вопросы в квизе. Гоуту джва раза попался, охуеть вообще
Аноним 22/01/16 Птн 19:11:00 #9 №632183 
14534790609140.jpg
>>632019
Бьерн, упрости язык для вкатываемости.
Аноним 22/01/16 Птн 19:13:39 #10 №632186 
#include <bjorn>

main {
bjorn::zdelotZaebis();
}
Аноним 22/01/16 Птн 19:24:32 #11 №632188 
>>632019
>Хочу осилить С++
>лень читать фак, многабукаф
/0
Аноним 22/01/16 Птн 20:45:01 #12 №632277 
Сап прогеры. Начал изучать плюсы и возник такой вопрос.
Какая разница между
void func(int *i){}

void func(int &i){}
Аноним 22/01/16 Птн 20:46:21 #13 №632280 
>>632277
в первой функции ты можешь проверить, что i != null
Аноним 22/01/16 Птн 20:46:51 #14 №632281 
>>632280
nullptr

фаст-фикс
Аноним 22/01/16 Птн 20:47:17 #15 №632282 
>>632280
Меня операторы интересуют, какая разница между * и &
Аноним 22/01/16 Птн 20:52:06 #16 №632287 
>>632282
int *; это указатель
int &; это ссылка
Аноним 22/01/16 Птн 20:52:32 #17 №632288 
>>632282
Указатели более гибкие, но и ебли больше. Ссылки более автоматизированы, и имеют высокоуровневые фичи наподобие rvalue-семантики.
Аноним 22/01/16 Птн 20:53:35 #18 №632289 
>>632287
>>632288
Буду очень признателен, если обьясните как их и в каком контексте и ситуации использовать

Аноним 22/01/16 Птн 20:56:01 #19 №632293 
>>632289
Константную ссылку, если параметр не изменятся (только входные данные). Указатель, если в параметре возвращается инфа (например, такое бывает, когда нужно вернуть больше одного объекта, и неудобно все пихать в возвращаемое значение).
Аноним 22/01/16 Птн 21:05:28 #20 №632301 
>>632289
Если твой параметр не может быть NULL/nullptr, то используй ссылку.
И даже констатную ссылку, если возможно.
Ссылка на численные типы бесполезна.
Аноним 22/01/16 Птн 21:09:05 #21 №632306 
>>632293
>>632301
Начинаю понимать
Аноним 22/01/16 Птн 21:13:04 #22 №632307 
>>632306
А ещё ссылку нельзя "переуказать" в отличие от указателя. Ссылка всегда разыменована
Аноним 22/01/16 Птн 21:26:12 #23 №632313 
>>632287
>int &; это ссылка
Это эффективный адрес, транслируется в lea. Совсем охуели крестобляди.
Аноним 22/01/16 Птн 21:28:22 #24 №632314 
>>632313
иди нахуй, штеудопидор
Аноним 22/01/16 Птн 21:53:10 #25 №632341 
>>632313
А здесь, дорогие друзья, мы с вами видим типичного представителя Sishkoblyad Vulgaris. На время уборки клетки его выпустили наружу. Агрессивные повадки и неумелые попытки применить свой опыт в незнакомом окружении - отличительная черта этих неуклюжих зверьков.
Аноним 22/01/16 Птн 21:54:15 #26 №632345 
https://wiki.qt.io/D-Pointer
Разбирался с этим туториалом.
Там где Q_D(Label) - схватил ошибку
"d_func was not declared in this scope"
Рили не гуглится, уже хуй знает что делать. У кого было?
Аноним 22/01/16 Птн 22:03:41 #27 №632356 
>>632345
ссылку перечитай
Q_DECLARE_PRIVATE, use it
Аноним 22/01/16 Птн 22:23:06 #28 №632392 
>>632356
Ебануться.
Вот откуда вы всё знаете ._.
Аноним 22/01/16 Птн 22:30:16 #29 №632405 
Ну шо за хрень, ребят

в .h

int switcher

в .cpp

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

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

Через раз - запускается.
Аноним 22/01/16 Птн 22:31:25 #30 №632409 
>>632405
Остальной код типа самим придумать?
Прикольная игра
Аноним 22/01/16 Птн 22:33:32 #31 №632411 
>>632409
да там вокруг этого switch`а все, один хер.

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

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

возвращаюсь к вопросу - ну шо за хрень, ребят
Аноним 22/01/16 Птн 22:34:19 #32 №632412 
>>632411
Ну хуй знает. Invalid pointer?
Аноним 22/01/16 Птн 22:35:54 #33 №632416 
>>632405
Покажи полный код, а то так ничего понять нельзя.
Аноним 22/01/16 Птн 22:35:58 #34 №632417 
>>632412
Понял почему заработало. Я внезапно с отладки на выпуск перевел.

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

У меня указателей то нет тут, откуда он вообще это взял, ума не приложу
Аноним 22/01/16 Птн 22:37:19 #35 №632419 
>>632417
Ну твою мать, непонятно же.
Покажи код полностью.
Аноним 22/01/16 Птн 22:39:09 #36 №632423 
>>632419
НУ БЛЯ
ТАМ НеВаЖНО ЧТО ДАЛЬШЕ
ТАМ СВИЧИ)
Главное инвалид поинтер. Знаешь такую ошибку?
Ну free(). Free вызвал.
А потом заработало.
Что это могло быть?
Аноним 22/01/16 Птн 22:44:13 #37 №632430 
>>632419
http://pastebin.com/9KQHtX65

в заголовке switcher объявлен так:
private:
int switcher;
Аноним 22/01/16 Птн 22:45:01 #38 №632431 
>>632430
p.s. точку с запятой там проебал, не суть, в оригинале она есть
Аноним 22/01/16 Птн 22:47:15 #39 №632434 
>>632431
Дефалт где
Аноним 22/01/16 Птн 22:47:53 #40 №632435 
>>632434
шта?
Аноним 22/01/16 Птн 22:48:34 #41 №632436 
>>632434
а, тоже проебал.
в оригинале есть

я с микроволновки пишу прост
Аноним 22/01/16 Птн 22:51:09 #42 №632440 
>>632436
test1 выводится как и должно.
В чем твоя проблема, парень?
Аноним 22/01/16 Птн 22:51:54 #43 №632442 
>>632440
Я не знаю.
в ебучем ide есть отладка и выпуск
в выпуске все норм, в отладке шлет нахуй
Аноним 22/01/16 Птн 22:52:20 #44 №632443 
>>632442
Не думал еще МеНЬШЕ кода прислать?
Аноним 22/01/16 Птн 22:53:13 #45 №632444 
>>632443
Я же говорил - я с микроволновки
Может я вообще ASCII-кодами по цифроклаве каждый символ тут набираю
Аноним 22/01/16 Птн 22:53:50 #46 №632446 
>>632444
Значит не нужно тебе программирование.
У тебя ошибка вне теста, это очевидно
Аноним 22/01/16 Птн 22:55:13 #47 №632447 
>>632446
А что ж мне еще, с микроволновкой то на северном полюсе делать?
Яйца клал уже туда. И свои тоже.
Теперь вот решил делом заняться, а тут такая хрень.
Аноним 23/01/16 Суб 01:59:52 #48 №632531 
Есть примеры адекватных резюме по крестам?
Аноним 23/01/16 Суб 03:37:46 #49 №632545 
Придумайте задачу для опыта, если хочу вкатиться в кодинг на плюсах или сишке под linux или кроссплатформ?
Аноним 23/01/16 Суб 05:24:58 #50 №632559 
>>632531
тебе кого, джуна или синьора? или вакансию закрыть надо? тогда писечку показывай, HRша!

>>632545
напиши торрентокачалку с жабберклиентом
Аноним 23/01/16 Суб 07:19:25 #51 №632573 
>>632559
Джуна
Аноним 23/01/16 Суб 07:54:04 #52 №632576 
>>632545
Редактор сабов.
Аноним 23/01/16 Суб 12:03:29 #53 №632668 
>>632531
Есть.
Аноним 23/01/16 Суб 12:05:32 #54 №632671 
>>632668
>
Кидай же, комрад
Аноним 23/01/16 Суб 12:24:26 #55 №632685 
>>632671
Нет
Аноним 23/01/16 Суб 12:24:44 #56 №632686 
>>632685
Хуесос.
Аноним 23/01/16 Суб 15:55:31 #57 №632781 
>>632573
пиши вузик
пиши все олимпиадки которые были
пиши технологии которые знаешь
пиши ссылку на гитхаб с проектами

этого будет достаточно
Аноним 23/01/16 Суб 16:45:46 #58 №632799 
>>631744 (OP)
><устарело> Роберт Лафоре - Объектно-ориентированное программирование в C++ (2004)
Котаны, насколько устарело? У меня издание 2006 года (4е издание). Легко читается. Есть ли смысл учить по этой книге а потом добрать знаний по новшествам либо лучше сразу брать новую кригу? эта в бумажном варианте, а читать с монитора ну совсем не круто
При этом паралельно смотрю разные видео на тытрубе, кстати.
Аноним 23/01/16 Суб 17:12:35 #59 №632813 
>>632799
Если ты еще его не знаешь - с++ лучше не учить.
sageАноним 23/01/16 Суб 18:04:31 #60 №632879 
>>632188
перед тем как найти там что искал успел пару раз заблудиться и начать искать сначала
Аноним 23/01/16 Суб 18:10:54 #61 №632888 
>>632799
>издание 2006 года
это перевод такого года
Аноним 23/01/16 Суб 18:15:20 #62 №632890 
>>632813
ТЫ так написал что не совсем понятно- С++ лучше не учить или по этой книге лучше не учить? Знаю немного на уровне того что такое переменная, функции, массивы, циклы, немного о том как создавать классы, вообщем самые основы. Ну а по алгоритмам-рекурсия, динамика, сортировки, немного графы. Вообщем все то что можно взять из паскаля, лол.

Кстати, почему если с++ так охуенен, то в перепись-треде, большинство анонов с норм ЗП указали JS и PHP? С плюсами всего пара человек. Цель-хотя бы за пол года устроится на работу.
Аноним 23/01/16 Суб 18:18:02 #63 №632892 
>>632799
Читай всё норм. Она самая лёгкая из всех что я видел. Потом лимпмана прочитаешь.
Аноним 23/01/16 Суб 18:31:31 #64 №632900 
>>632890
C++ лучше вообще не учить. Работу с большой вероятностью на крестах ты не найдешь - нужны только спецы, джуны на крестах никому не нужны. При том, что "для себя" как язык - дерьмо и для любителей себе в ногу стрелять, плюс писать на них долго.

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

Поскольку кресты невъебенно сложны и полностью их не знает наверное даже труп страуса - ты рискуешь угрохать хуеву тучу времени на их изучения и остаться нахуй никому не нужным.
Аноним 23/01/16 Суб 18:38:39 #65 №632910 
>>632900
А как же взяли на работу новичка за еду и всему научили?
Аноним 23/01/16 Суб 18:41:23 #66 №632911 
>>632900
А что лучше вместо крестов из серьёзного программирования? Сишарп, ява? Меня кресты привлекают тем, что они могут работать без дотнета/жабы. Можно запрограммировать даже небо, даже Аллаха!
Аноним 23/01/16 Суб 18:43:25 #67 №632913 
>>632911
Я не кодил ни на том, ни на этом. Лично я делю их так: сишарп фичастее и лучше как язык, а зато ява без анальной привязки к винде и может в ведроид.

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

А вон на моей работе мы компилили скрипты на си в байткод, лол.
Аноним 23/01/16 Суб 18:45:31 #68 №632914 
>>632913
Плюс (минус) - у сишарпа анальный зоопарк из разных несовместимых версий дотнета.
Аноним 23/01/16 Суб 18:47:29 #69 №632917 
>>632799
Я бы на твоем месте выбрал из трех неустаревших книг, в которых есть последние стандарты. Книги для ньюфагов натурально взаимозаменяемы, а если в выбранной что-то непонятно, то можно моментально посмотреть конкретно это тему в джвух других. В таком режиме очень легко работать, в отличие от хайлевел книжек, которые обычно в единственном варианте, да еще и на ангельском.
Аноним 23/01/16 Суб 18:48:18 #70 №632918 
>>632913
>сишарп фичастее и лучше как язык
До сишарпа его задачу выполнял дэлфи. Сишарп убил дэлфи. Дотнет помог ему в этом. ЕМНИП дотнет и под дэлфи работал. Один детский язык занял место в песочнице другого детского языка. За это он не может быть фичастым и хорошим.
Аноним 23/01/16 Суб 18:49:36 #71 №632919 
>>632918
Ну пиши на делфи, кто тебе мешает?

А я сишарп не возьму чисто из-за привязки к винде.
Аноним 23/01/16 Суб 18:52:21 #72 №632921 
>>632917
Кстаи я нуфаг мечта лет через 30 работать в иностранном вузе и написать свою книгу. Накидайте мне за шёку книжки таких же энтузиастов чтобы я посмотрел какое это говно и отговорить.
Аноним 23/01/16 Суб 19:00:23 #73 №632927 
14535648230890.jpg
>>632900
>нужны только спецы
Ну толсто же. Разница только в том, что можно на недельку нырнуть в какой-нибудь пистон и сразу бежать на собеседование, а с крестами придется поработать. Это не запредельно сложно, если у тебя больше 90 пунктов айсикью.
>Работу с большой вероятностью на крестах ты не найдешь
TIOBE и агрегаторы вакансий а также мой личный опыт с тобой не согласны. В том же гейдеве полно вакансий, например. Другое дело, что требования там выше, чем для крудошлепов, отсюда кукареки про НИПОРАБОТАТЬ.
>Существуют потому, что на них невъебенное количество уже написаного софта и библиотек
Только одна из причин. Когда-то на фортране было дохуя софта и библиотек, но он успешно вытеснился. Верить, что язык без кучи объективных преимуществ находится в топе только из-за легаси, по меньшей мере наивно.
Аноним 23/01/16 Суб 19:02:40 #74 №632930 
>>632913
>Я не кодил ни на том, ни на этом
Ну ты охуительный критик, чего уж там.
Аноним 23/01/16 Суб 19:03:41 #75 №632932 
>>632930
Ну конкретнее - пиздуй в тред жабы и сишарпа, и там спрашивай, что лучше.
Аноним 23/01/16 Суб 19:05:25 #76 №632933 
>>632927
Я бы хотел в гейдев
wannable_серьёзный_программист
Аноним 23/01/16 Суб 19:07:18 #77 №632936 
>>632927
>крудошлепов
Лол ниразу не слылаш такое слово и не могу понять что оно означает. Кого это ты так назвал? Неосиляторов?
Аноним 23/01/16 Суб 19:16:33 #78 №632942 
>>632932
Однажды путник увидел в стороне от дороги, по которой он шел, двух ожесточенно спорящих людей. Заинтересовавшись и подойдя поближе, он услышал, что они спорят о том, что лучше употреблять на завтрак: говно или мочу. Когда спорщики утомились и на минуту замолчали, путник горячо обратился к ним:
- Добрые люди! Почему вы ограничиваете выбор пищи столь неприятными на вкус блюдами? Разве не лучше завтракать пшеничной лепешкой и бутылкой вина?
- Говна поешь! - воскликнул один из спорщиков и метнул в путника куском засохшего навоза. Второй спорщик расстегнул штаны и помочился на путника.
Аноним 23/01/16 Суб 19:17:29 #79 №632943 
>>632936
https://ru.wikipedia.org/wiki/CRUD
Аноним 23/01/16 Суб 19:54:05 #80 №632977 
>>632781
>ссылку на гитхуб
Лол, как-то в самом пдф с резюме это будет уж совсем убого выглядеть.
Аноним 23/01/16 Суб 19:55:15 #81 №632979 
>>632977
Такой отсылаешь pdf - а там не стоит доб ридера и его в корзину.
Аноним 23/01/16 Суб 19:55:45 #82 №632981 
>>632979
Ахахах_)
Два чаю, бротиш
Аноним 23/01/16 Суб 19:57:41 #83 №632983 
>>632979
Зато в следующий раз будет в тхт писать и ссылку на гитхаб туда положит.
Аноним 23/01/16 Суб 19:58:32 #84 №632984 
>>632983
>2016
>верить в существование блокнота
Аноним 23/01/16 Суб 19:58:39 #85 №632985 
>>632983
Так он же не узнает об этом - ему перезвонят.
Аноним 23/01/16 Суб 20:01:06 #86 №632986 
Эээ.... Я не понял, я за интернеты плачу, чтобы вы тут меня обсирали что ли?
Аноним 23/01/16 Суб 20:02:31 #87 №632987 
>>632986
Покажи кто обсирает. Пока не заметил срача.
Аноним 23/01/16 Суб 20:04:26 #88 №632988 
>>632987
Ну вот эти, они специально вот с меня потешаются!
Аноним 23/01/16 Суб 20:07:39 #89 №632989 
>>632988
Это они не с тебя потешаются, а вместе с тобой. Продолжай платить за интернет.
Твой провайдер
Аноним 23/01/16 Суб 22:39:10 #90 №633052 
>>632927
Ох. Ты меня успокоил. Потому что мне нравится учить С++, ве логично и понятно, а тот кун немного напряг отсутствием работы.
Аноним 23/01/16 Суб 22:53:53 #91 №633060 
>>633052
>ве логично и понятно
До тех пор, пока до писания на нём не дошёл. Потом ещё полюбишь. И игрища с указателями/ссылками/константами полюбишь, и прочую уб-хуиту вроде негарантированного порядка выполнения аргументов.
Аноним 23/01/16 Суб 22:58:31 #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;
Аноним 23/01/16 Суб 23:00:37 #93 №633071 
>>633060
Поясни, если шаришь, какой уровень должен быть? Что я должен уметь написать? Именно пример задания. Смутно понимаю что на практике должен уметь джуниор ну или хоть стажер.
Аноним 23/01/16 Суб 23:18:14 #94 №633088 
>>633071
Пиши справочник телефонный или эмулятор файловой системы. Обращай внимание на аккуратность кода, стиль, структуру, тесты. Помни золотое правило: "твой код будет поддерживать маньяк садист, который знает где ты живёшь".
Поищи тестовые задания разных компаний. Порешай задачи с hackerrank и codility.
Аноним 23/01/16 Суб 23:22:59 #95 №633093 
>>633060
Signed integer overflow, motherfucker
Аноним 23/01/16 Суб 23:27:03 #96 №633095 
>>632183
Чет он поправился, если это он, конечно.
Аноним 23/01/16 Суб 23:31:42 #97 №633097 
>>632910
Вмм2007
Аноним 23/01/16 Суб 23:34:51 #98 №633099 
>>632933
Гейммейкер скачал уже, погромист?
Аноним 23/01/16 Суб 23:46:07 #99 №633104 
>>633097
Пиздишь. В этом году взяли двух интернов. Один туповат, через 4 месяца нахуй послали. Второй годный и скоро джуном станет
Аноним 23/01/16 Суб 23:50:56 #100 №633106 
>>633088
>поддерживать
использовать
Аноним 24/01/16 Вск 00:39:17 #101 №633136 
>>633104
Поясни за интернов?
Скоро практика, летом если быть точнее. Вот и думаю, сейчас ли пытаться встрять джуном, или подождать произв. практики и разослать резюме по компаниям, где есть возможность прохождения практики.
Сложный выбор .-.
Аноним 24/01/16 Вск 02:15:13 #102 №633164 
>>633067
ООО НИИ Рога и копыта?
Аноним 24/01/16 Вск 02:18:08 #103 №633165 
>>633067
Хуйня.
Классика - вот это вот все без упоминания крестов, и в конце
Желание работать на джаве
Тешу себя мыслью что это просто ебанутые эйчары
Аноним 24/01/16 Вск 02:53:30 #104 №633175 
>>633136
Встрявай сразу. Так и пиши - молодой толковый, возьмите интерном. но лучше через преподов вкатываться. Ещё всякие "школы/университеты" в конторах, где можно выделиться и попасть в компанию
Аноним 24/01/16 Вск 04:36:47 #105 №633211 
>>633099
Я бы хотел пойти в графику, так что нет, гейммейкера не скачал.
Если с гейдевом не получится, я бы хотел работать в прикладной отрасли, чтобы видеть результат своей работы, а если хватит мозгов, то можно бы и в написание прошивок, железяки мне тоже нравятся.
Аноним 24/01/16 Вск 11:53:26 #106 №633267 
А кто-то с qml работал? Не знаю, где еще об этом спросить, в js-треде явно никто не знает о нём.
Аноним 24/01/16 Вск 12:02:58 #107 №633273 
>>633267
Чо там работать-то? Проблематично было года 2 назад, когда даже привязка цпп бэкэнда не особо документирована была.
Аноним 24/01/16 Вск 12:06:58 #108 №633276 
>>633273

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

Вот линк -- http://pastebin.com/R1HfQ2ja
Аноним 24/01/16 Вск 12:08:17 #109 №633277 
>>633273

Небольшой фикс - http://pastebin.com/8VW5AJea
Аноним 24/01/16 Вск 14:19:09 #110 №633339 
>>633267
Я работал, спрашивай.
Аноним 24/01/16 Вск 17:42:18 #111 №633492 
>>633339

Я спросил. Вот >>633276
Аноним 24/01/16 Вск 19:25:22 #112 №633553 
с Ардуиной реально хотя бы вьехать и начать писать работающий говнокод под конкретные задачи?
Если да - реально ли перейти с Ардуиновских "крестов" на настоящие?
Аноним 24/01/16 Вск 19:36:03 #113 №633557 
>>633553
А нахрен тебе ардуина?

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

Вот купил stm32f4 дискавери и хочу написать все свое, ибо у меня было много претензий.
Аноним 24/01/16 Вск 19:39:04 #114 №633560 
>>633557
>байткод
джава штоле?
Аноним 24/01/16 Вск 19:41:21 #115 №633563 
Програмач, пару лет назад довольно плотно изучал кресты читал Шилдта ( Базовый курс какой-то - 400 стр книга, еще книга этого же чувака Справочник по С/С++ - на 2013г это было последним изданием) и Дейтелов (где с самого начала идут классы). Вроде бы все зыбысы. Изучал ссылки, указатели, массивы, наследование, работу с файлами и т.д. Вообщем, на уровне универских лаб по ПЯВУ знаю норм(которые сдал без особых проблем). Но, блджад, лабы это ведь не все фишки, которые используются в книгах. Где применять всякие виртуальные функции, шаблоны классов etc.?

Вообщем, посоветуйте годных книг (больше 700-800 стр. - нахуй такие книги) с короткими и строгими формулировками как у того же Шилдта и задачников, где можно все от и до опробовать, а то как-то прочитал и забыл к херам, что прочитал, ибо не применял.
Аноним 24/01/16 Вск 19:43:01 #116 №633566 
>>633560
Нет, свой байткод. У кодера, с которым работал - была голубая мечта использовать таки джабный байткод, а не свой.

Я вот тоже хочу с ним разобраться и компилить таки в джабный. А так - простенькая виртуальная машина, все операции - на стеке. Суть байткода - свой диалект сишки был запилен для кооперативной многозадачности, чтобы не ебаться с синхронизацией и прочей еботой (еще когда контроллеров не было и сабж выполнялся на ПК). Там просто есть CreateTask, а в функциях которые выполняются надо делать Wait() - передать управление следующей задаче. Ну и обязательно эту еботу во всех циклах.
Аноним 24/01/16 Вск 19:45:21 #117 №633569 
>>633566
ладно жабный, но lua / squirrel?
Аноним 24/01/16 Вск 19:47:11 #118 №633570 
>>633569
НЕХ, которую никто не знает. Это была работа а не джаст фор лулз, главное - слепить по быстрому и чтобы работало, как оно будет работать - никого не ебет.

Мой коллега бывший и словей таких не знает. Он железячник и ненавидит паскаль и сишник, юзает кресты и Qt в режиме "си с классами" и ненавидит все эти жабоскрипты и лямбды с автоматическим выведением типов.
Аноним 24/01/16 Вск 20:07:15 #119 №633576 
>>633553
Ардуиновские кресты это фактически ядро обычных крестов, без стандартной библиотеки и с несколькими ардуиновскими макросами. Из core возможностей крестов не работают емнип только исключения (их не поддерживает ARM по-моему). В остальном там все как обычно, конпелируется clang'ом.
Аноним 24/01/16 Вск 20:08:36 #120 №633577 
>>633557
Небось это тормозило безбожно и жрало память на поддержку окружения?
Аноним 24/01/16 Вск 20:15:09 #121 №633582 
>>633577
Эм - нет? А с чего ему вдруг тормозить? Цель этой херни - управление оборудованием. Пиздец реакции рам не нужно, и большую часть времени вообще занимает ожидание. Например, ожидание, пока привод механизма доедет до датчика и его показания изменятся.

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

На контроллер цепляется туева хуча модулей - для CAN, входов/выходов (дискретных или алалоговых), термопары, ШИМ и прочая блевота. Когда одного контроллера не хватало - цепляли несколько штук и объединяли их через CAN, главный общается с компом по USB и говорит остальным, чего им делать.
Аноним 24/01/16 Вск 20:29:55 #122 №633586 
>>633276
Можешь внятно объяснить, чего ты пытаешься добиться?
Аноним 24/01/16 Вск 20:59:41 #123 №633594 
>>633175
Через преподов я только нахуй вкачусь
Аноним 24/01/16 Вск 21:02:29 #124 №633597 
>>633594
Господи, пиши какую-нибудь хуету для себя, в как скилл набьешь - укажи сцылки на битбукет, где на твои высеры посмотреть можно.
Аноним 24/01/16 Вск 21:03:26 #125 №633598 
>>633597
Чего такой агрессивный? Я так и делаю.
Аноним 24/01/16 Вск 21:04:09 #126 №633601 
>>633598
Да где же я агрессивный? Я спокоен и умиротворен.
Аноним 24/01/16 Вск 21:04:38 #127 №633602 
>>633601
>ХОСПАДИИИИ ХУЕТУ ВЫСЕР ХУЙ ХУЙ ХУЙ ЖОПА
Аноним 24/01/16 Вск 21:05:08 #128 №633603 
>>633602
Издержки сосача, увы.
Аноним 24/01/16 Вск 21:37:07 #129 №633621 
>>633582
Тогда заебись, да.
Аноним 25/01/16 Пнд 01:48:28 #130 №633694 
Почему по крестам работы почти нет, хотя именно на крестах сделано 95% годного софта?

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

Почему бэкенд С++ фреймворки не популярны? В теории именно плюсы могли бы дать серверам максимальные возможности и лучшую производительность.
Аноним 25/01/16 Пнд 01:50:59 #131 №633697 
14536758596630.png
>>633694
>по крестам работы почти нет
0/10
Аноним 25/01/16 Пнд 01:51:31 #132 №633698 
>>633694
>работы нет
Только в нащих с тобой мухосрансках, к сожалению.
Аноним 25/01/16 Пнд 01:51:49 #133 №633699 
>>633697
Ты случайно не из Днепропетровска?
Аноним 25/01/16 Пнд 01:52:13 #134 №633700 
>>633699
ніт
Харьков
Аноним 25/01/16 Пнд 01:52:15 #135 №633701 
>>633694
>Почему по крестам работы почти нет, хотя именно на крестах сделано 95% годного софта?
А ты платишь за этот софт? На крестах по массе есть только один вид софта, за который платят - игры. Вот в геймдеве кресты пока и остались еще.

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

>В теории именно плюсы могли бы дать серверам максимальные возможности и лучшую производительность.
У них сейчас нет проблем с возможностями и производительностью.
Аноним 25/01/16 Пнд 01:53:20 #136 №633703 
>>633701
То чувство, когда непонятно - троллит или всерьез говорит.
В любом случае, кросавчик
Аноним 25/01/16 Пнд 01:53:23 #137 №633704 
поцоны, а есть какой космический стартап с плюсами? Элона Маска не предлагать
Аноним 25/01/16 Пнд 01:58:17 #138 №633705 
>>633704
Зачем тебе стартап с плюсами? Плюсы - говно, их нужно знать чтобы текущие проекты, уже написаные, поддерживать.

А новые на них писать - мазохистом надо быть.
Аноним 25/01/16 Пнд 02:00:05 #139 №633707 
>>633705
тролль уходи, еды здесь нет
Аноним 25/01/16 Пнд 02:00:49 #140 №633708 
>>633707
Я не тролль.
Аноним 25/01/16 Пнд 08:08:11 #141 №633812 
>>633694
Плюсы и на практике экономят гуглу с фейсбукрм сотни милионов долларов, только это немного другой уровень.
Аноним 25/01/16 Пнд 09:16:14 #142 №633845 
Я вообще поражаюсь тем, кто кричит что на плюсах работы нет.
Да один блумберг столько вакансий даёт, что всем обитателям этой клоаки хватит. Но вот мозгов у обитателей не хватит для бб.
Откройте сайт вакансий европейский или американский. Там сотни вакансий в разных сферах.

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

Так что, корзинусы, бегите учиться в европу. В России программисты скоро станут не нужны.
Аноним 25/01/16 Пнд 11:05:53 #143 №633903 
>>633211
Пилю прошивки, на графенописателей смотрю как на мудрецов. Каждый со своей колокольни
Аноним 25/01/16 Пнд 11:08:45 #144 №633907 
>>632913
> А вон на моей работе мы компилили скрипты на си в байткод, лол.
Ловите наркомана!
Аноним 25/01/16 Пнд 11:13:02 #145 №633914 
>>633566
Есть реализации JVM для контроллеров, не выдумывай велосипед.
Аноним 25/01/16 Пнд 12:09:03 #146 №633949 
>>633914
Пил тут как-то год назад с программистом, пишущим никзкоуровневый Java-код для JVM, тарахтящей на симке.
>>633845
На линкдине 80% ейчаров хотят дегри в КС + волонтёрский опыт. А у меня такого нету, например. Вообще вышки нету, вакансии замотивировали наконец получить . Ну и такое же говно желают типа bash, python, haskell, ГЛУБОКОЕ ПОНИМАЕНИЕ АРХИТЕКТУРЫ *NIX. В общем не сказал бы что я им там сильно нужен.
Аноним 25/01/16 Пнд 13:07:02 #147 №633981 
>>633705
Неосилятор опять бунтует, лол.
Аноним 25/01/16 Пнд 13:10:04 #148 №633982 
>>633704
Эта борда, например, на крестах. Видишь баннер сверху? Легким движением руки Абу за несколько дней собрал со школьников овер100к. Чем не стартап?
Аноним 25/01/16 Пнд 14:38:28 #149 №634024 
как вы изучали boost ? На русском только книга по графам.
Аноним 25/01/16 Пнд 15:36:27 #150 №634053 
>>633949
> haskell bash
> unix
В чем проблема? Ебать ты конченный.
Аноним 25/01/16 Пнд 15:43:18 #151 №634056 
Здравствуйте, господа! Что скажете насчёт C++ Builder 10 от embarcadero? Пока учусь (в университете) писать в стареньком С++ Builder 6, нравится, но начинаю думать о будущем.
Аноним 25/01/16 Пнд 16:14:34 #152 №634066 
>>634024
На ангельском, как белые люди. По докам и исходникам, там все просто и понятно. Еще книжка Мукерджи в шапке годная.
>>634056
Качество уровня опенсорсных сред, но за деньги и с велосипедным компилятором. В 2016 году, с кучей современных бесплатных IDE, такое просто стыдно устанавливать. Это как написать на лбу, что ты только что выполз из дремучего университетского машзала, застрявшего в 90-х.
Аноним 25/01/16 Пнд 16:30:45 #153 №634073 
>>634066
Ты кек чтоле? Там цланг.
>>634056
Он тебе пригодится только если для тебя программирование на тыканье формочек заканчивается.
В остальных ситуациях бери нативный для платформы конпелятор и visual studio для шинды и clion для остального (если не хочешь пиратить - можешь выслать им студенческий и пользоваться халявной лицензией).
Аноним 25/01/16 Пнд 16:38:57 #154 №634075 
>>634066
>Это как написать на лбу, что ты только что выполз из дремучего университетского машзала, застрявшего в 90-х

Но я ещё оттуда не выползал, только планирую начинать свой путь. Знаю, есть миллион советов по поводу выбора среды, но стал глядеть именно на этот вариант, так как попросту привык к 6-му билдеру. Интересно всё-таки узнать, чем он конкретно плох (деньги ни при чём, естественно, ставиться всё будет нахаляву), ну и услышать очередной конкретный совет новичку (если не посыл).
Аноним 25/01/16 Пнд 16:42:49 #155 №634077 
>>634075
>Интересно всё-таки узнать, чем он конкретно плох
Конкретно 6-й (и все, до использования clang как компилятора) - поддержка только древних стандартов, дерьмо вместо линковщика и потимизатора. Ужастный медленный дэльфи-рантайм.
Аноним 25/01/16 Пнд 16:43:20 #156 №634079 
>>634077
>потимизатора
оптимизатора
Аноним 25/01/16 Пнд 16:43:43 #157 №634080 
>>634073
Там не цланг, а цлангоподобный велосипед собственного производства, если верить их сайту. Сказано "в 10 версии улучшена поддержка clang", то есть он предоставляется чисто как дополнительная фича. А с эти так - либо ты можешь писать продакшен-код, либо это игрушка наподобие того, что сейчас в студии прикрутили. Без исключений и всей хуйни.
Аноним 25/01/16 Пнд 16:46:19 #158 №634082 
>>634077
А еще там даже если предположить прикрученный нормальный компилятор, хуевое автодополнение. Ты, блядь, посмотри на скрины и сравни со студией. Разница как между авиалайнером и трехколесным велосипедом же.
Аноним 25/01/16 Пнд 16:57:10 #159 №634086 
>>634082
Вообще никогда не пользовался автодополнением. Люблю сам все скобочки вводить, да и мелочи это уже.
>>634077
А конкретно 10й? Тоже безнадёжно отстает в стандартах?
Аноним 25/01/16 Пнд 17:03:10 #160 №634091 
>>633982
борду вообще похуй на чем писать
ее даже купить можно
проблема в раскрутке, а это школомаркетинг а не быдлокодинг
Аноним 25/01/16 Пнд 17:17:41 #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-й своего зверя намутить сумели.
Аноним 25/01/16 Пнд 17:25:09 #162 №634109 
>>634098
Хорошо, я полностью верю тебе касаемо организации удобства среды, всяких автодополнений и прочих. Я хочу вот какую вещь понять, чтобы разубедиться (и поставить видимо Visual): в каких аспектах использования современных средств языка и современных методов разработки одна среда может превзойти ту, о которой я завел речь? Или билдер плох и отвратителен по своей сути, изначально и навсегда имеет "велосипедный" компилятор и плохой линкер?
Аноним 25/01/16 Пнд 17:39:09 #163 №634120 
>>634109
Тут тебе весь список его красот никто не скажет - им банально никто не пользуется сейчас.

Из точно известного:
- С++14 не поддерживается (вообще);
- исключения не поддерживаются как выше писали;
- рантайм и всё остальное там так и осталось дельфевым - ошибки тупо из-за разной модели памяти и уродства реализации тебя приветствуют;
- точно помню, что в 6-м билдере были свои нестандартизированные расширения плюсов;
- собственное соглашение о вызове и прочие плюшки их велосипедов - пользоваться сторонними библиотеками будет оч приятно, я тебе это гарантирую.
Аноним 25/01/16 Пнд 17:52:33 #164 №634136 
>>634120
Хорошо, большое спасибо тебе.
Ставлю, видимо, visual.

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

Аноним 25/01/16 Пнд 18:16:20 #165 №634159 
>>634109
Ты слышал про первородный грех? Вот в применении к IDE Builder это, блядь, Каин. Он настолько омерзителен и порочен по своей сути, изначально, что в свое время многие именно из-за него потеряли доверие к IDE и ушли на vim/emacs.
Аноним 25/01/16 Пнд 18:30:51 #166 №634169 
>>633701
>А ты платишь за этот софт?
За Windows и за Kaspersky плачу, да.

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


>У них сейчас нет проблем с возможностями и производительностью.
Как сказать. Может быть, если бы Макака писал на С++, он бы сейчас собирал донатом не 100к рублей, а всего 50к.
Аноним 25/01/16 Пнд 18:40:30 #167 №634176 
>>634169
>На С# низкоуровневые алгоритмы работают в среднем в 4-8 раз медленнее, чем на С++.
Вообще ни о чем не говорит. Можно намеренно или ненамеренно всрать код на одном языке, не учтя его особенности
Аноним 25/01/16 Пнд 18:44:40 #168 №634181 
>>634176
Утверждение о том, что управляемый код в среднем медленнее нативного, настолько очевидно, что я даже не знаю, что тебе ответить, лол.
Аноним 25/01/16 Пнд 19:29:28 #169 №634227 
>>634181
На бенчмарках - да.
А ИРЛ - звучит как утверждение, что ассемблер быстрее чем с++. В теории да, а на практике компиляторы куда умнее погромистов.
Аноним 25/01/16 Пнд 19:43:15 #170 №634240 
>>634176
>ненамеренно всрать код на одном языке, не учтя его особенности
Я не знаю С++ даже на базовом уровне, компилирую с трудом.
C# знаю на продвинутом уровне. Также знаю множество особенностей, относящихся к его быстродействию, например:
- Цикл foreach работает в несколько раз медленнее цикла for в большинстве ситуаций;
- Целочисленные типы малой размерности (byte, short) при любых операциях автоматически приводятся к Int32 , а потом - обратно. Поэтому, эти типы всегда работают медленнее, чем Int32 и они полностью бесполезны.

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

В С++ есть подобные дыры в ядре языка?
Аноним 25/01/16 Пнд 19:56:54 #171 №634255 
>>634227
>А ИРЛ - звучит как утверждение, что ассемблер быстрее чем с++. В теории да, а на практике компиляторы куда умнее погромистов.
Ну ладно, видимо ты плохо понимаешь, о чем говоришь, не буду спорить.
Аноним 25/01/16 Пнд 19:57:42 #172 №634257 
>>634255
А ты кто такой собсно, решать кто тут чего понимать? Неужели Торвальдс собственной персоной вкатился?
Аноним 25/01/16 Пнд 20:12:08 #173 №634275 
>>633694
>Почему по крестам работы почти нет, хотя именно на крестах сделано 95% годного софта?
Потому что С++ аутистам 20 лет назад внушили, что швабода и опенсорс - это хорошо, а проприетарный софт и деньги - это плохо. И с тех пор они пишут код забесплатно.

Так исторически сложилось.
Аноним 25/01/16 Пнд 20:12:29 #174 №634278 
>>634240
>Целочисленные типы
В плюсах (и вообще всех нативных языках) здеся все повеселее - их размер вообще зависит от платформы. Собственно, отсюда проблема этих типов у тебя в шарпе и исходит.
>Цикл foreach
Они в С++ бесплатны. Как и вообще почти все.

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

Раньше еще модно было умножать побитовыми сдвигами (сейчас компиляторы сами и не такое делают) и исключения считались медленным говном (ныне эпоха итаниумовского аби и исключения уже тоже стали "зеро кост").
Аноним 25/01/16 Пнд 20:22:13 #175 №634285 
>>634240
> при любых операциях автоматически приводятся к Int32 , а потом - обратно
В плюсах тоже такое, это следствие из архитектуры процессора. Другие типы не то чтобы бесполезны - если тебе нужен массив с ебенячим количеством элементов, то инты могут просто не влезть. Но просто так использовать что-то меньше интов (для целочисельных типов) конечно не стоит.
Аноним 25/01/16 Пнд 20:30:31 #176 №634292 
>>634240
В крестах real всегда приводится к double.
Аноним 25/01/16 Пнд 20:43:55 #177 №634307 
>>634292
Тип которого нету приводится к типу, который есть?
Я вкурсе только того, что типы без окончания дробной части на .xxxf автоматически приводятся к double.
Аноним 25/01/16 Пнд 20:57:49 #178 №634318 
>>634292
Тогда почему в пакет SIMD влезает вдвое больше флоатов, чем даблов?
Аноним 26/01/16 Втр 03:49:12 #179 №634546 
Пацаны, что мне такое написать на крестах, чтобы задрочить многопоточность?
Аноним 26/01/16 Втр 03:58:29 #180 №634550 
>>634546
Присоединюсь к вопросу
Аноним 26/01/16 Втр 04:04:32 #181 №634554 
>>634292
В крестах нет real
Аноним 26/01/16 Втр 04:05:04 #182 №634555 
>>634546
Многопоточнозадрочительную программу.
Аноним 26/01/16 Втр 08:00:11 #183 №634575 
>>634240
>В С++ есть подобные дыры в ядре языка
Главная дыра - указатели и работа с памятью.
Ну и еще немножко счастья с виртуальными методами и множественным наследованием. Это то, что все вменяемые полюсовики знают и рассказывают друг другу на собеседованиях.
Аноним 26/01/16 Втр 08:47:01 #184 №634585 
>>634546
Перемножение матриц 10к на 10к
Аноним 26/01/16 Втр 08:50:11 #185 №634586 
>>634585
благодарю
Аноним 26/01/16 Втр 17:58:23 #186 №634980 
Нужно написать сервер, способный принять на 1 порт ~100 пакетов/сек(грубо говоря есть 3000 клиентов, каждый клиент отправляет пакет на сервер каждые 30 сек). Пакеты где-то по 100-200 байт.
С сетями особо не работал, сервер буду писать однозначно с использованием boost.asio.

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

Рассказывайте, как проще всего реализовать.
Аноним 26/01/16 Втр 18:14:44 #187 №634993 
>>634980
QTcpServer
Аноним 26/01/16 Втр 18:19:09 #188 №634997 
>>634980
>способный принять на 1 порт ~100 пакетов/сек
На локалхосте это вообще не проблема. В реальной ситуации вся производительность сводится к минимизации нагрузки на сервер - расходы на транспортировку данных и ширина каналов нивелирует все.

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

>С сетями особо не работал, сервер буду писать однозначно с использованием boost.asio.
Самая перенагруженная и медленная сетевая библиотека. Если что-то упадет - энжой юр дебаггинг, оч приятно.
Твоя задача решается в 100 строк кода на сокетах Беркли.
Аноним 26/01/16 Втр 18:19:37 #189 №634998 
>>634993
Андрюш, съеби к своим чулочникам.
Аноним 26/01/16 Втр 18:27:28 #190 №635003 
>>634993
если проект себя зарекомендует и придётся брать лицу - отдавать 350$ в месяц за QT, нннуууу таккоеее

>>634997
Спасибо.
Аноним 26/01/16 Втр 18:47:52 #191 №635033 
Я вам покушать новую IDE принёс

https://github.com/cppit/jucipp/blob/master/README.md
Аноним 26/01/16 Втр 19:22:51 #192 №635068 
>>635033
У Шпака точно такая же куртка CodeLite точно такие же скриншоты. Меня терзают смутные сомнения.
Аноним 26/01/16 Втр 19:37:13 #193 №635095 
>>635003
Тут такое дело - Qt какбе бесплатна.
Аноним 26/01/16 Втр 21:20:11 #194 №635193 
аноны помогите разобраться, нужно найти левый и правый крайние отрицательные элементы в массиве, вот минимальный элемент находит, а максимальный отрицательный нихуя, или выходит 0 или положительное число.
Вот код http://pastebin.com/18yUkcp4 .
Аноним 26/01/16 Втр 21:40:08 #195 №635209 
>>635193
>а максимальный отрицательный нихуя
Ты уж определись, тебе максимальный отрицательный, или
>левый и правый крайние отрицательные элементы в массиве
Аноним 26/01/16 Втр 21:47:58 #196 №635217 
>>635209
facepalm Вот я аутист, то что в задании конечно.
Аноним 26/01/16 Втр 21:49:06 #197 №635218 
>>635217
Ну так делай while перебирая с начала и с конца, как только найдешь отрицательный - дропай.
Аноним 26/01/16 Втр 22:41:20 #198 №635279 
>>635218
Блять, анон дай бох тебе здоровья выручил!
Аноним 27/01/16 Срд 06:12:13 #199 №635515 
Аноны, нужно реализовать интерфейс Drag-and-Drop. Конкретно задача - создать редактор штрифтов TrueType (ну это такие буквы, которые для экономии частями хранятся). Естественно это надо возится с Form Application вижуала. В какую сторону для этого курить? Что навернуть? MDSN не предлагать.
Аноним 27/01/16 Срд 07:33:11 #200 №635524 
>>635515
> Form Application вижуала
> Что навернуть?
Сам поймёшь, или подсказать?
Аноним 27/01/16 Срд 07:35:14 #201 №635526 
>>635524
Подсказать.
>MDSN не предлагать.
Аноним 27/01/16 Срд 09:23:51 #202 №635563 
>>635095
Как бе там LGPL - халявно для опенсорс проектов.
>>635515
Нету для плюсов такой хуйни. Для шарпа мб есть, но не для плюсов.
Аноним 27/01/16 Срд 09:44:48 #203 №635578 
>>635563
А для проприетарщины нужно просто линковаться с Qt динамически
Аноним 27/01/16 Срд 12:27:36 #204 №635647 
>>635563
>Как бе там LGPL - халявно для опенсорс проектов.
Лол, а может быть ты все таки прочитаешь, что такое LGPL?

Даю подсказку - lgpl разрешено линковать к проприетарным прогам динамической. В чем её запрет - нельзя использовать производные работы. Короче говоря ты не можешь внести изменения в сам Qt и не открыть, назвав своим продуктом.
Аноним 27/01/16 Срд 13:03:30 #205 №635662 
Окей дауны.
Поясните тогда, как будет работать lgpl в его случае - закрытый коммерческий сервер.
Аноним 27/01/16 Срд 13:13:42 #206 №635664 
>>635662
Никак. Поскольку сервер ты распространять не будешь - вообще не парься. А если будешь распространять - то по lgpl ты обязан линковаться динамически.
Аноним 27/01/16 Срд 13:16:45 #207 №635666 
>>635515
Qt
Аноним 27/01/16 Срд 13:16:47 #208 №635667 
>>635664
Ну а если действия происходят в цивилизованной части мира или к тебе придут дяди с проверкой?
Аноним 27/01/16 Срд 13:18:10 #209 №635668 
>>635667
тоже самое
Аноним 27/01/16 Срд 13:18:39 #210 №635669 
>>635667
Пиздец, типичная пидорашка, вместо знания знать ничего не знает, но зато уже трясется от проверок непонятного чего. (L)GPL требует открывать исходный код при дистрибуции. Нет дистрибуции - нет исходников.
Аноним 27/01/16 Срд 13:25:02 #211 №635674 
>>635667
Блять ну не тупи же ты!
Ты обязан открыть саму Qt, если внёс в неё изменения. А производные продукты, которые её используют - ты открывать не обязан.

LGPL это считай такой аналог BSD.
Аноним 27/01/16 Срд 14:17:31 #212 №635716 
>>635563
А чому? Оно же жрет кресты. Чего мне теперь, на шарп пересаживаться, что ли?
Аноним 27/01/16 Срд 14:32:04 #213 №635733 
>>635716
Нету там ни редакторов, ни средств создания гуя (кроме системного - винапи, но это совсем мазохизм). Мб есть какая нибудь обвязка крестов к дотнету.
Аноним 27/01/16 Срд 15:15:00 #214 №635778 
>>635716
Qt + visual studio может в визуальное редактирование.
Аноним 27/01/16 Срд 15:47:55 #215 №635799 
>>635778
Вроде в qml умеет только Qt Cretor.
Аноним 27/01/16 Срд 15:50:45 #216 №635801 
>>635799
qml это текстовый формат (а графдизайнер кумэлэ просто говнище)
Аноним 27/01/16 Срд 15:53:34 #217 №635805 
>>635801
Ну даже если и дизайнером не пользоваться - надо уметь в нормальное автодополнение и интеграцию.

Кроме креатора, это кто то умеет?
Аноним 27/01/16 Срд 16:14:28 #218 №635819 
>>635733
>>635805
В общем, понятно. Последний вопрос - а как вообще приложения на крестах пишут тогда? То есть для UI мне надо ещё какой-нибудь шарп знать. Так штоле?
Аноним 27/01/16 Срд 16:24:33 #219 №635834 
>>635819
Для UI лучше всего qml.
Аноним 27/01/16 Срд 16:26:01 #220 №635835 
>>635834
Окай, спасибо.
Аноним 27/01/16 Срд 17:19:55 #221 №635891 
>>635834
Кстати, еще не копал. Обещают сделать компилятор для qml, кмк, это будет просто бомба.
Аноним 27/01/16 Срд 17:23:11 #222 №635899 
>>635891
я могу сделать хуиту а-ля qml, но на чистых плюсах с boost::proto
Аноним 27/01/16 Срд 17:44:43 #223 №635934 
>>635891
Ващет компилятор для qml давно уже есть.
Собсно, он входит в коммерческую версию Qt.

>>635899
Суть qml - писать гуй проще и не ебаться. Ты, коль желаешь, можешь и с бустом поебаться.
Аноним 27/01/16 Срд 18:38:53 #224 №636000 
>>635819
Посмотри wxWidgets
Это средство создания гуя на крестах, пистоне и чём-то ещё. Кросплатформенный к иому же, и где-то формошлёпалка была.
Аноним 27/01/16 Срд 18:49:33 #225 №636015 
>>636000
Соси хуй пердолик. Кутя милая и я её на твою гейскую деревянную хуиту не променяю.
Аноним 27/01/16 Срд 18:55:43 #226 №636020 
>>636015
Причём тут пердолик? Вх и на венде канают
Аноним 27/01/16 Срд 18:57:29 #227 №636023 
>>636000
Еще один. В беседу достопочтенных господ о фреймворке с декларативным описанием гуя принес парашу с `Button1 = TButton.Create(owner)`
Аноним 27/01/16 Срд 19:29:03 #228 №636050 
А что нибудь из кросплатформенного гуя без ебической кучи зависимостей по 20-30мб есть?
Аноним 27/01/16 Срд 19:29:48 #229 №636052 
>>636050
И да: все советчики fltk сосут члены со своими мамашами.
Аноним 27/01/16 Срд 19:38:22 #230 №636060 
>>636050
Lazarus.
Аноним 27/01/16 Срд 19:39:03 #231 №636063 
>>636060
>Lazarus
>нормальное
Аноним 27/01/16 Срд 19:39:16 #232 №636064 
>>636050
каково там в 2001ом?
Аноним 27/01/16 Срд 19:40:08 #233 №636065 
>>636063
Нормального в требованиях не было. Было "маленькое и кроссплатворменное без кучи зависимостей"
Аноним 27/01/16 Срд 19:47:01 #234 №636075 
>>636065
Под C++ биндинги есть? :D
>>636064
Норм. Меня вот серьёзно напрягает, что я пишу на C++ и у меня хэловорды по 30 мб в оперативке занимают.
Аноним 27/01/16 Срд 20:00:29 #235 №636089 
>>636075
>Под C++ биндинги есть? :D
Это паскаль тащемто
Аноним 27/01/16 Срд 20:05:28 #236 №636100 
>>636089
Я потому и спрашивал про биндинги, тащемта. VCL к плюсам как-то прикручивали жеж.
Аноним 27/01/16 Срд 20:15:17 #237 №636106 
>>636050
wxwidgets?
Аноним 27/01/16 Срд 20:21:39 #238 №636113 
14539152994930.jpg
Господа, порекомендуйте профайлер памяти для проекта. Желательно свободный для коммерческого использования, и чтоб под шиндошсом работало. Мне не нужны проверки на утечки памяти (Весь проект на автопоинтерах), достаточно просто посмотреть какой компонент софта при работе потребляет сколько памяти.

Вообще есть идея изменить автопоинтер чтоб он при создании/уничтожении логгировал что-то, а потом скрипт написать для анализа этих логов. Но как в таком случае я получу имя функции/метода/неймспейса из которого память выделяли? Да и велосипедненько это.
Аноним 27/01/16 Срд 20:22:39 #239 №636114 
>>636113
Да и опять же, по самому поинтеру мы не поймём сколько памяти выделили.
Аноним 27/01/16 Срд 20:25:55 #240 №636116 
>>636113
>Мне не нужны проверки на утечки памяти
>Весь проект на автопоинтерах
does not compute
Аноним 27/01/16 Срд 20:27:19 #241 №636117 
>>636116
Ну утечек памяти нет, всё на автопоинтерах же.
Мне нужно узнать какой компонент сколько памяти заюзал при работе.
Аноним 27/01/16 Срд 20:29:00 #242 №636120 
>>636113
Вообще любой из первых строк выдачи гугла, лол.>>636113
>Вообще есть идея изменить автопоинтер чтоб он при создании/уничтожении логгировал что-то
Есть вообще очевидный valgrind для таких велосипедистов как ты.
Аноним 27/01/16 Срд 20:34:55 #243 №636127 
>>636120
Но он под шиндошсом же работать не будет.
Аноним 27/01/16 Срд 21:01:07 #244 №636138 
>>636113
VLD. Работает везде, прикручивается за минуту
Аноним 27/01/16 Срд 21:02:06 #245 №636141 
>>636138
Мимо, он для утечек
Аноним 27/01/16 Срд 21:12:05 #246 №636150 
>>636138
Хоть я и форсер vld, справедливости ради хочу заметить, что он не работает на никсах. Надстройка над чисто вендовой debug crt.
Аноним 27/01/16 Срд 21:15:34 #247 №636153 
>>636052
>>636023
> декларативным описанием
Я не понял, опять штоле у функциональных петухов тред прохудился? Пиздуйте свои топосы дрочить, дайте взрослым дядям поговорить.
Аноним 27/01/16 Срд 21:18:16 #248 №636156 
>>636117
Прикрути кастомный аллокатор типа dmalloc или jmalloc
Аноним 27/01/16 Срд 21:19:32 #249 №636157 
>>636113
В студии прекрасный встроенный профайлер с графиками и прочими вкусностями. И еще можно делать автоматические оптимизации по результатам профилирования.

Недостаток - для проекта из 10к строк на выходе профилировщика получается уже полугиговый файл. Поэтому неудобно после каждой сборки профилировать.
Аноним 27/01/16 Срд 21:23:51 #250 №636160 
>>636153
Каких функциональных, крудошлёп ты лысеющий?
>>636156
Реализация на пильйон:
#define malloc(x) malloc(x); printf("аллокатед %ыыы бутес", x);
Аноним 27/01/16 Срд 21:29:03 #251 №636164 
Посоветуйте, аноны. Хочу вкатиться в Qt, кресты буду учить практически с ноля. Какую IDE устанавливать? Стоит начинать с Qt Creator или есть что более годное?
Аноним 27/01/16 Срд 21:44:44 #252 №636171 
>>636164
Ставь QTCreator.
Аноним 27/01/16 Срд 21:59:41 #253 №636184 
>>636164
Вкатывайся, дорогой, QTCreator, C++11 тебя ждут.
Аноним 27/01/16 Срд 22:03:41 #254 №636188 
>>636184
Причем не просто Qt Creator, а Qt SDK.
Иначе он еще будет тут ебать всем мозги, как компилятор подключать.
Аноним 27/01/16 Срд 22:12:10 #255 №636201 
>>636188
Вангую плптиновые вопросы по пунктам:
установил этот ваш куте ничего не запускается
как установить gcc под windows
как установить mingw под windows
установил этот ваш mingw ничего не запускается
как задать переменную среды
бля ну почему runtime error
как включить dwarf исключения
как переустановить mingw
Аноним 27/01/16 Срд 22:55:16 #256 №636276 
>>636188
>>636184
>>636201
Ненене антон, ты меня не так понял. Я скорее интересуюсь тем, что православнее - ставить криэйтор, studio, clion или что ещё. Или может рановато и мне нужно вкатываться в блокнот и gcc.exe?
Аноним 28/01/16 Чтв 00:22:40 #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;
}
};
Нужен ли тут деструктор? Поясните за деструктор, когда и зачем он применяется?
Аноним 28/01/16 Чтв 00:24:20 #258 №636398 
>>636396
а как ты думаешь? и почему?
Аноним 28/01/16 Чтв 00:27:28 #259 №636401 
>>636396
Здесь деструктор будет создан компилятором, как конструктор копирования.
Гугли POD.
Деструктор нужен для кастомнрго разрушения объектов. Самое простое - освобождение ресурса: память, файл, коннект к базе. Но может быть и более сложная логика, хотя и не рекомендуется (читай про исключения).
Аноним 28/01/16 Чтв 00:30:51 #260 №636405 
>>636396
А за _x и _y стоит убивать.
Аноним 28/01/16 Чтв 00:31:24 #261 №636408 
>>636398
Думаю, что не нужен, так как нету динамического выделения памяти. Или нужен. Я не улавливаю сути.
Аноним 28/01/16 Чтв 00:31:57 #262 №636410 
>>636405
Почему?
Аноним 28/01/16 Чтв 00:32:54 #263 №636411 
>>636410
Обычно их везде бы назвали как mX/mY или m_x m_y.

От подчеркиваний блевать тянет.
Аноним 28/01/16 Чтв 00:33:32 #264 №636414 
>>636408
По умолчанию, деструктор может только вызвать деструктор для членов класса (не всегда, читай про виртуальный деструктор) и чистит память самого объекта (только там где сам объект лежал). Все остальное надо делать руками
Аноним 28/01/16 Чтв 00:33:47 #265 №636415 
>>636411
Понятно.
Аноним 28/01/16 Чтв 00:34:48 #266 №636416 
>>636411
Это вопрос стиля. Где то принято с подчёркивания, где-то m_ или m или i.
Аноним 28/01/16 Чтв 00:36:22 #267 №636417 
>>636415
Алсо вместо
>int getY()
нужно
int getY() const

Ну ты понел.
Аноним 28/01/16 Чтв 00:38:04 #268 №636419 
>>636417
Да, спасибо.
Аноним 28/01/16 Чтв 03:19:25 #269 №636519 
>>636410
Начальные подчеркивания зарезервированы для компилятора. Если хочешь их использовать, ставь в конце. x_ и y_.
Аноним 28/01/16 Чтв 08:40:13 #270 №636560 
Чому на С++ так мало опенсорца? Если и есть, то только в качестве второго/третьего языка для всякой хуйни по мелочи.
Исключение - KDEProject и OpenCV и всякое фб/гуглоговно.
Аноним 28/01/16 Чтв 08:46:28 #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;
}
Аноним 28/01/16 Чтв 08:48:19 #272 №636563 
>>636519
Таки нет, зарезервированы двойные подчёркивания __, так же не рекомендуется использовать подчёркивание и прописную букву _A, _Bxx, а со строчными проблем быть не должно. Но смотрится по-уебански.
Аноним 28/01/16 Чтв 08:51:27 #273 №636564 
>>636562
Джва счётчика, один для символа, другой для количества символов. условный оператор в начале блока цикла который напечатает "\n" при 17 символе и сбросит счётчик символов.
Аноним 28/01/16 Чтв 08:56:56 #274 №636566 
>>636562
Когда выводишь val касти его к типу char. Следи сколько ты уже вывел символов на текущей строке, и когда наберется 16 то вставляй std::endl. Сделай счетчик, или, например, можно смотреть на остаток деления val на 16 (val % 16) и в зависимости от остатка вставлять конец строки. Можно два вложеных цикла сделать.
Аноним 28/01/16 Чтв 09:10:02 #275 №636569 
14539614026400.webm
>>636564
>>636566
Как следить, зачем следить, после чего вписывать <<endl
Я когда запускаю
int val = 32;
while (val <= 127)
{
cout << val << " ";
val = val + 1;
}
у меня просто хуярит с 32 до 127 сразу, что значит когда наберется?
Аноним 28/01/16 Чтв 09:31:27 #276 №636571 
>>636569
>другой для количества символов
>условный оператор
>когда наберется 16
Аноним 28/01/16 Чтв 09:31:50 #277 №636572 
>>636560
>Чому на С++ так мало опенсорца
Firefox, VirtualBox, LibReOffice, тонны его.
Аноним 28/01/16 Чтв 10:01:40 #278 №636577 
>>636560
Ебать ты дебик.
https://github.com/trending?l=cpp
Проектов дохуя, только в основном все - ниебически большие, и ентрилевел там соответствующий хотя бы сделать работающий прототип на плюсах внезапно выше, чем на питонах/раби, вот мы и не видим еженедельно новых веб фреймворков.
Аноним 28/01/16 Чтв 10:04:39 #279 №636579 
>>636572
Хромиум, почти все новые и старые компиляторы, игровые движки и куча прочей хуйни.
Аноним 28/01/16 Чтв 10:11:25 #280 №636582 
>>636579
>компиляторы
Да, самое главное забыл. LLVM + Шlang.
Аноним 28/01/16 Чтв 10:13:02 #281 №636583 
>>636577
Не обзывайся.
Аноним 28/01/16 Чтв 15:36:59 #282 №636839 
Такой вопрос, ананы. Часто в вакансиях вижу что-то типа "умение программировать на С++ в среде UNIX/Linux" мб по-уебански как-то написал, ну ладно
Так вот че почитать, поделать для этого самого умения. Мб есть какие вводные в кернел программинг. (Это уже и для себя интересно, не вдаваясь, каэш в продакшн)
Или это вообще просто-напросто сводится к умению компилить из командной строки, установке пакетов, в общем к базовому/продвинутому пользованию терминала?
Аноним 28/01/16 Чтв 15:44:26 #283 №636850 
>>636839
Кернел на крестах непопограмируешь. А вообще прочитай книжку по системному погромировпнию под линупс.
Аноним 28/01/16 Чтв 15:54:04 #284 №636860 
>>636850
Возможно с кернелом я загнул, но что тогда подразумевается под знанием линупса? Минимальная системуха?
Аноним 28/01/16 Чтв 16:02:52 #285 №636867 
>>636860
Думаю, что навыки системного программирования и подразумеваются.
Аноним 28/01/16 Чтв 16:10:57 #286 №636879 
>>636860
Наверное нужно системное API, там POSIX например.
Аноним 28/01/16 Чтв 16:27:35 #287 №636898 
>>636839
Перед тобой свежеустановленая убунта.
Напиши и скомпилируй хеловорлд и твою лаба2 на ней.
Элементарные знания командной строки, GCC/clang, git и тп.
Аноним 28/01/16 Чтв 16:31:12 #288 №636903 
>>636898
Это требования к первокуру/школьнику
Аноним 28/01/16 Чтв 16:34:14 #289 №636905 
>>636903
Это и есть "умение программировать в среде линукс".
Аноним 28/01/16 Чтв 16:37:30 #290 №636907 
>>636905
Начальные.
Аноним 28/01/16 Чтв 16:40:15 #291 №636908 
>>636905
Умение программировать хелловорлд?
Ты серьёзно считаешь, что они ищут это?
Аноним 28/01/16 Чтв 16:44:10 #292 №636915 
>>636908
На джуна - это. На миддла - еще make, autotools, cmake, понятие ldconfig, grep/sed/awk и до бесконечности. Но это точно не про программирование ведра или что ты там себе выдумал.
Аноним 28/01/16 Чтв 16:50:08 #293 №636920 
>>636560
Упоролся? Берешь линукс и ищешь пакеты, которые зависят от буста, qt, gtkmm и сотен других либ для плюсов.
Аноним 28/01/16 Чтв 17:06:29 #294 №636929 
14539899893000.png
14539899893011.png
Анон, объясни, что за хуита происходит на рисунке? Почему последнее дерево не является кучей? Что там вообще демонстрируется, если в результате получается не куча?
Аноним 28/01/16 Чтв 17:08:46 #295 №636931 
>>636929
Пиздец, почему там вообще дерево не перестраивается, а меняется только положение узла i? Нахуй такие иллюстрации нужны?
Аноним 28/01/16 Чтв 17:15:31 #296 №636933 
>>636929
> последнее дерево не является кучей
Не соответсвует критерию кучи - каждый ребенок должен быть больше (или меньше, смотря какая куча) своего родителя.
Аноним 28/01/16 Чтв 17:28:32 #297 №636946 
>>636933
Ну так я и говорю. Нахуя они в демонстрации построения кучи показывают дерево, которое в конце кучей не является?
Аноним 28/01/16 Чтв 17:28:51 #298 №636947 
Пришлось все это говно руками на бумажке расписывать.
Аноним 28/01/16 Чтв 18:23:02 #299 №636996 
14539945825030.jpg
>>636839
Я однажды тем же вопросом задался. Поиом эту книгу нашёл. Файловый ввов-вывод, процессы, права пользователей, системные вызовы.
Почитай, интересно
sageАноним 28/01/16 Чтв 18:23:55 #300 №636998 
>>636996
И да, там в книге ещё про ведро рассказывается,это не надо.
Аноним 28/01/16 Чтв 18:48:48 #301 №637039 
>>636946
Ну там дерево же вообще не изменяется. Наверное показана работа именно Bild-Heap (тоесть изменение индекса i), а Heapify нихуя не делает, тоесть дерево не изменяется, а только индекс скачет.
Аноним 28/01/16 Чтв 18:55:04 #302 №637046 
>>636929
о, корбан
Аноним 28/01/16 Чтв 21:41:55 #303 №637232 
Поясните, я тут начинаю вливаться в программирование на ++, такой вопрос.
В книге написано что если return в функции main будет -1, то программа должна выдать ошибку.
Но я делал -1 или вообще удалял ретурн, мне ничего не писало.
Аноним 28/01/16 Чтв 21:50:54 #304 №637237 
>>637232
Это стандартное соглашение в командной строке - отрицательный результат программы трактуется как ошибка.
Аноним 28/01/16 Чтв 21:58:39 #305 №637243 
>>637232
Удалил ретурн из main - автоматически вернуло 0, стандарт гарантирует. Написал -1 - вернуло -1, но твоя ось проигнорировала это.
Аноним 28/01/16 Чтв 22:16:17 #306 №637256 
>>637232
Ничего она не должна. Это код выхода, который, если не равен нулю, говорит об аварийном завершении программы. Т.е. это ты должен его считать и уже сам делать выводы. Бывает очень полезным в скриптах, для остального есть логирование.
https://en.wikipedia.org/wiki/Exit_status
Аноним 28/01/16 Чтв 22:51:42 #307 №637278 
>>637232
>В книге написано что если return в функции main будет -1, то программа должна выдать ошибку.
Точно, но наоборот.
Аноним 29/01/16 Птн 13:10:43 #308 №637575 
Где можно украсть книгу Степанова Elements of Programming?
http://demin.ws/blog/russian/2009/07/30/elements-of-programming/
Аноним 29/01/16 Птн 13:22:09 #309 №637581 
>>637575
http://bookzz.org/s/?q=elements+of+programming+stepanov
Аноним 29/01/16 Птн 18:26:07 #310 №637807 
14540811679150.jpg
Как с++прогеры поступают если надо работать с символами русского языка?
Тут проскакивала инфа что в qt нет таких проблем а я проверил есть.
Аноним 29/01/16 Птн 18:33:12 #311 №637815 
>>637807
Ты юзаешь стандартный std::string, хули ожидал-то? В QT тупо свой QString юникодовский.
Аноним 29/01/16 Птн 18:35:20 #312 №637818 
14540817204720.png
>>637807
vs15
>>637815
А я что юзаю?
Аноним 29/01/16 Птн 18:39:00 #313 №637825 
>>637818
Нет систем кроме винды?
Аноним 29/01/16 Птн 18:39:28 #314 №637827 
>>637818
Прыщи и юникод хранимый в std::srting

Давай ка мне теперь найди среднюю длину слова в строке из русских и англ слов :3
Аноним 29/01/16 Птн 18:40:58 #315 №637829 
>>637827
А, ну или не прыщи, а Windows и cp1251
Аноним 29/01/16 Птн 18:41:28 #316 №637831 
>>637825
>>637827
Я не прыщеблядь. А вам, раз уж вы прыщебляди, должно быть очевидно, что что-то не будет работать.
Аноним 29/01/16 Птн 18:42:23 #317 №637835 
>>637818
>А я что юзаю?
std::string
>В QT тупо свой QString юникодовский.
Ты не используешь библиотеку Qt, а просто используешь Qt Creator как я понял.
Вместо std::string используй QString и подключи Qt в .pro
Аноним 29/01/16 Птн 18:43:35 #318 №637836 
>>637835
>std::string
Вот и я о чём, почему у них реализация другая?
Аноним 29/01/16 Птн 18:45:15 #319 №637839 
>>637836
Потому что реализовали по-другому?
Аноним 29/01/16 Птн 18:45:45 #320 №637840 
>>637839
А как же стандарт?
Аноним 29/01/16 Птн 18:49:19 #321 №637845 
>>637840
пиздос
у нас в опенспейсе за такие вопросы убивают нахуй!
Аноним 29/01/16 Птн 18:49:21 #322 №637846 
>>637840
Стандарт в плюсах не сильно строгий же.
Аноним 29/01/16 Птн 18:54:09 #323 №637852 
>>637840
std::string базируется на char (байтовом)
Есть еще std::wstring, который базируется на wchar_t)
Хочешь юникода - используй wstring.
Аноним 29/01/16 Птн 18:58:54 #324 №637855 
>>637852
Хотя я что-то ошибся.
Почитал про wstring подробнее - говорят, что очень зависит от платформы и лучше не использоватью
Аноним 29/01/16 Птн 19:10:59 #325 №637870 
Анон, расскажи про состояние Qt в индустрии. Как оно там, не умирает? Можно погружаться? Вакансии не исчезнут с рынка труда, пока я более-менее разберусь?
Аноним 29/01/16 Птн 19:24:27 #326 №637884 
Блин, а мне то что делать? Изучать библиотеки qt?
Аноним 29/01/16 Птн 19:49:08 #327 №637910 
>>637855
Что мешает сделать basic_string <MyOwnYobaChar>?
Аноним 29/01/16 Птн 20:01:26 #328 №637926 
>>632186
#include <bjorn>

int
main {
Bitard ty{};
ty.sheka = bjorn::proveril();
}
Аноним 29/01/16 Птн 20:10:06 #329 №637931 
>>637926
return забыл и скобочки
Аноним 29/01/16 Птн 21:55:41 #330 №638031 
>>637852
> Хочешь юникода - используй wstring.
Хочешь юникода - используй utf8 в std::string. Вообще советую почитать http://utf8everywhere.org/ , там и про ситуацию с юникодом в крестах рассказано, и в STL и в Qt.
Аноним 29/01/16 Птн 22:07:39 #331 №638040 
Анончики, я новенький в плюсах. У меня такой вопрос. В классе в одном из методов мне нужно использовать константу. Я так понял значение константы хранится в бинарнике после линковки. Так вот, если я этот метод буду вызывать несколько раз, то у меня будет просто всё время браться значение из того места где хранятся константы. Я правильно понимаю? И как называется то место, где хранятся константы? В хипе вместе с программой?
Аноним 29/01/16 Птн 22:32:27 #332 №638065 
>>638040
Если просто const переменная, то в машинном коде она, как правило, станет обычной переменной если забыть про тонкости наподобие оптимизаций, связанных с read-only memory etc, разместится на стеке или в сегменте данных, как обычно, в общем. Т.е. константность это просто такое высокоуровневое средство для проверки при компиляции, что ты не накосячил.

constexpr же на этапе компиляции будет подставлена вместо всех упоминаний и зашита в код. Например, для constexpr int x = 1 что y+=x, что y+=1 превратятся во что-то с inc eax, ну ты понел. Никакой отдельной памяти для этих чисел не выделится, они будут прямо в машинных инструкциях.

Это как происходит на практике. В теории же стандарт вообще ничего не говорит о таких деталях, просто правила подобраны так, чтобы на обычных пекарнях удобно подставлять constexpr - для них запрещено взятие адреса и подобные палки в колеса подстановке. Но никто не мешает таки выделить для них память, если компилятор дохуя щедрый. Наоборот, до появления constexpr компиляторы видели, когда const допустимо подставлять с сохранением семантики - и делали это.
Аноним 29/01/16 Птн 22:34:42 #333 №638069 
>>638065
Спасибо за ответ.
Аноним 30/01/16 Суб 02:50:55 #334 №638209 
>>631744 (OP)
пиздец важный вопрос
сколько времени минимум понадобиться, что бы выучить кресты на достаточном для стажировки на джуна?
Аноним 30/01/16 Суб 03:19:07 #335 №638213 
>>638209
Что в твоем понятии "выучить кресты"?
Аноним 30/01/16 Суб 03:55:11 #336 №638216 
>>638209
год

мимоуебок
Аноним 30/01/16 Суб 09:04:44 #337 №638258 
>>638209
Иди на хуй, ты профнепригоден.
Аноним 30/01/16 Суб 09:12:24 #338 №638265 
14541343450490.png
>>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/01/16 Суб 16:23:11 #339 №638477 
>>638209
3 месяца, не слушай пердунов
Аноним 30/01/16 Суб 16:28:50 #340 №638480 
Кто-то пишет игры, что проще, именно проще в программном смысле использовать с плюсами GL или DX?
Аноним 30/01/16 Суб 16:30:29 #341 №638481 
>>638480
Пишу игру для конкурса из соседнего раздела
https://2ch.hk/gd/res/211718.html

Поэтому графика нужна не замороченная. Повторюсь, в приоритете простота написания кода.
Аноним 30/01/16 Суб 16:32:26 #342 №638482 
>>638480
обычно готовый движок юзают
Аноним 30/01/16 Суб 16:35:58 #343 №638486 
>>638482
Задумка простая, но важна скорость 3D, движки обычно монструозные и тормозные для моей игры. Поэтому выбрал кресты, потому что раньше писал утилиты на них, хотя сейчас работаю в java, но там сам понимаешь, что с графикой.
Аноним 30/01/16 Суб 16:39:40 #344 №638491 
>>638486
На Java minecraft написан.
Аноним 30/01/16 Суб 16:40:33 #345 №638492 
>>638491
Об этом и речь
Аноним 30/01/16 Суб 17:08:08 #346 №638526 
>>638486
http://irrlicht.sourceforge.net/
http://www.ogre3d.org/

>движки обычно монструозные и тормозные для моей игры
я конечно не знаю всех подробностей, но я сомневаюсь что можно написать вменяемый 3Д движ за две недели и при этом задавать вопросы что лучше OGL или DX
лучше две недели потратить на геймплей/графоуни/багофикс для твоей игры, а не для абстрактного движа
Аноним 30/01/16 Суб 23:29:15 #347 №638940 
>>638491
Есть же minetest который, блядь, не тормозит как высер жирного джаваблядка, а мелкомягкие обещали зделать c++ версию настоящего под шиндовс10.
Быдлокодер 31/01/16 Вск 00:34:05 #348 №639000 
Ребят, такой вопрос, работаю в cbuilder, и нужно чтобы когда мы вводим что-то в edit, и нажимаем enter, происходило нажатие кнопки. Как отловить это нажатие enter когда активен edit?
Аноним 31/01/16 Вск 00:47:52 #349 №639011 
>>639000
> работаю в cbuilder
В дэльфи тред.
Аноним 31/01/16 Вск 01:04:35 #350 №639033 
>>639000
в событиях смотри, keypress либо еще что-нибудь
алсо смотри Qt вместо этой некрофилии
Аноним 31/01/16 Вск 02:29:49 #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 съест, ну ты понял
Быдлокодер 31/01/16 Вск 12:12:25 #352 №639175 
>>639011

При чем тут дельфи? Это же чистый С++!
Быдлокодер 31/01/16 Вск 12:13:16 #353 №639176 
>>639033

Keypress это понятно, но как проще понять что нажат именно ентер
Быдлокодер 31/01/16 Вск 12:14:08 #354 №639178 
>>639086

Спасибо!
Аноним 31/01/16 Вск 12:18:58 #355 №639185 
>>639178
>спросил про cbuilder
>съел говно про Qt и сказал спасибо
Лол.
>>639175
VCL билдера (как и он сам) - это обертка с плюсовым синтаксисом над дэльфи библиотеками, не больше.
Быдлокодер 31/01/16 Вск 13:58:45 #356 №639236 
>>639185

>лол
Я с кодом попозже решил разобраться просто. А че за qt?
>vcl это обертка с плюсовым синтаксисом над дэлфи
На уровне компилятора - да, но весь код пишется на чистом с++. В то что внутри билдера меня не сильно волнует
Аноним 31/01/16 Вск 14:09:40 #357 №639241 
>>639236
>Я с кодом попозже решил разобраться просто. А че за qt?
https://ru.wikipedia.org/wiki/Qt
C++ гуевый (и не только) фреймворк.
>В то что внутри билдера меня не сильно волнует
Ты, блядь, вася. Тебе нужно именно то, что внутри билдера, т.к. именно он обрабатывает эту всю хуйню, неважно на каком языке. Найти ту же обмотку на плюсах потом проблемы не составит, а в дэльфитред я тебя послал потому, что тут никто с этим говном не работает хотя мб когда нибудь сюда зайдёт старый печальный крудошлёп, который работает с этим говном с начала 2000-х.
Быдлокодер 31/01/16 Вск 14:27:44 #358 №639253 
>>639241

>с начала 2000-х

Ну окей, а как же с ХЕ8 Билдером, он ведь вышел не так давно. Основной принцип работы между борланд с++ билд ером и современным хе8 не изменился
Аноним 31/01/16 Вск 14:38:32 #359 №639266 
>>639253
Вась, ухади!
>а как же с ХЕ8 Билдером
А новые вещи в продакшен в рашке нитащут. В яндексе например, по комментариям его работников в 2014, запрещали писать на C++11. И это, блядь, топ ит компания, а шаражкины конторы использующие билдер в лучшем случае на 6-м сидят.

Тебе уже ясно пометили территорию: или нормальный C++, или пиздуй в дэльфитред с вопросами по VCL.
Аноним 31/01/16 Вск 15:47:16 #360 №639318 
>>639266
Лол, у нас как-то арх все ждал появления вариадик теплейтс в мс Вижул Студии. А другой каллека бугуртил, что это все дрисня, и вместо шаблонов нужны интерфейсы и полиморфизм.
Аноним 31/01/16 Вск 15:59:43 #361 №639326 
>>639318
А можно было просто взять D и не ебя мозга реализовывать все новое на нем. Но сори, у нас продакшен, главное - стабильность по 80 рублей за доллар.
Аноним 31/01/16 Вск 16:11:36 #362 №639336 
>>639326
<Здесь был срач, что Cpp11+ почти догнал мертворожденный Dlang>
Аноним 31/01/16 Вск 16:23:31 #363 №639352 
>>639336
D не взлетел именно из-за политики больших компаний.

И да: даже не начнет догонять пока его полностью не рефакторнут, т.е. - никогда.
Быдлокодер 31/01/16 Вск 16:38:47 #364 №639367 
>>639266
А что же по твоему тогда нормальный с++?
Аноним 31/01/16 Вск 16:39:41 #365 №639369 
>>639367
C++17
Аноним 31/01/16 Вск 16:46:32 #366 №639378 
>>639367
Это C++ который не C++, ибо его уже поздно переделывать.
Аноним 31/01/16 Вск 16:47:12 #367 №639379 
>>639369
Этот наврятли что-то изменит - даже модули отклонили.
Аноним 31/01/16 Вск 17:12:47 #368 №639429 
>>639379
модули не нужны
Аноним 31/01/16 Вск 18:37:39 #369 №639526 
>>639352
Не начнет, пока не сделают сборку мусора опциональной нормально.

К тому времени сборщик уже успеют нормально прикрутить к плюсам лол
Аноним 31/01/16 Вск 18:42:11 #370 №639533 
>>639526
Она никогда не была в D обязательной.
Аноним 31/01/16 Вск 18:44:28 #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.
Аноним 31/01/16 Вск 19:10:16 #372 №639552 
>>639536
Щас бы пиздаболию теоретика послушать. Стандартная библиотека прекрасно работает и без GC.
http://ideone.com/dhu5gU
Аноним 31/01/16 Вск 19:27:29 #373 №639570 
>>639552
Течет она прекрасно и непредсказуемо.
Аноним 31/01/16 Вск 19:31:56 #374 №639574 
>>639570
На уровне C++, чо.
Аноним 31/01/16 Вск 19:40:29 #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.)
Аноним 31/01/16 Вск 20:00:04 #376 №639603 
>>639581
У меня аж идея для проекта появилась.
Тебе опять же никто не мешает делать вещей вроде GC.collect в середине кода.

И да, к началу разговора: если D развивали бы не пара его создателей и люди не любили бы сидеть своем говне - это все давно не было бы проблемой.
Аноним 31/01/16 Вск 20:05:13 #377 №639608 
Сап, анон. Вот я, начинающий программистраспиздяй, научился писать всякую простенькую херню на с++, типа операций со строками, ввод/вывод из файла, массивы там, циклы. Куда двигаться дальше? Не хочется просто читать учебники, хотелось бы именно иметь какие-то задачи, чтоб по ходу разбираться в новых темах.
Аноним 31/01/16 Вск 20:05:22 #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/01/16 Вск 20:08:07 #379 №639610 
>>639603
Нет, D изначально ущербен. Это такой C# с темплейтами. То есть не нужен ни пользователям C#, которым и с генериками норм, ни пользователям C++, которым нужны value-types и отсутствие GC везде. Есть язык, который "если D развивали бы не пара его создателей и люди не любили бы сидеть своем говне - это все давно не было бы проблемой." - это Clay. Который на голову выше D и при этом действительно слаборазвит. Но тут уж не судьба.
Аноним 31/01/16 Вск 20:17:08 #380 №639623 
>>639610
>Это такой C# с темплейтами.
Ниет. Ты ни одного, ни второго не знаешь видимо.
>это Clay
Ок ок, я понял, уноси свою сишку со скриптовым сахаром без нихуя.
Аноним 31/01/16 Вск 21:23:34 #381 №639678 
14542646149400.png
14542646149411.png
Помогите, пограммисты, не знаю куда обратиться!
Начал изучать недавно С++ по книге с вашей шапки Липпмана.
Там я дошёл до главы с классами, где какая-то ссылка на Sales_item.h была. Сначала я не понял т.к. я файл не создавал, и нигде до этого не было указано как его сделать или взять. Но дочитав главу до конца в книге указана гиперссылка, по которой, якобы, есть этот файл - пик №1.
Но при заходе по этой ссылке этого файла нет, а идёт редирект на эту книгу.
Что делать, подскажите?
Аноним 31/01/16 Вск 21:24:07 #382 №639679 
>>639678
http://www.informit.com/store/c-plus-plus-primer-9780321714114
Вот сюда та ссылка ведёт.
Аноним 31/01/16 Вск 21:43:11 #383 №639698 
>>639610
Насчет сисярпа с темплейтами ты загнул, конечно. Со скоростью у D вроде бы все на уровне крестов. Но насчет ущербности я поддвачну тебя.

Если что, дело даже не в том, что, мол, кресты популярны, а D - нет, и вот поэтому на них не перекатываются и кодобазы кот наплакал. Дело в том, что сама концепция "взять существующий язык и выбросить возможности, которые кажутся плохими" - она тупиковая. Хотя бы потому что каждая выброшенная фича, даже объективно плохая, вроде хэдеров вместо модулей, даст моментальный отказ тех, кто ее использует, от переката на новый язык. В крестах есть более удачные и менее удачные фичи, но практически за каждой стоит серьезная мотивация, серьезная проблема, для решения которой в свое время решили использовать эту фичу. Поэтому объединение недовольных крестогоспод, которые, увидев D, предали его анафеме, оказалось больше допустимого. И именно это стало причиной того, что D умер в младенчестве.

Кресты же с самого начала осуществляют стратегию впитывания - берут из других языков разные парадигмы и фичи, но никогда ни от чего не отказываются. От успешного Си был взят популярнейший синтаксис и машинная ориентированность. Когда заговорили об ООП, а университеты стали пилить академические языки, в которых было только ООП, страус взял и аккуратно встроил парадигму в Си, получив смешанный ООП-процедурный подход, а не синтаксически бедную дрисню, в которой есть объекты, сообщения и больше нихуя. Заговорили об обобщенном программировании - вместо переката на какие-нибудь стандартные интерфейсы - страус со Степановым покумекали и внедрили шаблоны и STL. Заговорили о функциональном программировании - комитет впилил лямбды и variadic templates. Можно еще много примеров привести: умные указатели, конкурентные фичи, вывод типов - тысячи их. И все делаются по одному сценарию: "старое не ломается, новое гармонично дополняет старое". Поэтому происходит процесс, обратный тому, что произошло с D - алтфаки остаются, и вдобавок к ним перекатываются люди из других языков, соблазнившись тем, что тут есть и привычные им фичи, и крестовые.

Можно сколько угодно кукарекать про выстрелы в ногу и преимущества сильной типизации/функциональной парадигмы/еще чего-нибудь. Но успех крестов наглядно показывает, почему любые намеренные ограничения, призванные облегчить вкатывание для макак, на самом деле являются злом, убивающим язык. Диванные аналитики пилят стены текста с длиннющими апологиями своих языков, пытаются доказать, что их ЕДИНСТВЕННО ВЕРНЫЙ подход лучше всех остальных особенно функциональные петухи этим грешат, вместо того, чтобы запилить объединение концепций, которое лучше каждого в отдельности.
Аноним 31/01/16 Вск 22:11:53 #384 №639728 
>>639679
Внизк страницы несколько вкладок, и там вкладка downloads.
Аноним 31/01/16 Вск 22:17:27 #385 №639733 
>>639698
>Дело в том, что сама концепция "взять существующий язык и выбросить возможности, которые кажутся плохими" - она тупиковая.
Ну как бы в D ничего и не выкидывали. Ну ладно, кроме этого еще дефайны и неймспейсы послали нахуй.
>Заговорили о функциональном программировании - комитет впилил лямбды и variadic templates
Самое смешное, что вообще все это было за почти за десяток лет до C++11 в D. Причем там это реализовано намного лучше, чем в крестах. Страуструп задумался о модулях и UFCS в C++17 - он тоже уже давно в D.
>фича, даже объективно плохая, вроде хэдеров вместо модулей, даст моментальный отказ тех, кто ее использует
Ну хэдэры-то конечно ахуенная вещь, особенно в плюсах, где дебажная сборка хэловорда с темплейтами может занимать пол часа с соответствующими бесконечными багами линкера.
И убрав эти хэдэры из языка их функциональности внезапно никто не лишится.
Все эти "обдуманные решения" в плюсах - такое же костыльное легаси говно, как и отсутствие этого решения.
>Но успех крестов наглядно показывает
Что людям просто похуй, они привыкли пихать костыль в зад и пихают.

Ты не понял сути D - никто ничего не выкидывал, просто все по-человечески рефакторнули. Тут тебе и быстрая компиляция, и куда более мощные средства метапрограммирования и вся compile-time хуита которая в плюсах костыльно реализованна на constexpr, и вообще все - но в отличие от плюсов ты можешь зайти в стандартную библиотеку и без проблем понять что автор пытался сделать. Это называется дизайном языка с учетом ошибок, а не накоплением говна как в плюсах.
Аноним 31/01/16 Вск 22:18:59 #386 №639736 
>>639728
Спасибо, как ты понял, а я нет?
Аноним 31/01/16 Вск 22:39:39 #387 №639761 
>>639698
> Со скоростью у D вроде бы все на уровне крестов.
Да нет, из-за GC это типичный C#. C# тоже довольно быстр, надо сказать.
>>639733
Страуструп задумался о модулях в С++ еще в книжке Дизайн и эволюция, которая появилась намного раньше D.
>Ты не понял сути D - никто ничего не выкидывал
D выкинул гигабайты кодобазы. Это - главное. А С++xy ничего не выкидвает.
Аноним 31/01/16 Вск 22:45:42 #388 №639772 
>>639733
Не путай "хотели" и "сделали". Фобос до сих пор рефакторят. Они так бешено быстро всего понапихали, что все эти десять лет только и переделывают туда-обратно. Быстрее будет с нуля язык сделать, нежели сделать всё стройно и гладко с тем, что уже есть.

// Тот анон, которому не нравится GC
Аноним 31/01/16 Вск 22:53:11 #389 №639781 
>>639761
>Да нет, из-за GC это типичный C#.
Да нет, он таки быстрее, хотя GC у него таки хуже чем в яве или го.
>Страуструп задумался о модулях в С++ еще в книжке Дизайн и эволюция, которая появилась намного раньше D.
И где они? По его заверениям он хотел ввести и вывод типов еще в 90-х, но отказался под давлением сишников.
>D выкинул гигабайты кодобазы. Это - главное. А С++xy ничего не выкидвает.
Использовать из D код из C++ никто не мешает, даже модель памяти аналогияная и аби плюсовый полностью поддерживается.
>>639772
Это следствие разработки 2 человеками (ну еще рандомные челики через раз с форума набигают). Сколько лет коммитет C++ обсуждал C++11 и сколько изменено в C++14?
Аноним 31/01/16 Вск 22:55:42 #390 №639786 
>>639761
Дело не только в этом же. Фортран тоже не выкидывал, но этого недостаточно. Суть в том, что комьюнити фактически с каждым стандартом существенно расширяется, и это мешает появиться какому-нибудь йоба-языку и убить кресты, как это было с фортраном. Новый язык вольно или невольно отвергает некоторые фичи крестов, а в новом стандарте все его годные фичи, напротив, будут, причем, грамотно интегрированные и пропиаренные. Поэтому кресты оказываются на шаг впереди, смекаешь?
Аноним 01/02/16 Пнд 00:36:04 #391 №639857 
>>639786
Каких фич крестов нету в D?
Аноним 01/02/16 Пнд 00:51:40 #392 №639881 
>>639781
>И где они?
У С++ фичи обсуждаются до тех пор, пока они не устроят всех. В отличие от тоталитарных корпоративных языков. Поэтому медленно. Но и хорошо при этом.
>Использовать из D код из C++ никто не мешает, даже модель памяти аналогияная и аби плюсовый полностью поддерживается.
Не поленился проверить - нихуя не так.
Аноним 01/02/16 Пнд 03:58:01 #393 №639966 
https://www.youtube.com/watch?v=YYtzQ355_Co
Аноним 01/02/16 Пнд 08:09:36 #394 №639986 
>>639881
>Не поленился проверить - нихуя не так.
https://dlang.org/spec/cpp_interface.html
Что именно?
>Поэтому медленно. Но и хорошо при этом.
Ясно. Что именно хорошего? Что в языке, каждую фичу которого обсуждают по 10 лет все такие же костыльные простыни вместо шаблонов? Что ещё за 3 года обсуждений тебе могут дать чуть расширенный костыль в виде constexpr? Аргументация уровня "мы в говне, но зато стабильность".
Аноним 01/02/16 Пнд 09:22:14 #395 №640004 
>>637870
А с чего ему умирать-то? Qt развивается, годных qt-программеров не хватает. Наши американские и канадские заказчики например проекты переводят на Qt, всё норм.
Аноним 01/02/16 Пнд 11:28:58 #396 №640053 
Пацаны, хочу вкатиться в кресты.
Есть какие-никакие знания по Java. С чего начинать обучение, чтобы не самые низы? Кокие подводные камни?
Аноним 01/02/16 Пнд 15:38:30 #397 №640290 
>>640053
Ты безнадежен.
Аноним 01/02/16 Пнд 15:52:25 #398 №640307 
>>636996
Спасибо, анон, добра.
>>636839-кун
Аноним 01/02/16 Пнд 17:03:39 #399 №640379 
14543354196020.png
Я ничего не понял, поясните, я по вашей книге учу С++, только выучил операторы иф, вайл и т.д.
И книга уже мне подкинула какое-то странное задание: 1.21 с пика.
Я ничего не понимаю как её писать, в книге ничего не объясняется.
Сам файл Sales_item.h - в нём написано чтобы я не пытался понять код на данном этапе.
Что делает программа я не понимаю, а если я не понимаю как я могу дальше что-то делать по этой программе?
Я тупой и лучше мне всё это бросить?
Аноним 01/02/16 Пнд 17:27:46 #400 №640396 
>>640379
Ну в 1.21 в программу вводятся 2 объекта Sales_item (operator<< в файле уже написан, так что самому ввод писать не надо), потом ты их сравниваешь на одинаковость isbn (функцие compareisbn) или по заданию предполагается, что вводятся две одинаковые, хуй пойми и тупо складываешь их (operator+ и operator+= для класса тоже определён)
Аноним 01/02/16 Пнд 18:18:28 #401 №640427 
14543399085600.png
14543399085611.png
Поясните еще пожалуйста, у вас же тут можно нубские вопросы задавать?
Почему если я пишу 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.
Аноним 01/02/16 Пнд 18:27:20 #402 №640432 
>>631744 (OP)
Гайс, везде рассматриваются консольные приложения, хотя в жизни я с ними почти не сталкивался. Почему так? Где учиться писать программы без ебучего черного окна?
Аноним 01/02/16 Пнд 18:35:46 #403 №640436 
>>640432
Сначала язык выучи, потом формочки шлепать пойдешь.

>>640427
Дело не в ос, тебе конпилер ясно сказал что ты пытаешься присвоить строку объекту.
Аноним 01/02/16 Пнд 18:35:52 #404 №640437 
>>640427
Не стоит вскрывать эту тему. Делай то что в книге пишут, потом дойдешь до переопределения операторов.
Аноним 01/02/16 Пнд 18:37:28 #405 №640439 
>>640432
> писать программы без ебучего черного окна
Это не является частью языка, поэтому мало где рассматривается.
Аноним 01/02/16 Пнд 21:30:24 #406 №640578 
ОБРАЩАЮСЬ К ОПУ

ОП, добавишь в следующем треде инфу об OpenFrameworks? АТОМНАЯ БОМБА ПРОГРАММИСТА НА ЦЕДВАПЛАСА

> http://openframeworks.cc/
> https://xakep.ru/2016/01/12/open-frameworks/

Алсо, обсуждаем сие событие.
Аноним 01/02/16 Пнд 21:52:13 #407 №640601 
>>640436
Так я уже выучил, я хочу формочки шлёпать, понимаешь? Что читать, где учить?
>>640439
Что не является? C++ только для консольных приложений?
Аноним 01/02/16 Пнд 22:02:02 #408 №640614 
Посоветуйте IDE с поддержкой C++11 и C++14. Не студию.
Аноним 01/02/16 Пнд 22:02:37 #409 №640615 
>>640601
Ну ты чем вообще хочешь заниматься? Десктоп?
Аноним 01/02/16 Пнд 22:03:33 #410 №640616 
>>640614
clion
Чем студия не угодила?
Аноним 01/02/16 Пнд 22:04:38 #411 №640620 
>>640601
Лан, иди Qt ковыряй.
Аноним 01/02/16 Пнд 22:07:26 #412 №640624 
>>640601
> Что читать
Документацию по выбраной тобой библиотеке виджетов.
Аноним 01/02/16 Пнд 22:15:02 #413 №640632 
>>640614
kdevelop
Аноним 01/02/16 Пнд 22:15:31 #414 №640633 
>>640616
>Чем студия не угодила?
Винда зашкварилась, и студия на нее не устанавливается. Переустанавливать ее лень. Даже попросить тыжпрограммиста было бы лень, ведь потом надо столько программ устанавливать, и делать это мне лень.
Аноним 01/02/16 Пнд 22:26:22 #415 №640651 
>>640632
ШIИD0W2
Аноним 01/02/16 Пнд 22:31:33 #416 №640655 
Анончики, проходил кто курсы от майлру на stepic (многопоточное программирование). Годнота?
Аноним 01/02/16 Пнд 22:41:12 #417 №640661 
>>640578
Хипстерская хуета сделаная какими-то азиатами, причем даже не со своей кодобазой, лал. Учитывая публику пишущую на этом прекрасном языке - будем давится говном, но не вот этим.
Аноним 01/02/16 Пнд 23:04:03 #418 №640689 
>>640578

Не очень понял, почему нельзя заюзать эти либы по отдельности.
Аноним 01/02/16 Пнд 23:18:49 #419 №640709 
>>640578

Ользо, несмотря на бессмысленность написания еще одного фреймворка, то, что у них может получиться, - это пакетный менеджер. По-хорошему, именно так им и нужно себя позиционировать.
Аноним 02/02/16 Втр 00:37:54 #420 №640793 
>>640615
Окошки, игрушечки,системные приложения. Браузер, допустим, написать хочу.

Может быть риверс инжиниринг в дальнейшем.
Аноним 02/02/16 Втр 02:33:57 #421 №640874 
>>640427
Здесь используется конструктор копии:
item1 = "0-201-78345-X 3 20.00";
item2 = "0-201-78345-X 2 25.00";

Ошибка возникает, потому что в классе он не определен.

Аноним 02/02/16 Втр 08:25:20 #422 №640913 
>>640874
>Здесь используется конструктор копии
Нет.
Аноним 02/02/16 Втр 09:14:04 #423 №640915 
>>640913
Просто конструктор some_type (std::string), который, наверное можно самому без труда запилить, скопировав код из some_type::operator (std::istream) или типа того
Аноним 02/02/16 Втр 15:14:12 #424 №641146 
>>640601
> Так я уже выучил, я хочу формочки шлёпать, понимаешь?
Чет я не верю что ты осилил все основы языка и до сих пор не знаешь как сделать оконное приложение вместо консольного. Или ты тупо книжку одну прочитал, не вдаваясь в подробности?
Аноним 02/02/16 Втр 15:29:59 #425 №641161 
Господа, попрошу вас вспомнить старые стандарты, и сказать мне, как эта хуйня должна была работать. (перевожу говно мамонта на новый компиляктор)

govno.h:
#if defined(WIN32) || defined(WIN64)
void SetStrColorProcess(,...);
#else


Какое нахуй ",..."? Что это такое блядь?
Аноним 02/02/16 Втр 15:45:23 #426 №641176 
>>641161
Мб имеется в виду какой-то аргумент и после него троеточие? няшная сишечка например вообще не волновалась по этому поводу - SetStrColor() и void SetStrColor(int b, ...) для неё были синонимами.
Аноним 02/02/16 Втр 16:30:26 #427 №641208 
14544198264970.png
Чем отличается i++ от ++i?
Я гуглил: http://stackoverflow.com/questions/24853/what-is-the-difference-between-i-and-i
По этой ссылке говорится одно, я попробовал сделать, и у меня по другому.
Аноним 02/02/16 Втр 16:39:08 #428 №641212 
>>641208
Запиши тоже, но в два оператора. Так как ты записал разницы нет, кроме того что i++ чуть медленее.
Аноним 02/02/16 Втр 16:40:18 #429 №641213 
>>641208
http://ideone.com/CF55fA на.
Аноним 02/02/16 Втр 16:42:07 #430 №641215 
>>641212
>>641213
Ага, значит если ++i - то сначала прибавляется, а потом выводится, а если i++ - сначала выводится, а потом прибавляется. Спасибо.
Аноним 02/02/16 Втр 16:59:06 #431 №641223 
>>641208
Специально для тупых макакичей
http://pastebin.com/qq0hqh4Y
Аноним 02/02/16 Втр 17:38:26 #432 №641258 
Вообще, если я знал 1 язык программирования, учёба С++ пойдёт лучше, если бы я его не знал?
Я давно работал на пхп - делал сайты. Но уже мало что помню из него. Вот, решил выучить С++ и найти работу...
Аноним 02/02/16 Втр 17:42:10 #433 №641261 
>>641258
>решил выучить С++ и найти работу
>_o
Аноним 02/02/16 Втр 17:45:51 #434 №641267 
>>641261
Ну, делать мне пока нечего, видеоигры надоели, а мамка на работу гонит.
Аноним 02/02/16 Втр 17:49:35 #435 №641270 
>>641267
Работа есть для шарпов и жабы.
Аноним 02/02/16 Втр 17:50:51 #436 №641271 
>>641270
Ну не знаю, постоянно скроллирую всякие вакансии, много вижу с++.
Ну и я его хочу изучить - хочу свои игры писать.
Аноним 02/02/16 Втр 17:50:52 #437 №641272 
>>641267
На то, чтобы выучить плюсы на уровне приемлемом хотя бы для прохождения собеседования у нюфага уйдет не меньше 2-х лет. А еще нужно знать весь стак их технологий. И опыт пыха иебе здесь не поможет.

Иди в раби или петон тред если нужна работа нет ребующая 5 лет задротства.
Аноним 02/02/16 Втр 17:54:54 #438 №641274 
>>641271
Эталонный крестовик прямо
Аноним 02/02/16 Втр 17:55:41 #439 №641275 
>>641272
Я слышал что С++, как и СИ - непотопляемые языки. И у меня знакомый сначала работал на обычной физической работе, а потом как-то перепрофилировался, и работает программистом на С++.
Аноним 02/02/16 Втр 18:02:00 #440 №641279 
>>641275
Они непотопляемые в том смысле что их ближайшие 10 лет никто и ничто не заменит. Но это не отменяет того факта, что C++ один из сложнейших (из мейнстримовых - самый сложный) язык. А чтобы куда-то попасть на работу сегодня (10 лет назад каждого васю брали, это да) нужно на зубок пересказывать изъёства вроде наследования виртуальных функций на собеседованиях, знать Qt с Boost и ещё кучу хуйни вроде опыта работы с прыщами и гита - и это если компания современная и не байтоёбский продукт делают, иначе нужно знать ещё кучу хуйни вроде ассемблера и сетевых протоколов.

И да, игрушки - без математической вышки пошлют нахуй.
Аноним 02/02/16 Втр 18:04:07 #441 №641281 
>>641279
>игрушки - без математической вышки пошлют нахуй
Чем так важна мат. вышка в игрушках?
Когда я учился в вузе, у меня по матанам была самая высокая оценка в группе среди мужского населения. Даже помогал другим решать, но я уже мало что помню из всего этого.
Аноним 02/02/16 Втр 18:05:50 #442 №641284 
>>641281
Ты хоть симулятор бильярда то напишешь?
Вышка нужна для всякого 3D, а термех - для физики.
Аноним 02/02/16 Втр 18:07:06 #443 №641285 
>>641281
Тем что на плюсах в игрулях сегодня пишутся только движки (рендер, физика). Сам попробуй догадаться.
Аноним 02/02/16 Втр 18:08:25 #444 №641286 
>>641285
>>641284
Ладно, не надо меня пугать раньше времени. Сейчас выучу ++ хотя бы на уровне пользователя, а там посмотрим.
Аноним 02/02/16 Втр 18:16:18 #445 №641288 
14544261789410.jpg
>>641286
Какой ныне анон оптимистичный пошёл :3
Аноним 02/02/16 Втр 18:17:49 #446 №641289 
14544262692500.jpg
>>641288
Я знаю что у меня вряд ли что получится, но я хотя бы попробую.
Аноним 02/02/16 Втр 18:44:21 #447 №641311 
Попробуй не кресты. Больше толку будет.
Аноним 02/02/16 Втр 18:51:44 #448 №641319 
>>641289
Начни с кернигана и ритчи язык си. Пригодится писать модули для пистонов и рубей
Аноним 02/02/16 Втр 19:14:50 #449 №641344 
>>641279
такой-то манямирок
Аноним 02/02/16 Втр 19:52:07 #450 №641379 
Поясните ньюфагу, в чём разница крестов и решетки(шарпа)?
Аноним 02/02/16 Втр 19:55:01 #451 №641380 
>>641379
Указатели.
Аноним 02/02/16 Втр 19:57:02 #452 №641382 
>>641379
С какой целью интересуешся?
Аноним 02/02/16 Втр 20:08:37 #453 №641386 
>>641379
Во всём, кроме C-like синтаксиса.
Аноним 02/02/16 Втр 20:24:05 #454 №641389 
>>641379
В шарп байтоебства не завезли.
Лучше поясните, почему С++ это именно отдельный язык, а не С с классами. без троллинга вопрос
Аноним 02/02/16 Втр 20:26:26 #455 №641390 
>>641389
/unsafe
Аноним 02/02/16 Втр 20:32:54 #456 №641392 
>>641390
Это не считается.
Аноним 02/02/16 Втр 20:35:14 #457 №641393 
>>641389
1) Потому что он не просто расширяет, но и выкинул некоторые фишки C (как автоматическое приведение типов и прочие прелести слабой типизации C и тд);
2) Они развиваются отдельно и имеют разные идеологии;
Аноним 02/02/16 Втр 20:35:57 #458 №641394 
>>641389
> язык, а не С с класса
Много дополнительных возможностей (шаблоны, перегрузки операторов). Но "С с классами" тоже считался бы отдельным языком. Вон - objective C именно что С с классами, но никто его не назовет просто С.
Аноним 03/02/16 Срд 00:16:35 #459 №641509 
>>640578
ОП на связи. ИМХО нельзя сразу пихать новое в шапку. Надо сначала присмотреться, убедиться, что это выстрелит, будет хорошей практикой, а не говном. Например, >>640689 - куна я удваиваю ссылки просмотрел пока что по диагонали. Так что в ближайший перекат это впиливать преждевременно, ящитаю.
Аноним 03/02/16 Срд 07:49:16 #460 №641597 
>>641379
Есть два Си. На одном кресты точёные, на другом решётка дрочёная. Куда сам сядешь, куда свой проект посадишь?
Аноним 03/02/16 Срд 07:52:33 #461 №641598 
>>641597
Сам на ди сяду, проект на джаву посажу.
Аноним 03/02/16 Срд 07:59:53 #462 №641602 
Как перевести числа от 1 до 10 в текст в зависимости от выбора?
Аноним 03/02/16 Срд 08:03:37 #463 №641603 
>>641602
Эээ, свичем обычным?
Аноним 03/02/16 Срд 08:15:06 #464 №641605 
>>641603
Я нуфак, помоги плиз(
Аноним 03/02/16 Срд 08:20:44 #465 №641607 
>>641605
if (i == 1) cout << "odin";
if (i == 1) cout << "odin";
if (i == 1) cout << "odin";
Аноним 03/02/16 Срд 09:32:05 #466 №641627 
>>641602
Словарь. Например std::set. Если тебе не нужно будет итерировать по словарю то лучше std::unordered_set (быстрее доступ по ключу). Так как у тебя ключом служит непрерывная последовательность чисел то идеальный вариант - какой-то из массивов.
Аноним 03/02/16 Срд 09:46:40 #467 №641631 
>>641627
Пиздос.
А ты дома комаров часом не из базуки отстреливаешь?
Аноним 03/02/16 Срд 10:16:26 #468 №641644 
>>641631
Ты забыл свой вариант предложить.
Аноним 03/02/16 Срд 10:17:17 #469 №641645 
Мб кто компилит в vcc 14.0?

из инклюда убрали math.h, теперь если в .c файлах поменять <math.h> на <cmath>, в котором, по спеке, должна быть и старая функциональность, то все, пиздец.
...\Microsoft Visual Studio 14.0\VC\INCLUDE\cmath(17): error C2143: синтаксическая ошибка: отсутствие "{" перед "<", и т.д. по файлу.
Чет ошибка гуглится, но пути ее решения не гуглятся.
Аноним 03/02/16 Срд 10:22:36 #470 №641646 
>>641644
Но я предложил. Обычный сраный свитч.
Аноним 03/02/16 Срд 10:30:35 #471 №641650 
>>641602
http://ideone.com/Pd5T0h
Аноним 03/02/16 Срд 10:40:30 #472 №641656 
>>641646
Но ведь это тоже самое, только вместо того чтобы использовать чужой код ты пишешь все сам.
Аноним 03/02/16 Срд 11:25:42 #473 №641679 
>>641650
Сожалею, но у вас быдлокод головного мозга.
Аноним 03/02/16 Срд 11:29:34 #474 №641685 
>>641602
itoa
std::to_string
Аноним 03/02/16 Срд 11:33:48 #475 №641686 
14544884286970.png
>>641679
Аноним 03/02/16 Срд 12:10:07 #476 №641701 
>>641679
Ты когда примеры в книгах по C++ читаешь, тоже на быдлокод ругаешься?
Аноним 03/02/16 Срд 12:11:12 #477 №641703 
>>641656
У unordered_map константный доступ, но с большими константами. Для каждого обращения будет считаться хэш, который наверняка сложнее, чем схема Горнера в std::to_string. Более того, в unordered_map на каждый хранимый int будет приходиться дохуя служебной информации, емнип 16 или больше байтов. Поэтому ему следует использовать to_string и не выебываться. Или сделать вектор со строковыми представлениями индекса, если надо прямо совсем быстро, за одну машинную команду.
Аноним 03/02/16 Срд 12:28:49 #478 №641723 
>>641703

Бля идите нахуй, пусть хоть через шаблоны хуячит свою задачку из лабы первого курса. Обсуждаете тут, что лучше хэшмап или switch в контексте какого-то несущественного говна.
Аноним 03/02/16 Срд 12:58:33 #479 №641747 
>>641703
> который наверняка сложнее
Очень спорное утверждение, все зависит от реализации, но так как от std::hash (которое используется по умолчанию) никто не требует криптографической стойкости то скорее всего в качестве хеша целого числа будет просто возвращено это число.
Аноним 03/02/16 Срд 16:07:26 #480 №641927 
>>641747
В студии возвращается вообще адрес этого инта, например.
Аноним 03/02/16 Срд 17:12:12 #481 №642002 
14545087330240.jpg
Блядь, да что такое-то?
Аноним 03/02/16 Срд 17:13:00 #482 №642003 
>>642002
Индекс кривой, но похуй, ошибка та же.
Аноним 03/02/16 Срд 17:24:05 #483 №642008 
>>642002
А мог бы программы писать, вместо борьбы с языком.
Аноним 03/02/16 Срд 17:25:00 #484 №642009 
>>642003
ты че, ебанат? Нахуй ты вектору инт присваиваешь?
Аноним 03/02/16 Срд 17:30:39 #485 №642012 
Тфу, блядь, разобрался. Продолбился в глаза и при инициализации поставил [] вместо ().
>>642009
Пошёл нахуй.
>>642008
Мне сейчас байты ебать надо, а тут у плюсов нет альтернатив. Скоро перееду на жабу.
(Автор этого поста был предупрежден.)
Аноним 03/02/16 Срд 18:02:24 #486 №642043 
Поясните нубу: если на объекте std::thread не вызвали .join() или .detach(), то он вызывает std::terminate() в деструкторе. Мол, эта ниправильна так делать. При этом, для написания exception-safe кода заебашили thread_guard, который в ситуации выше вызывает .join() перед уничтожением std::thread. Вопрос: почему это поведение просто не реализовали в самом std::thread?
Аноним 03/02/16 Срд 18:04:06 #487 №642044 
>>642002
Ты вектор с си-массивом перепутал.
Аноним 03/02/16 Срд 19:23:00 #488 №642104 
>>642043
> просто не реализовали в
Это противоречит идеологии языка. Попытка вызова джойна в деструкторе не бесплатна. А программист не должен платить за то чего не использует.
Аноним 03/02/16 Срд 19:34:11 #489 №642107 
>>642104
> просто не реализовали в
>Это противоречит идеологии языка. Попытка вызова джойна в деструкторе не бесплатна. А программист не должен платить за то чего не использует.

Ты не можешь не вызвать джойн(или детач) перед запуском десьруктора. Если ты этого не сделаешь, то получишь краш
Аноним 03/02/16 Срд 19:42:01 #490 №642111 
>>642107
Хотя да, я понял, ситуация здесь как с [] и at() у вектора. Но вот только [] вызывается очень часто, а деструктор у std:thread не так часто. На лицо слишком фанатичное следование парадигме, из-за чего возникают неудобства.
Аноним 03/02/16 Срд 19:53:14 #491 №642123 
Хорошо-ли использзовать исключения?
Аноним 03/02/16 Срд 19:53:59 #492 №642124 
>>642107
Ну. Ты создаешь thread_guard, вызываешь джойн или детатч. Потом при вызове деструктора произойдет совершенно ненужная (в твоем случае) проверка. Скажем для 99.99% программистов это будет оправдано - накладные расходы мизерны а запасная проверка не помешает. Но если эту проверку зашить std::thread то у 0.01% поехавших пригорит, они начнут городить свои велосипеды (без проверок) и везде срать что std::thread использовать не стоит так как он тормозит из-за ненужных проверок. Идеология языка такая что если каких-то расходов можно избежать, то такая возможность предоставляется - даже если выигрыш на самом деле мизерный.
Аноним 03/02/16 Срд 20:03:02 #493 №642130 
>>642124
Ты можешь себе представить, что у людей пригорит из-за одного сраного if'а, который, блять, просто меркнет на фоне того, что делает операционная система при завершении потока?
Аноним 03/02/16 Срд 20:06:36 #494 №642133 
>>642123
Исключения сильно упрощает код на участках, где возможны нехарактерные ситуации. Если это критично - отключай их нахуй и пиши велосипед.
Аноним 03/02/16 Срд 20:07:14 #495 №642134 
>>642133
*критично по производительности
Аноним 03/02/16 Срд 20:07:39 #496 №642135 
>>642123
Это холиварная тема.
Надо понимать как реализованы исключения, из этого вытекают их плюсы и минусы.
Гугл стайл гайд запрещает исключения.
У них есть проблемы с перформансом, но с другой стороны это бывает удобным механизмом обработки нештатных ситуаций.
Аноним 03/02/16 Срд 20:31:39 #497 №642148 
>>642043
Потому что .join при ошибке кидает исключение, а не перехваченное исключение в деструкторе - это вызов std::terminate(). Так что даже если бы join и вызывался, то поведение не изменилось бы, такие дела. Не понимаю чего тебе не нравится
Аноним 03/02/16 Срд 20:55:15 #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" или вообще может вызвать дедлок (имеется ввиду ситуация с обработкой исключения, последующей раскруткой стека, а потом возвращением назад и продолжением работы).
Аноним 03/02/16 Срд 22:23:40 #499 №642213 
>>641161
Как используется?
Аноним 03/02/16 Срд 22:34:28 #500 №642226 
>>639266
Они таскают свой stl за собой. Лежит в ${SOURCE_DIRECTORY}/contrib

Поэтому можно что-то. Но без auto в лямбдах и инициализации в захвате, decltype(auto) 11 плюсы нахуй. Потоки, промисы, таски, прочая многопоточность есть в бусте, всякие all_of или find_if там же.

Да и нахуй это в хуяндексе с их:
std::int64_t yasize () const;

Или стл несовместимые строчки и штрочки.
Аноним 04/02/16 Чтв 00:47:35 #501 №642299 
>>642160
>Судя по http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2802.html

Ебать они умные, я аж охуел.
Аноним 04/02/16 Чтв 01:59:29 #502 №642332 
>>641212
>i++ чуть медленее.
почему?
Аноним 04/02/16 Чтв 09:51:49 #503 №642415 
>>642332
Потому что создается временный объект. Более подробно смотри в Прате.
Аноним 04/02/16 Чтв 16:45:09 #504 №642748 
Надоело писать код и видить постоянно черную и угрюмую консольку, я конечно могу поменять цвет, но все же не то.
Хочу попробовать написать с графоном, пока мой выбор пал на windows form или winapi, но все же прошу советов, что использовать чтобы было все красиво и с кнопочками.
Аноним 04/02/16 Чтв 16:47:38 #505 №642757 
>>642748
> видить
fix. видеть
Аноним 04/02/16 Чтв 16:48:51 #506 №642760 
>>642748
>Рождение юнитибога
Аноним 04/02/16 Чтв 16:50:37 #507 №642761 
>>642760
Прочитал свои первые 2 книжки, хочу попробовать что-то новое, что ты сразу так?
Аноним 04/02/16 Чтв 16:53:53 #508 №642765 
>>642761
Чем тебя Qt не устраивает, говноед?
Аноним 04/02/16 Чтв 16:56:55 #509 №642768 
>>642765
Ты че обзываешься?
Я про нестандартные либы не знаю, не сталкивался. Просто пока варианты перебираю.
Аноним 04/02/16 Чтв 17:02:38 #510 №642776 
>>642768
Для кого шапку пишут...
Аноним 04/02/16 Чтв 17:04:20 #511 №642778 
>>642776
Дык я идиот, ты понимаешь?
Если носом не ткнуть со словами, "Вот, то что тебе нужно!" я не пойму.
Аноним 04/02/16 Чтв 18:40:09 #512 №642918 
Как думаете ОП за неделю успеет тред перекатить?
Аноним 04/02/16 Чтв 19:41:07 #513 №643104 
14546040673070.jpg
Pizufe, я всё ещё жду тебя.
Аноним 04/02/16 Чтв 23:25:56 #514 №643310 
>>642918
Зачэм абыжаищь, дарагой? Пят днэй максымум, мамой клинус!
Аноним 05/02/16 Птн 12:50:56 #515 №643569 
Где можно почитать про устройство памяти, стек, куча, вот это вот все.
И про стек вызовов еще.
Аноним 05/02/16 Птн 13:19:43 #516 №643588 
>>642748
Я пользую c++builder от борланда, либо новые версии - embercadero cbuilder.
Аноним 05/02/16 Птн 14:18:02 #517 №643642 
14546710827270.png
Поясните, я сейчас читаю про всякие литералы етц главу, но я почти ничего в ней не понял. Я потом пойму всё это или учить на зубок?
Пикрил - на большинство вопросов не могу ответить.
Могу сказать что:
'а' - символьный литерал. 8 байт.
"а" - строковый литерал. Не знаю сколько байт, вроде по 8 на каждую букву.
L'a' и L"a" - широкосимвольный литерал. 16 байт.
Дальше, там где 10u и 10L - я вообще не понял что это.
Аноним 05/02/16 Птн 14:48:03 #518 №643669 
>>643642
И еще подвопрос, пишет что unsigned не может быть меньше нуля или больше 255. Если я пишу 260U - всё корректно выдаёт.
Аноним 05/02/16 Птн 14:51:37 #519 №643672 
>>643642
Нужно учить. "Понимать потом" окажется достаточно сложно так как все проблемы с литералами будут проявлятся исключительно в каких-то ебанутых багах, но ты скорее всего этого никак не избежишь, так что возможно и не стоит особо заебыватся. Главное ясно понимать разницу между 'a' и "a" (особенно важно понять что "a" это два символа 'a' и '\0'). Также желательно знать про запись в шестнадцатеричном и двоичном виде. Все остальное редко встречается.
Аноним 05/02/16 Птн 14:55:36 #520 №643675 
>>643672
Зачем в строковых литералах добавляется этот нулевой символ?
Он добавляется в конце строки или после каждого символа в строке?
Аноним 05/02/16 Птн 14:55:37 #521 №643676 
>>643669
> больше 255
Тебя наебали. Может быть больше, вплоть до long long, если на 11 стандарте компилировать.
Аноним 05/02/16 Птн 14:57:26 #522 №643677 
>>643675
>ли после каждого сим
Только в конце строки, такое соглашение что последний символ в с-строке должен быть нулевой.
Аноним 05/02/16 Птн 15:00:05 #523 №643678 
>>643642>>643669
Положи назад учебник по сям 2001 года
Аноним 05/02/16 Птн 15:01:45 #524 №643680 
14546737052400.png
>>643678
Но я по вашему совету скачал учебник в шапке 2014 года...
Аноним 05/02/16 Птн 15:21:13 #525 №643696 
>>643569
Это архитектура компьютера. Темы простые можно на всяких хасклетах видеокурс базовые посмотреть. И про ассемблер тоже чутка пояснят. Талмуд таненбаума для этого читать не обязательно.
Аноним 05/02/16 Птн 18:10:27 #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;
}
Аноним 05/02/16 Птн 18:24:23 #527 №643897 
Господа, только у меня не работают ссылки на учебники по Qt?
Аноним 05/02/16 Птн 18:31:44 #528 №643906 
>>643897
Всё, открылось. Извините что размножаю флуд. Вот вам по теме.
int main(int argc, char *argv[])//кажется, мы стали забывать классику
{
}
Аноним 05/02/16 Птн 18:35:00 #529 №643909 
>>643893>
В коде две уязвимости, но какие и где - не знаю. Читаю сейчас учебник по С++. Подтолкните на мысль.
Аноним 05/02/16 Птн 18:37:05 #530 №643911 
>>643909>
Но возможно в каком месте кода возможно переполнение буфера.
Аноним 05/02/16 Птн 19:42:00 #531 №643984 
>>643893
https://www.youtube.com/watch?v=aEZKGW_VTd4
Твое тоже наверняка поломает. Дебаггера нет под рукой.
Аноним 05/02/16 Птн 21:46:48 #532 №644218 
>>643893
>vector<char> str(MAX_PATH);
>cin >> str.data();

Кто сказал, что введенная строка будет меньше MAX_PATH?
Аноним 05/02/16 Птн 22:01:20 #533 №644254 
>>644218
Откуда я знаю кто. Был дан код и я пытаюсь понять. Я пришёл к мнению, что нужно выделять память по размеру введённому юзером в stdin, дабы избежать переполнение. Но как и что исправить не знаю.
Аноним 05/02/16 Птн 23:26:43 #534 №644334 
>>644254
> что исправить
Например cin.get(str.data(), MAX_PATH);
Аноним 05/02/16 Птн 23:36:14 #535 №644348 
14547045748380.png
Анон, 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

В чем проблема. Сам в кресты не могу, потому как питонодебил.
Аноним 05/02/16 Птн 23:37:59 #536 №644351 
>>644334
О, спасибо. Теперь нет переполнения.
Аноним 05/02/16 Птн 23:40:23 #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;
}
Аноним 05/02/16 Птн 23:43:35 #538 №644359 
>>644351
>Теперь нет переполнения.
На глаз определил?
Аноним 05/02/16 Птн 23:44:57 #539 №644361 
>>644359
Дебаггером.
Аноним 05/02/16 Птн 23:46:31 #540 №644363 
>>644348
попробуй =0 убрать. он и так с нуля нумерует. или точку с запятой перед } поставить. или =1 после HIGH
тоже пока плохо знаю
Аноним 05/02/16 Птн 23:51:44 #541 №644369 
>>644363
Кстати у меня получилось скомпилировать только когда сократил до этого. Что значат удалёные слова я не знаю.

enum PinValue
{
LOW = 0,
HIGH
};
Аноним 06/02/16 Суб 00:01:29 #542 №644380 
Аноны, расскажите, зачем нужен C++? Где его применяют?
Аноним 06/02/16 Суб 00:03:31 #543 №644384 
>>644380

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

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

Нужно понимать, что используемый язык должен соответствовать поставленной задаче. Никому не придет в голову писать на C++ скрипты или веб-фронтенд, но лишь немногие языки могут соперничать с ним по разнообразию решаемых задач.
Аноним 06/02/16 Суб 00:13:31 #544 №644388 
>>644369
>644363
>Кстати у меня получилось скомпилировать только когда сократил до этого. Что значат удалёные слова я не знаю.

Ты поменял новый strongly typed enum на старое гуано. Видимо, компилятор на это и ругался, что вообще-то странно, потому что в gcc это есть с 4.6 версии. Что у тебя прячется под g++-4.7?
Аноним 06/02/16 Суб 00:16:22 #545 №644390 
>>644388
До этого ещё 1 enum и на него компилятор не ругается.
g++ (Ubuntu 4.8.4-2ubuntu1~14.04) 4.8.4
Аноним 06/02/16 Суб 00:17:56 #546 №644391 
>>644384
Ну вот меня и интересует, для каких задач C++ хорош (кроме легаси и игор)? Пусть универсален, но проигрывает специализированным инструментам.
Аноним 06/02/16 Суб 00:20:49 #547 №644396 
>>644391
Там где важна скорость и надёжность.
Аноним 06/02/16 Суб 00:22:32 #548 №644399 
>>644390
Здесь какая-то мелкая хуйня из-за невнимательности. Скомпиль clang'ом.
Аноним 06/02/16 Суб 00:26:35 #549 №644401 
>>644399
>Скомпиль clang'ом.
Его ещё 12 минут устанавливать.
Аноним 06/02/16 Суб 00:27:55 #550 №644403 
>>644355
Посмотрите пожалуйста, аноны.
Аноним 06/02/16 Суб 00:30:40 #551 №644408 
>>644403
на пастебин или идеон залей. звёздачки не удобно искать
Аноним 06/02/16 Суб 00:30:47 #552 №644410 
>>644363
>>644369
Чет как-то не помогает.
Аноним 06/02/16 Суб 00:31:23 #553 №644411 
>>644396
Надёжность? Да и наверное найдутся инструменты, не сильно уступающие в скорости. Впрочем, я мало об этом знаю.
Аноним 06/02/16 Суб 00:31:48 #554 №644413 
>>644410
Что пишет когда вот это делаешь? >>644369
Аноним 06/02/16 Суб 00:34:14 #555 №644416 
>>644391
Хоть я и считаю, что писать быстрый код можно на любом языке, оптимизируя критические участки, но на моей памяти большая программа, написанная на c/c++ работала отзывчивее и быстрее на ресурсоемких задачах, чем аналоги, написанные на java. Доходило до того, что java приложение юзает ту же либу на C, а работает медленнее. И это уж не говоря об отзывчивости нативного UI и не нативных. Ярчайший пример - обоссаный qt creator и йоба clion. Первый хоть и кривой, как моя жизнь, но все везде быстренько, если не упадет нахуй. А clion, вроде и оптимизируют дохуя, но жрет он по 5 гигов на большом проекте и регулярно задумывается то там, то сям.
Аноним 06/02/16 Суб 00:34:45 #556 №644417 
>>644408
http://pastebin.com/7EePf325
Аноним 06/02/16 Суб 00:38:56 #557 №644419 

>>644410
>644363
>644369
>Чет как-то не помогает.

Поставь clang, его ставить 2 минуты, если не собирать из сорцов. Тут явно какая-то синтаксическая проблема, о которой говно gcc сказать нормально не может. В таком режиме мы полночи искать проблему будем.
Аноним 06/02/16 Суб 00:40:05 #558 №644422 
14547084051060.png
>>644399
Тоже такого не знает. Компилирую с 11ым стандартом.
Аноним 06/02/16 Суб 00:40:46 #559 №644423 
>>644413
Либа компилируется как и раньше, когда компилирую прогу получаю тот же результат. Ругается на отсутсвующий identifier и фигруную скобочку.
Аноним 06/02/16 Суб 00:42:22 #560 №644425 
>>644419
Под raspberry полюбому собирать из сорцов. Плюс я питонодебил.
Аноним 06/02/16 Суб 00:43:10 #561 №644426 
>>644423
Что в 35-45 строках main.cpp?
Аноним 06/02/16 Суб 00:45:54 #562 №644434 
>>644417
Что возвращает GetCommandLineA?
Аноним 06/02/16 Суб 00:46:45 #563 №644435 
Короче сделал все в одну строчку:
enum class PinDirection : std::uint8_t {IN = 0, OUT = 1};

enum class PinValue : std::uint8_t {LOW = 0, HIGH = 1};
Ошибка почему-то та же, хость строк должно быть меньше.
Аноним 06/02/16 Суб 00:49:16 #564 №644439 
>>644426
инклюд для этой либы

#include <tlc5940-raspberry/tlc-controller.h>
#include <tlc5940-raspberry/raspberry-gpio.h>
Аноним 06/02/16 Суб 00:58:17 #565 №644443 
>>644434
Вроде как stdin.
Аноним 06/02/16 Суб 00:58:20 #566 №644444 
14547095003730.png
>>644423
У меня скомпилилось
Аноним 06/02/16 Суб 00:58:53 #567 №644446 
>>644417
Подозреваю переполнение если после str= больше 100 символов не разделёных пробелом.
Аноним 06/02/16 Суб 00:59:19 #568 №644447 
>>644425
Нихуя, кстати. LLVM умеет генерить ARM код
Аноним 06/02/16 Суб 01:00:39 #569 №644449 
>>644444
make main и взлетело?
больше ничего не менял?
Аноним 06/02/16 Суб 01:01:57 #570 №644450 
>>644443
Тогда что делает эта строка?
for (; line >= GetCommandLineA(); line--) *line = '\x0';
Аноним 06/02/16 Суб 01:02:37 #571 №644451 
>>644396
Где важна скорость и только.

Там где надежность настолько же важна (в системах управления космических кораблей, медицинском ПО, етц) дважды подумают, чем стрелять себе в ногу
Аноним 06/02/16 Суб 01:03:36 #572 №644454 
>>644450
А хер его знает. Мне самому интересно. Плюсов не знаю.
Аноним 06/02/16 Суб 01:03:43 #573 №644455 
>>644451
Для надёжных ничего другого нет. Страуструп писал об этом.
Аноним 06/02/16 Суб 01:04:42 #574 №644456 
>>644454
Есть коммент:

// STRING ECHO
//
// Sample usage:
// strecho repeat=4,str=pleaseechome
Аноним 06/02/16 Суб 01:04:48 #575 №644458 
>>644454
А что сделать надо?
Аноним 06/02/16 Суб 01:05:01 #576 №644459 
>>644435
Сделал все в одну строчку и поменял строки местами. Все равно точно такая же ошибка в той же строке! Для чистоты эксперимента закомментил одну из строк, ошибка, как и положено, в отсутствующем классе.
Аноним 06/02/16 Суб 01:05:10 #577 №644460 
>>644449
Почему make main? С чего ты взял, что это правильная цель? Я просто вызвал make
Аноним 06/02/16 Суб 01:05:31 #578 №644462 
>>644458
Найти уязвимое место в коде (переполнение буфера) и избавиться от уязвимости.
Аноним 06/02/16 Суб 01:07:29 #579 №644464 
>>644416
>упадёт нахуй
У меня тоже падает пару раз в месяц QtCreator и подтекает, но запускается за 5 секунд.
Аноним 06/02/16 Суб 01:08:34 #580 №644465 
>>644449
Скорее всего, ты собираешь не ту цель, поэтому у тебя компилятор не подключил стандартную библиотеку и ругается на неймспейс std::
Аноним 06/02/16 Суб 01:10:00 #581 №644466 
>>644464
На больших проектах он хоть и долго проводит анализ, но хотя бы не UI не виснет бля
Аноним 06/02/16 Суб 01:10:19 #582 №644467 
>>644455
C, виртовские поделия, lisp - это только из того, что я с дивана вспомнил
Аноним 06/02/16 Суб 01:11:28 #583 №644469 
>>644460
Я так понимаю, что в файле make инструкии для компиляции файла main.cpp
Напилши с какими параметрами компилировал.
Аноним 06/02/16 Суб 01:12:31 #584 №644471 
>>644469
make VERBOSE=1 подставь
Аноним 06/02/16 Суб 01:13:13 #585 №644472 
>>644469
xampp% pwd
/home/server/dev/tlc5940-raspberry
xampp% make
Аноним 06/02/16 Суб 01:13:39 #586 №644473 
>>644472
Там же в readme написано
Аноним 06/02/16 Суб 01:15:58 #587 №644476 
Алзо, шапка - какая-то китайская лапша, читать невозможно
Аноним 06/02/16 Суб 01:19:07 #588 №644479 
Читай внимательно, пока не прогрокаешь во всей полноте.
Аноним 06/02/16 Суб 01:19:26 #589 №644480 
>>644462
Может так? И убери малок/фри

if (strncmp(line, "str=", 4) == 0)
{
line += 4;
char str =line;
while(
str == ' ')str++;
}

Ещё поясните за си-строки. Ели я указываю только на первый символ строки а её длина не исвесна, то значит она храниться в свободной памяти? Тогда почему какой нибудь маллок не заберёт себе часть памяти занятой этой строкой или почему следующая же перемена объявленая на стэке не затрёт это строку?
Аноним 06/02/16 Суб 01:21:13 #590 №644482 
>>644476
вот там предлагал исправить >>632019 а оп даже опечатку орфографическую ошибку в слове зделать не убрал.
Аноним 06/02/16 Суб 01:21:33 #591 №644484 
>>644480
Почему бы тебе не ебать нас нуб-вопросами и почитать, например, ритчи? Чтобы нормально освоить материал.
Аноним 06/02/16 Суб 01:23:10 #592 №644488 
>>644484
Потому что это си. всю книгу ради пары вопросов долго. Лучше Что-то интересное прочитать.
Аноним 06/02/16 Суб 01:24:16 #593 №644489 
>>644482
Двачую. Что за дебилизм думать, что раз трудно читать материал, значит он сложный? Бред! Это ты, еблан, хуево написал.
Аноним 06/02/16 Суб 01:25:11 #594 №644492 
14547111119470.png
>>644473
>>644472
>>644471
Слушайте, я вот поудалял комменты из шапки и поменял строки местами, но получаю точно те же ошибки с теми же номерами строк. При этом, если бы я копилировал либу с левым файлом, то небыло бы такого результата >>644459
В чем, мать его, дело?
Аноним 06/02/16 Суб 01:25:14 #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++;
Аноним 06/02/16 Суб 01:25:24 #596 №644495 
>>644488
Чем дальше ты будешь идти, тем больше будет таких вопросов. Того Ритчи читать дней 5 максимум, зато на выходе у тебя будет структурированный материал со всеми нюансами.
Аноним 06/02/16 Суб 01:26:03 #597 №644497 
>>644489
>трудно читать
трудно = сложно
сложно читать материал = материал сложный

Ну не удобно же вот так листать не компактную шапку.
Аноним 06/02/16 Суб 01:26:40 #598 №644499 
>>644492
Запили трансляцию на twitch, можно без звука
Аноним 06/02/16 Суб 01:28:48 #599 №644503 
>>644497
Д а т ы ч т о, а м н е в се ж е каж ет ся, ч то в се сло жн ы й ма тери ал не вс егда тр удн о чи т а ть. И н ао бо ро т.
Аноним 06/02/16 Суб 01:30:21 #600 №644506 
>>644417
Так получается, что при проверке программа падает даже при нормальных вводных данных. Пиздец.
Аноним 06/02/16 Суб 01:32:44 #601 №644512 
14547115642750.png
>>644503
Ты так не шути больше. У меня лиса иногда буквы ворует и долго не возвращает.
Аноним 06/02/16 Суб 01:33:39 #602 №644515 
>>644506
Иди нахуй читать основы, заебал
Аноним 06/02/16 Суб 01:34:42 #603 №644517 
>>644515
Нахуй мне основы? Я вообще на другом ЯП пишу. Просто на задании попался С++ код, а я нихуя не знаю. Хули вам помочь-то, блядь?
Аноним 06/02/16 Суб 01:36:28 #604 №644521 
>>644493
Там где курсив начинается и заканчивается звёздочки стоят
Аноним 06/02/16 Суб 01:37:59 #605 №644524 
>>644499
Может так и сделаю, но не сегодня. Спасибо за помощь!
Аноним 06/02/16 Суб 01:39:11 #606 №644529 
>>644517
Я ебал тебе помогать
Аноним 06/02/16 Суб 01:40:31 #607 №644535 
>>644521
Теперь нарушена нормальная работа программы.
Аноним 06/02/16 Суб 01:41:40 #608 №644540 
>>644535
Как так? Покажи что ты получил и что должно быть.
Аноним 06/02/16 Суб 01:44:06 #609 №644547 
>>644540
В общем, у меня CTF. Большинство заданий я выполнил, а вот с исправлением С++ кода у меня проблемы. Даётся этот код. Нужно починить его чтобы он корректно работал и нужно убрать уязвимости в коде. Есть комментарий:

// STRING ECHO
//
// Sample usage:
// strecho repeat=4,str=pleaseechome

Я читал статьи - нихуя не понимаю и поэтому пришёл сюда. Сам я питоноблядь.
Аноним 06/02/16 Суб 01:48:03 #610 №644556 
>>644480
>>644547
Оба варианта должны работать. Что вот этот выводит?
Аноним 06/02/16 Суб 01:50:41 #611 №644568 
>>644556
Я правильно понял?

if (strncmp(line, "str=", 4) == 0)
{
line += 4;
char (звёздочка) str = line;
while((звёздочка)str == ' ')str++;
}
Аноним 06/02/16 Суб 01:52:26 #612 №644576 
>>644556
char str = (char );
А что тут не так?
source.cpp(14) : error C2059: syntax error : ';'
Аноним 06/02/16 Суб 01:54:43 #613 №644581 
>>644576
ты что указателю присваиваешь? эта строчка не нужна.
>>644568
Да. Не работает? Что на тот тест который ты кидал выводит?
Аноним 06/02/16 Суб 01:58:32 #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 утра, а я не могу решить эти таски.
Аноним 06/02/16 Суб 02:01:23 #615 №644593 
>>644588
char str = (char )malloc(100);
...
str = strtok(line, " ");
...
free(str);

Освобождаешь ты память по указателю на подстроку. Утечка + краш на выходе.

К тому же strtok вернет только первый токен перед пробелом. Как именно уязвимость заюзать - интереснее.

Лучше дай условие полное, какой цтф ебашишь чтобы это говно переписать.

Аноним 06/02/16 Суб 02:02:00 #616 №644594 
>>644593
http://ctf.sharif.edu:39455/chal/sec/problem.php?problem=ctf6_seccoding2
Аноним 06/02/16 Суб 02:02:22 #617 №644595 
>>644588
>line += strlen(str);
не заметил. тогда char (звёздочка) str в начале напиши, а в ифе просто str = line;
Аноним 06/02/16 Суб 02:04:54 #618 №644602 
>>644595
Таким образом программа работает верно, но уязвимость осталось. Их три.
Аноним 06/02/16 Суб 02:07:45 #619 №644606 
>>644593
Значит это не str переполняется. Вот он >>644602 тебе дальше помогать будет.
Аноним 06/02/16 Суб 02:08:56 #620 №644608 
>>644606
Я сам себе не помогу. Это мой пост как раз таки.
Аноним 06/02/16 Суб 02:10:30 #621 №644611 
>>644608
Тогда зачем просил сам у себя полное условие?
Аноним 06/02/16 Суб 02:11:24 #622 №644613 
>>644611
А нет. Это я номера постов перепутал. Ну ты понял.
Аноним 06/02/16 Суб 02:42:30 #623 №644634 
http://pastebin.com/UtZ4gSTW
Если я буду вбрасывать код сразу на цтф, тебе попытку засчитают?
Аноним 06/02/16 Суб 03:25:30 #624 №644658 
ОП-хуй заебал


https://2ch.hk/pr/res/631744.html
https://2ch.hk/pr/res/631744.html
https://2ch.hk/pr/res/631744.html
Аноним 06/02/16 Суб 03:26:12 #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/02/16 Суб 11:37:48 #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/02/16 Суб 17:32:52 #627 №645071 
>>631744 (OP)
Сейчас часто встречаются вакансии программиста на чистом C.
Кто-нибудь может мне обьяснить... ЗАЧЕМ?
Аноним 06/02/16 Суб 17:36:05 #628 №645076 
>>645071
л е г а с и г о в н о
е
г
а
с
и
г
о
в
н
о
Аноним 07/02/16 Вск 12:31:56 #629 №646047 
>>645071
СКОРОСТЬ!!!
МК всяких смарт тв, смартфонов и прочей хуйни.
Алсо легаси.
Аноним 10/02/16 Срд 11:18:31 #630 №648734 
Я тот ньюфаг, что недавно начал учить С++. Такой вопрос, я иногда листаю вакансии, и там где указан С++, как правило, кроме знания ++ стоит еще понимание ООП.
Я слышал что объектно-ориентированное программирование - это основная фишка ++ или я что-то не понял?
comments powered by Disqus

Отзывы и предложения