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

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

 Аноним 06/12/15 Вск 16:10:30 #1 №597189 
14494074304330.png
"Быть крестухом - едва ль есть кара строже:
Так слились с дряхлым легаси они,
Что даже червь не будет столь ничтожен!

Давно в забвеньи байтоебства дни,
Но жалкие живут лишь теми днями.
Как мучают они себя, взгляни!"

О крестобляди, гордые сердцами,
Несчастные, чьи тусклые умы
Их завели попятными путями!

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


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

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

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

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

Старший брат: >>579550 (OP)
Предыдущий: >>590823 (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
Скотт Мейерс - Effective Modern C++ (на ангельском) (2015) - https://goo.gl/uImH0J
Скотт Мейерс - Эффективное использование STL (2002) - https://goo.gl/QtS8Dc
Герб Саттер и Андрей Александреску - Стандарты программирования на языке C++ (2005) - https://goo.gl/Cpk4YR

Наиболее детальные описания языка:
Бьерн Страуструп - Язык программирования 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/e1V5BC
Герб Саттер - Решение сложных задач на 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++. Справочник разработчика (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
Куча других блогов (на ангельском) - 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, например, Code::Blocks (sudo aptitude install codeblocks) и работать в ней.

Еще у нас есть 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://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
Аноним 06/12/15 Вск 16:12:30 #2 №597193 
Обновлен черновик стандарта C++17.
В результате археологических раскопок обнаружены и добавлены ранние треды.

Старые ненумерованные треды:
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/

Предыдущие треды на архиваче:
https://arhivach.org/thread/94971/
https://arhivach.org/thread/94972/
https://arhivach.org/thread/99414/
https://arhivach.org/thread/100995/
https://arhivach.org/thread/105148/
https://arhivach.org/thread/109335/
https://arhivach.org/thread/112797/
https://arhivach.org/thread/114519/
https://arhivach.org/thread/117109/
https://arhivach.org/thread/120019/
https://arhivach.org/thread/122683/
https://arhivach.org/thread/124637/
https://arhivach.org/thread/125532/
https://arhivach.org/thread/127327/
Аноним 06/12/15 Вск 16:22:28 #3 №597215 
>>597193
>Первый тред
>Алсо, сколько в разделе бамплимит? Перекатываться не пора?
>через 10 минут тред утонул
Аноним 06/12/15 Вск 16:24:00 #4 №597219 
кстати шапка опять всё в кучу
Аноним 06/12/15 Вск 16:26:35 #5 №597225 
>>597219
Мы работаем над этим.
Аноним 06/12/15 Вск 16:28:06 #6 №597226 
>>597225
Моё мнение очень важно для вас?
Аноним 06/12/15 Вск 16:57:56 #7 №597249 
14494102764440.png
14494102764451.png
Блин, котаны, почему в таблице ниже полиному 001 соответствует индекс 002?
Почему полиному 007 соответствует индекс 128?
Статья:
http://samag.ru/archive/article/199
Аноним 06/12/15 Вск 17:13:42 #8 №597263 
Котаны. Чё делать, если везде требуют буст, а я не могу себя пересилить, блюю от одного взгляда на него? Не, серьёзно, мб я слишком слабый плюсовик, но мне только буст кажется нечетабелиным говном, к касабланке и куте например таких чувств не возникает.
Аноним 06/12/15 Вск 17:14:40 #9 №597264 
>>597263
С ним проще многое делать. Иди и учи.
Аноним 06/12/15 Вск 17:19:58 #10 №597268 
>>597263
Буст - это куча несвязанных между собой библиотек, от чего именно ты блюешь?
Аноним 06/12/15 Вск 17:21:30 #11 №597271 
>>597268
От асио до спирита.

Аноним 06/12/15 Вск 17:23:48 #12 №597273 
>>597271
А, ну тогда poor you.
Аноним 06/12/15 Вск 17:28:30 #13 №597275 
>>597249
ты в глаза долбишься что ли?
"Первая слева колонка – полиномы/индексы (обычно обозначается, как i), вторая – таблица степеней примитивного полинома 2 (обычно обозначается как alpha_of), третья – индексы, соответствующие данному полиному (обычно обозначается как index_of)"
индекс в полином подставь
Аноним 06/12/15 Вск 17:43:35 #14 №597303 
>>597275
Берем вторую строчку таблицы:
2^alpha = 2^2 = 4
Почему в первой колонке стоит 1?
Аноним 06/12/15 Вск 17:43:37 #15 №597304 
http://www.amazon.com/C-Concurrency-Action-Practical-Multithreading/dp/1933988770
Захотелось вот этим обмазаться.
А потом я вспомнил, что в мухосранских конторах C++98 навечно, и мне так грустно за себя стало...
Аноним 06/12/15 Вск 17:47:42 #16 №597310 
>>597304
Она в шапке есть. Бери и вымазывайся, лишним не будет никогда, там не только описание стандартной библиотеки C++11, но и много интересной хуиты про модель памяти и тд.
Аноним 06/12/15 Вск 18:05:47 #17 №597329 
>>597310
Не заметил ее в шапке.
Спасибо, ты меня немного вдохновил.
Вот про concurrency в effective modern c++ нихуя не понятно, какая-то слишком сложная глава, мне не хватает вводных данных. Может, эта книга мне поможет
Аноним 06/12/15 Вск 18:18:04 #18 №597337 
>>597310
Алсо, платиновый вопрос, нахуя до сих пор в шараге учат мультипоточности на основе шинапи, если это давно уже есть в стандарте, без капса и "ехал войд через войд"
Аноним 06/12/15 Вск 18:19:50 #19 №597340 
>>597337
Пушо на работе у тебя будет C++98 и "ехал войд через войд"
Аноним 06/12/15 Вск 18:25:05 #20 №597347 
>>597271
От asio и я блюю, няш. Б-г пока что миловал от низкоуровневого сетевого пердолинга. Просто сейчас много годноты перенесли в std те же smart pointers, например, и остальное уже может показаться не таким охуенным. Но, например, пулы вполне неплохи, и всякие мелочи вроде compressed_pair, облегчающие жизнь.
Аноним 06/12/15 Вск 18:25:12 #21 №597348 
>>597340
Ну так-то да, сам на свой вопрос ответил.
Но почему винапи сам по себе ужасен? Всюду капс, касты через касты, стотыщпицот мильёнав параметров у каждого метода.
Аноним 06/12/15 Вск 18:28:26 #22 №597351 
14494157066090.jpg
Сап, анон.
Что может пойти не так с этим кодом?
http://pastebin.com/BXhev9E8
Накатал тестики - вроде все норм. Может помять где-нибудь не удалится при каких-нибудь условиях? Или может все нормально тут?
Аноним 06/12/15 Вск 18:30:14 #23 №597354 
>>597348
Потому что дичайшее легаси. У Джоэля была статья, где он писал про принципы обратной совместимости у MS, что даже баги тщательно воспроизводились в новых вендах, лол. Это все тянется чуть ли не с времен, когда еще не было крестов, и ничего переписать нельзя.
Аноним 06/12/15 Вск 18:31:57 #24 №597356 
Парень, ты еще тут?
>>597100
Ты с ВМК? Расскажи что-нибудь про лабораторию компьютерной графики. Хотел пойти туда на магистратуру.
>лаба говно
Не знаю, но постоянно натыкаюсь на каких-нибудь успешных чуваков, работающих в нвидиа после всей этой движухи.

Просто нету вообще никакой альтернативы в ДС, где хоть как-то занимаются компьютерной графикой.
Аноним 06/12/15 Вск 18:34:54 #25 №597358 
>>597351
Зачем костыль с raw memory, если можно сделать unique_ptr <T> pimpl и инициализировать в конструкторе?

Алсо, ты совершенно не понимаешь сути pimpl. Надо, чтобы твоя обертка не требовала, чтобы T был complete type где-либо, кроме тел конструктора и деструктора. А ты сам же явно делаешь член размера sizeof(T), и это потребует полного определения T в момент инстанцирования обертки, что убьет всю соль твоей затеи.
Аноним 06/12/15 Вск 18:39:17 #26 №597366 
>>597347
> сетевого пердолинга
Как часто ты работаешь с сетью на крестах? И нахуя ты для этого буст используешь?
Аноним 06/12/15 Вск 18:42:23 #27 №597368 
>>597351
Зачем вы так изголяетесь?
Сами же потом забудите, что это поебень делает.
мимо C99 наркоман
Аноним 06/12/15 Вск 18:44:56 #28 №597371 
Есть библиотека в которой контейнеры для графов самых разных и встроенный операции над этими графами?
Аноним 06/12/15 Вск 18:45:27 #29 №597373 
14494167274010.png
>>597358
Да вот только что хотел снять вопрос
Не знаю зачем я это написал, зная все эти особенности
Аноним 06/12/15 Вск 18:53:40 #30 №597384 
>>597356
Считается престижной, высокий конкурс, выше только в лабы ММП вроде бы. Оно и понятно - обе модные-молодежные. По факту там лютый конвейер, тебя заставляют хуярить грязную работу, на твои интересы кладется хуй, ну и вообще на тебя всем насрать. Ламповости и годной атмосферы нет. Есть несколько олдфагов (тот же Конушин, например), они занимаются СЕРЬЕЗНЫМ БИЗНЕСОМ по пилению бабла одна продажа ГИБДД системы для распознавания номеров чего стоит. Есть стремящиеся-приближенные, им прокачивают публикации и выпускают на конференции, если хорошо лижут. Реально шарящих студентов относительно немного, вот они-то обычно уходят в нвидии и прочие годные места, но я бы не сказал, что это благодаря лабе, скорее наоборот, вся эта грызня отвлекает. Большинство студентов - лютые долбоебы как и везде на ВМК, лол, т.е. не нужно считать, что там какой-то рассадник умников из-за илитности лабы, которые фактически обменивают свой бесплатный труд на илитную корочку. Спецсеминары говно, все спижжено из стандартных курсов, которые есть на курсере даже, блядь, слайды не удосуживаются перепиливать. Общее правило - прочитать хуйню, дать на коленке придуманную хуету в качестве задания, поставить анальные требования к способу выполнения, чтобы легкая хуета таки тебя заебала, заставить студентов на курс старше проверять и ставить оценки. Профит, вы восхитительны, все заняты и не мешают вам пилить гранты.
Аноним 06/12/15 Вск 18:56:18 #31 №597388 
>>597366
>б-г миловал
Я же сказал, что не использую, лол. Мне не нужен хайлоад, только иногда коннектиться, дергать апи и вот это все.
Аноним 06/12/15 Вск 18:57:02 #32 №597389 
>>597384
Заебал со спойлерами.
Аноним 06/12/15 Вск 18:57:14 #33 №597392 
>>597371
Внезапно boost::graph.
Аноним 06/12/15 Вск 18:58:19 #34 №597394 
>>597392
А без буста? Мне тупо исходники скачать и может чего в свою программу скопипастить если получится.
Аноним 06/12/15 Вск 19:00:21 #35 №597398 
>>597384
Хорошо, спасибо.
Я подумаю.
Ты сам оттуда? Дальше учиться пойдешь куда-то?
Аноним 06/12/15 Вск 19:01:27 #36 №597399 
>>597394
http://www.ogdf.net
Аноним 06/12/15 Вск 19:03:58 #37 №597401 
>>597399
наверно подходит. спасибо
Аноним 06/12/15 Вск 19:05:07 #38 №597404 
>>597398
Тян оттуда, в магистратуру свалила на АЯ из этой клоаки.
Аноним 06/12/15 Вск 19:05:10 #39 №597405 
>>597384
БОЛЬШЕСПОЙЛЕРОВБОГУСПОЙЛЕРОВ
Аноним 06/12/15 Вск 19:06:40 #40 №597406 
>>597405
Пенiс
Аноним 06/12/15 Вск 20:40:13 #41 №597462 
Решаю задачу о рюкзаке. Почему у меня эта программа крашится с сообщением heap corruption, а на идеоне работает?

https://ideone.com/OeXGd9
Аноним 06/12/15 Вск 20:41:07 #42 №597464 
>>597462
Теперь крашится без всякой ошибки.
Аноним 06/12/15 Вск 20:42:05 #43 №597466 
>>597464
Не за что.
Аноним 06/12/15 Вск 20:43:56 #44 №597470 
Ссука, при вызове solve() программа крашится. Посоны, помогите, у меня уже жопа горит. Я даже вброшу скрины с описанием алгоритма из этого ОП-поста:

http://ru.stackoverflow.com/questions/472151/%D0%97%D0%B0%D0%B4%D0%B0%D1%87%D0%B0-%D0%BE-%D1%80%D1%8E%D0%BA%D0%B7%D0%B0%D0%BA%D0%B5-%D1%81-%D0%BC%D0%B5%D0%BC%D0%BE%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D0%B5%D0%B9


https://ideone.com/tHrvmL
Аноним 06/12/15 Вск 20:46:00 #45 №597473 
>>597470
>мемоизацией
Есть такое слово?
Аноним 06/12/15 Вск 20:48:18 #46 №597475 
>>597470
>int две звёздачки v;
Вектор векторов использовать? Может понятней станет?
Аноним 06/12/15 Вск 20:49:28 #47 №597477 
>>597475
У меня уже очко делает кульбиты на стуле, я боюсь порваться, если вектор векторов добавит еще больше ошибок.
Аноним 06/12/15 Вск 20:51:10 #48 №597481 
>>597475
Как, кстати, создать этот вектор векторов с заданными размерами?
Я видел только vector< vector<int> > v;
Как явно задать размеры?
Аноним 06/12/15 Вск 20:54:01 #49 №597487 
>>597481
vector< vector<int> > v(100,vector<int>(100));
Аноним 06/12/15 Вск 20:58:37 #50 №597496 
>>597487
В приватных полях объявил таблицу так:
vector< vector<int> > v;

В конструкторе пытаюсь задать размеры таблицы:
v(n, vector<int>(w));

Как исправить ошибку?
Аноним 06/12/15 Вск 21:00:20 #51 №597498 
Пиздец, как я забыл основы C++. Такую инициализацию вообще можно исправить? Может, в блоке private сделать указатель на вектор векторов? Но тогда, думаю, станет еще больше.
Аноним 06/12/15 Вск 21:00:38 #52 №597499 
>>597498
>станет еще больше
проблем.
Аноним 06/12/15 Вск 21:01:09 #53 №597501 
>>597496
Если работает, то ошибки нет. А если есть напиши так как работает. Я всё. Жди пока кто-то знающий придёт.
Аноним 06/12/15 Вск 21:03:34 #54 №597505 
>>597501
В блоке private: vector< vector<int> > v;
В конструкторе: v(n, vector<int>(w));
В конструкторе v подчеркнута красным. Вот код:

https://ideone.com/mj6qt0
Аноним 06/12/15 Вск 21:07:15 #55 №597510 
>>597505
Везде напиши одинаково. Только везде сразу размер указывай.
Аноним 06/12/15 Вск 21:08:51 #56 №597511 
>>597510
Я сделал вот так: создаю временный вектор в конструкторе и делаю assign. Но все равно краш.
https://ideone.com/KmRwtc

Что значит одинаково? У меня класс принимает разные параметры, я не могу задать таблицу постоянного размера.
Машграф, отсечение невидимых треугольников и пиздец. Аноним 07/12/15 Пнд 09:20:17 #57 №597819 
Анон, спасай меня пожалуйста. Пытаюсь делать прогу по машграфу, сурс - книжка древнего голландского пидора-Аммерала, нихуя не получается. Нарисовал кубик - окей. Нарисовал кубик из треугольников - окей. Пытаюсь сделать отсечение невидимых треугольников хотя бы для выпуклой фигуры (кубик) и ловлю бушлат, так как вместо невидимых, отсекается какая-то левая херня. Для каждого треугольника на экране имею мировые xyz каждой его точки, видовые xyz каждой точки (с учетом расположения камеры) и экранные xy каждой точки (с учетом удаления наблюдателя от плоскости экрана). Пытался считать через все типы координат C и D плоскости и сравнивать их с нулем - хуй, результат для них обоих один и тот же (что логично), но совсем не тот, что в книжке (что уже не очень). Помогайте. Может есть для такого случая готовый, вери изи алгоритм на 10 строчек? Или может посмотрите мой говнокод и исправите ошибку? (как-то стремно в нет выкладывать в открытую, лаба все-таки, потом еще препод приебется насчет уникальности) Ну или хоть дайте совет, как быть.
Вектор z видовой системы координат направлен в центральную точку экрана мировой, я так понимаю. Ну, по Аммералу.
Аноним 07/12/15 Пнд 09:50:58 #58 №597844 
Я так понимаю, чем больше запутанных инклудов, тем дольше билд и размер экзешника?
Аноним 07/12/15 Пнд 10:03:00 #59 №597850 
>>597844
Дольше билд - да. Больше бинарь - не обязательно.
Аноним 07/12/15 Пнд 12:12:17 #60 №597933 
>>597819
Тебе отсечение невидимых граней нужно или вообще перекрытие одних объектов другими?

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

Если у тебя перекрытие(которое в D3D/OGL решается через z-буфер) - то сложнее.
Аноним 07/12/15 Пнд 14:23:10 #61 №598027 
Аноны, есть задача оперировать большими файлами ( больше гига) и моя программа их не хавает( и сразу умирает), суть в том, есть ли какие-то библиотеки или методы работы с большими файлами?
Просто мне уже не нравится сталкиваться с тем, что приложение крашится.
Аноним 07/12/15 Пнд 14:29:47 #62 №598034 
>>597819
Опиши подробнее, что именно нужно. Или сделай z-buffer. Он в любом случае сработает(если ты сам закраску делаешь, конечно же).
Аноним 07/12/15 Пнд 14:32:06 #63 №598038 
>>598034
Поясни на счет z-bufferа и прозрачности
Аноним 07/12/15 Пнд 15:17:33 #64 №598074 
>>598027
http://stxxl.sourceforge.net/
Аноним 07/12/15 Пнд 15:20:59 #65 №598079 
>>597189 (OP)
Подскажите совсем нубу, как лучше оптимизировать код, чтобы использовался один файл (1.txt), а не два (1.txt, 2.txt).

double t[1000]={0}, p[1000]={0}, a[100];

int i=0,k=0,m=0;
ifstream in2("F:\\1.txt");
while (!in2.eof()){
in2>>a[m]; //параметр - время
m++;} //количество строк <m;
in2.close();

ifstream in("F:\\2.txt");

while (!in.eof()){
if(p!='\0'||t!='\0 '){in>>p>>t; //параметр - время
cout<<p<<" "<<t<<endl;
i++;
k++;}} //количество строк <m;
in.close();

cout<<"Требуемое время - "<<a[0]<<endl;

int n=0, nt=0, not=0;

double N = new double [m];
double
NT = new double [m];
double *NO = new double [m];
Аноним 07/12/15 Пнд 15:51:32 #66 №598119 
14494926921910.png
>>598079
Отклеилось
Аноним 07/12/15 Пнд 15:52:09 #67 №598121 
>>598038
>>598038
Что там пояснять? Сначала рисуешь в буффер. Если z - ближе, чем у уже имеющегося там пикселя - заменяешь пиксель, если дальше - не заменяешь.
>прозрачность
Не уверен на 100%, но думаю правильно будет сделать так:
1) Рисуешь все непрозрачные объекты.
2) Сортируешь по Z прозрачные объекты и рендеришь их с дальнего к ближнему.
Но подобная штука - затратная.
Обычно делают всякого рода блендинг. Например, рендеришь сначала все объекты, как непрозрачные, затем рендеришь только непрозрачные и в итоге отрисовываешь среднее значение. Можно так делать по нескольку раз. Но тут тоже есть ограничения и он как-бы "физически" не корректный в обещм смысле и является симуляцией.
Аноним 07/12/15 Пнд 15:54:05 #68 №598122 
>>598074
Спасибо, добрый анон
Аноним 07/12/15 Пнд 16:34:08 #69 №598148 
>>598079
>>598119
циклы блять какие-то, картинки. что этот код делает то?
если у тебя однородные данные, используй csv.
то есть, если бы у тебя был бы только 2.txt файл.
а если ты хочешь скрестить оба этих файла, узай xml/json. будет что-то вроде
[code]
<doc>
<f1><data1><left>2343</left><right>443</right></data1>.....</f1>

<f2><data1>2343</data1>.....</f2>
<doc>
[code]
Аноним 07/12/15 Пнд 16:37:34 #70 №598155 
В общем, анон, поясни немного.
Страус пишет, что во время выполнения программы, в производных классах создается таблица виртуальных функций(vtbl) и виртуальные указатели(vptr). Так вот, как все эти таблицы хранятся в памяти? Так же как и члены класса или как? Создаются ли всегда эти таблицы или только когда в базовом классе будет объявление virtual? Сильно не стукайте, если вопрос тупой, только начинаю с этим делом знакомиться.
Аноним 07/12/15 Пнд 16:53:31 #71 №598171 
>>598155
Стандарт не определяет как они должны выглядет, тоесть каждый разработчик компилятора решает сам. Обычно сама таблица размещается в стаической памяти (тоесть можно считать что она хранится "как члены класса") а в самих объектах хранится скрытый указатель на эту таблицу. В конструкторы копмилятор добавляет инициализацию этого указателя. Обычные методы не хранятся в такой таблице, тоесть она может и не создаваться для классов без виртуальных функций. Но там какая-то хуита есть что типа указатель на конструктор по умолчанию может храниться в такой таблице, короче это рыться нужно, тем более от компилятора может зависит.
Аноним 07/12/15 Пнд 16:58:35 #72 №598172 
>>598171
Почему стандарта для этой хуйни не запилили?
Аноним 07/12/15 Пнд 16:58:37 #73 №598173 
14494967176980.png
>>598148
Препод хочет чтобы эти два файла были в одном, как на этой пикче, иначе незачет.
И чтобы это был txt файл, без всяких там xml, json, csv, итд.
Такие дела.
Аноним 07/12/15 Пнд 17:07:12 #74 №598180 
>>598173
Так ты же читаешь из файлов. Что ты хочешь-то? Объедини их в один и читай из одного. Сделай просто для первого файла цикл не while(!eof), а цикл от 0 до кол-ва твоих перемененных.
Аноним 07/12/15 Пнд 17:08:46 #75 №598182 
>>598172
Ну типа язык для разных платформ. То что удобно и быстро на одной, может быть медленно и костыльно на другой. Стандарт очень мало именно технических деталей определяет - вон даже у типов размер четко не прописан, только относительный.
Аноним 07/12/15 Пнд 17:22:03 #76 №598198 
>>598180
>твоих перемененных
В смысле, значений, конечно же.
[FUCK] Аноним 07/12/15 Пнд 17:24:18 #77 №598203 
14494982589140.png
КУДА можно написать не знаю, короче, если кто вздумает постаивть вот это вот, знайте это говнище то еще, не стоит это использовать, именно С++
Аноним 07/12/15 Пнд 17:26:38 #78 №598205 
>>598203
на прошлом месте работы под него прогал, ничего так. После прокурки пары манов норм пошло.
Аноним 07/12/15 Пнд 17:30:54 #79 №598210 
Почему в списке книг нет Дейтелов?
[FUCK] Аноним 07/12/15 Пнд 17:33:10 #80 №598212 
>>598203
>>598205
Студию я не пользовал по полной, но вот копилятор, конечно, отстойный у них С++ый.
Аноним 07/12/15 Пнд 17:45:47 #81 №598224 
>>598210
Что это? заебал
Аноним 07/12/15 Пнд 18:01:32 #82 №598236 
>>598171
Дополню этого анона.
Таблица создаётся только если есть виртуальные функции, что логично.
>что типа указатель на конструктор по умолчанию может храниться в такой таблице
Конструктор не может быть виртуальным, соответственно, в таблице не хранится. С деструктором перепутал.
Сама таблица представляет собой массив ссылок на функции. Ссылки на функции помещаются в порядке объявления их в классе (по крайней мере для базового класса это так, для наследуемых новые, наверное, будут добавляться также в порядке объявления). Если написать на C-псевдокоде, то получится примерно такая конструкция.
// Виртуальная таблица.
typedef struct MyBaseClass_vtables
{
    void ∗first_func;
    void ∗second_func;
...
} MyBaseClass_vtables;
// Компилятор инициализирует таблицу виртуальных функций.
MyBaseClass_vtables myBaseClass_vtables =
{
    &MyBaseClass_FirstFunc,
    &MyBaseClass_SeconsFunc,
    ...
};

Если есть наследуемый класс, то функции переписываются. Тут не уверен, что будет, если взять базовый класс и от него наследуемый без переопределения и добавления виртуальных функций, может быть будет создана копия таблицы, а может будет использована ссылка на myBaseClass_vtables.
typedef struct MySecondClass_vtables
{
    MyBaseClass_vtables base_vtables; // От базового класса структура без измений.
    // Здесь будут новые виртуальные функции, которые добавлены в наследуемом классе.
    ...
} MySecondClass_vtables;
// Компилятор заполняет таблицу, добавляя новые и используя старые ссылки.
MySecondClass_vtables mySecondClass_vtables =
{
    {
        &MySecondClass_FirstFunc, // Переопределяем первую функцию
        &MyClass_SeconsFunc, // Вторую оставляем такой же.
    },
    ... // Новые функции добавляем в конец в порядке их объявления.
};
// Так выглядит класс, если его представить в C-псевдокоде.
typedef struct MyClass
{
    MyClass_vtables ∗vtables;
    ....class_members....
};

Ну и когда объявляешь класс, в конструкторе происходит копирование ссылки на виртуальную таблицу:
MyClass ∗MyClass_Constructor(MyClass ∗this)
{
    // Если класс наследуемый, то тут по цепочке вызываются конструкторы базовых классов.
    MyClass_BaseConstructor(this);

    this->vtables = &myClass_vtables;
    // Инициализируем прочее, прописанное в конструкторе.
    return this;
}

А когда вызываешь метод this->FirstFunc(...) получается как то так:
this->vtables->FirstFunc(this/Первый скрытый параметр - указатель на класс/, ....);

Забавно определён абстрактный класс (или как это у вас называется):
class AbstractClass
{
    virtual void FirstFunc() = 0;
    virtual bool SeconsFunc(some_param) = 0;
    .....
};
В таблицу помещаются пустые функции-заглушки типа такой (возвращаемого значения нет):
void SeconsFunc(some_param) {}
Хотя при компиляции, если такие функции не переопределены, будет ошибка.
Это для Майкрософтовской Визуальной Студии.
Аноним 07/12/15 Пнд 18:04:29 #83 №598238 
>>597511
Посоны, хэлб.
Аноним 07/12/15 Пнд 18:08:24 #84 №598240 
>>598212
Про компилятор не знаю, а вот оптимизатор у них был отстойный. Постоянно копирует из регистра в память, а потом из той же ячейки памяти обратно в тот же регистр, хотя может там volatale был, но не в таком же количестве мест. Ну и другое, типа функцию при многократном вызове не копирует в регистр.
Аноним 07/12/15 Пнд 18:11:01 #85 №598242 
>>598238
>24 строчка
>v = vector<n, vector<int>(w));
[FUCK] Аноним 07/12/15 Пнд 18:20:35 #86 №598248 
>>598240
Я даже код не смотрел, пытался все что есть откомпилить ихник компилятором. Ну обычные вещи стандартные библоиотеки, пример с инета.
Так он подла не понимает кучу символов в путях
налепил мне кучу беспатновых варнингов, я их заебюался отключать, в итоге я так ниче и не собрал какой то косяк в его виндовых хедерах
пока бросил может потом еще поебусь с ним
Аноним 07/12/15 Пнд 18:21:25 #87 №598250 
>>598240
Компилятор без всяких рантаймов и влц и раньше по 1,5 мб бинари хуярил. Это же блядь недоплюсово-передельфивый конпелятор, хорошо что это говно сгнило и нового легаси под него не пишут.
Аноним 07/12/15 Пнд 18:22:01 #88 №598251 
>>598250
Люто двачую.
Аноним 07/12/15 Пнд 18:22:11 #89 №598252 
Реально написать свой компилятор крестов одному? Сколько надо этому учиться?
[FUCK] Аноним 07/12/15 Пнд 18:22:21 #90 №598253 
>>598250
Ну не пизди собрал helloworld с рантаймом их
65 кб вот вчера
Аноним 07/12/15 Пнд 18:22:30 #91 №598254 
>>598242
Ошибка: параметр не является именем типа.
Аноним 07/12/15 Пнд 18:22:38 #92 №598255 
>>598252
Реально, желательно десять лет опыта, чтоб стало прям совсем заебись, но лучше не надо.
Аноним 07/12/15 Пнд 18:23:24 #93 №598256 
>>598255
А просто си?
[FUCK] Аноним 07/12/15 Пнд 18:23:59 #94 №598257 
>>598256
>>598252
Не советую если как тебе уже сказали у тебя нету 10 - 15 + опыта.
Можно С, но так просто для себя. Напиши интерпритатор
Аноним 07/12/15 Пнд 18:25:32 #95 №598261 
>>598257
си и си++ одинаково писать? А ассемблер? Или что можно простого написать?
[FUCK] Аноним 07/12/15 Пнд 18:28:50 #96 №598266 
>>598261
Да все равно че пиши уже
Аноним 07/12/15 Пнд 18:30:29 #97 №598268 
>>598261
Прежде, чем писать компилятор, надо сначала интерпретатор написать. Начни с него. Для C проще.
[FUCK] Аноним 07/12/15 Пнд 18:31:39 #98 №598269 
14495022991500.png
Короче вот список говна которые я нашел в нем пока пытался откопилить обычную залупу из инета через makefile.
Без студии.
Не поддерживает такие пути: dir/fuck/file.cpp надо меня на виндовые \
Не понимает в путях: - [ ] и еще какие то символы.
Нет многих фишек C/C++ при обяявлении переменных
приходится исправлять все под компилятор
Не понимает __restrict
И какой то косяк в виндовых стандартных header'ах
Аноним 07/12/15 Пнд 18:31:42 #99 №598270 
>>598266
Если ты ответил на вопрос что писать, то я иммел ввиду какой компилятор. Хочу такой компилятор который на выходе будет давать реально работающую программу, а не интерпритатор. Может с брейнфака начать? Как такое сделать. Реквестирую литературу
[FUCK] Аноним 07/12/15 Пнд 18:31:56 #100 №598271 
>>598268
Верно говоришь
[FUCK] Аноним 07/12/15 Пнд 18:32:27 #101 №598272 
>>598270
Ты с нуля только залупу получишь а не программу
Аноним 07/12/15 Пнд 18:32:30 #102 №598273 
>>598269
>Не понимает __restrict
Я тоже.
Аноним 07/12/15 Пнд 18:33:53 #103 №598275 
>>598272
окей. предположим я уже написал интерпритатор брэйнфака. Что дальше? Дай литературу чтобы я сам мог понять что делать, но не слишком большую. Тот тысечастраничник с драконом на обложке читать не буду.
[FUCK] Аноним 07/12/15 Пнд 18:35:22 #104 №598277 
>>598273
Ну Википедию почитай че ?
Аноним 07/12/15 Пнд 18:37:59 #105 №598281 
>>598253
Ты уверен, что статически слинковал их?
Хуй знает что сейчас, я последний раз пользовался 6 или 7-й версией (помю что она была в комплекте с дельфи 7 на одном CD) когда только вкатывался.
Ради тебя только что перебилдил в студии с /O1 (мин. размер) в статической и динамической линковке - 88 и 15 мб соответственно, попизди мне ещё.
[FUCK] Аноним 07/12/15 Пнд 18:38:43 #106 №598283 
>>598275
>>598281
Да конечно уверен могу бинарник кинуть и инструкцию как собрать
Аноним 07/12/15 Пнд 18:38:51 #107 №598284 
>>598281
>мб
кб, конешно.
Аноним 07/12/15 Пнд 18:39:41 #108 №598286 
>>598275
Тебе надо знать формат PE и/или ELF файла, ассемблер. Пока хватит, иди учи.
Интерпретатор того же C вещь не простая, а ты на компилятор уже замахиваешься.
[FUCK] Аноним 07/12/15 Пнд 18:42:31 #109 №598290 
>>598284
Чистый Hello World
62,464 bytes
Embarcadero\Studio 17
[FUCK] Аноним 07/12/15 Пнд 18:44:48 #110 №598292 
>>598290
Static link Multi THreaded
Аноним 07/12/15 Пнд 18:47:50 #111 №598296 
>>598252
Нет. Есть вот такой челлендж: http://www.cppgm.org/, пару лет назад он проходил, зарегистрировалось более тысячи участников, до конца не дошел никто.

В 90-х чуваки из ИСП пилили для бельгийцев компилятор, но их было трое, компилятор получился багованный, и даже на такое они потратили несколько лет, а ведь стандарт был меньше в полтора раза тогда. Серьезно, лучше даже не пытайся. Хочешь заниматься этим - закоммить в clang что-нибудь полезное.
Аноним 07/12/15 Пнд 18:50:03 #112 №598299 
>>598270
Книгу дракона читай и охуевай.
Аноним 07/12/15 Пнд 18:51:20 #113 №598300 
>>598275
>Тот тысечастраничник с драконом на обложке читать не буду.
Для разработки компиляторов этот тысячестраничник это введение, для легкого чтения, так сказать.
Аноним 07/12/15 Пнд 18:53:39 #114 №598301 
>>598281
clang win32 - 160 кб
vc++ 14.0 - 180 кб
mingw win32 - 240 кб
Бля, что у вас там за йоба? Может, мне тоже ее поставить, лол?
[FUCK] Аноним 07/12/15 Пнд 18:53:39 #115 №598302 
>>598296
Not Found
The requested URL /, was not found on this server.
ДА ЭТО троль какой то подзалупный пьяный тут выебывается наверно.
Аноним 07/12/15 Пнд 18:54:14 #116 №598304 
>>598302
запятая
Аноним 07/12/15 Пнд 18:54:46 #117 №598306 
>>598300
лол а что потом читают?
[FUCK] Аноним 07/12/15 Пнд 18:57:50 #118 №598310 
>>598301
runtime vc vc ++/clang 95,744 kb
runtime mingw - clang/gcc 15,360 bytes
Аноним 07/12/15 Пнд 18:58:14 #119 №598311 
>>598171
>>598236
Спасибо, вроде более понятно стало.
[FUCK] Аноним 07/12/15 Пнд 18:59:11 #120 №598312 
>>598310
Только static
вот как есть у меня
[FUCK] Аноним 07/12/15 Пнд 19:01:01 #121 №598314 
>>598312
Да кстати это консольные
виндовые не смотрел
Аноним 07/12/15 Пнд 19:03:10 #122 №598316 
>>598310
>runtime vc vc ++/clang 95,744 kb
С отключённой оптимизацией аналогично.
[FUCK] Аноним 07/12/15 Пнд 19:03:37 #123 №598317 
>>598316
у меня оптимизация всегда стоит на full speed
а не на size
Аноним 07/12/15 Пнд 19:04:19 #124 №598319 
>>598317
>>598316
Вы ещё исходники своих хэлоувордоа сравните
[FUCK] Аноним 07/12/15 Пнд 19:04:23 #125 №598320 
>>598316
Значить все правильно
а вот с mingw у тебя че так много получилось ?
[FUCK] Аноним 07/12/15 Пнд 19:04:44 #126 №598321 
>>598319
main printf helloworld
хули там сравнивать лол
[FUCK] Аноним 07/12/15 Пнд 19:06:18 #127 №598323 
>>598319
хотя бля вдруг у него cpp
cout >> внатуре может бинарник другйо будет
Аноним 07/12/15 Пнд 19:07:55 #128 №598325 
>>598321
>printf
cout и using namespce std
Вывод не через main а в конструкторе рандомного класса
[FUCK] Аноним 07/12/15 Пнд 19:14:22 #129 №598335 
>>598325
159,232 bytes против 95,744
printf против cout <<
#define _CRT_SECURE_NO_WARNINGS

#include <stdio.h>
#include <windows.h>

#include "inc/types.h"
#include "../build.h"

#include <iostream>

using namespace std;

int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, INT nCmdShow )
//int main( int argv, char argc )
{
UDWORD i;

// printf("Hello World\n");
cout << "Hello world!!!\n";
}
Аноним 07/12/15 Пнд 19:16:43 #130 №598339 
>>598254
>Ошибка: параметр не является именем типа.
Ты о чём? Там синтаксическая ошибка.
Аноним 07/12/15 Пнд 19:17:21 #131 №598340 
>>598339
Нет. Орфографическая.
Аноним 07/12/15 Пнд 19:25:08 #132 №598344 
>>598339
Этот код не работает ни в виде v = vector<n, vector<int>(w)>; ни в виде v = vector(n, vector<int>(w));
Как правильно?
Аноним 07/12/15 Пнд 19:36:26 #133 №598354 
>>598314
>>598302
>>598312
>FUCK
Трипоблядь хуже червя-пидора. Давайте скажем моче, чтобы стер этого уебка нахуй, посоны.
Аноним 07/12/15 Пнд 19:38:11 #134 №598355 
>>598344
v = vector<n, vector<int>(w)>();
Аноним 07/12/15 Пнд 19:41:12 #135 №598360 
>>598355
Лан, я обосрался
v = vector<pair<string, vector<int>>>();
Аноним 07/12/15 Пнд 19:43:15 #136 №598363 
>>598224
Гугли "Дейтел C++"
Аноним 07/12/15 Пнд 19:45:30 #137 №598366 
>>598363
1.5к страниц о с++. чем лучше остальных книг?
[FUCK] Аноним 07/12/15 Пнд 19:54:33 #138 №598373 
>>598354
>>598354
Не понял че ты орешь ? там нельяз фак писать ?
Аноним 07/12/15 Пнд 19:56:20 #139 №598374 
Почему здесь всегда ответ 0?
https://ideone.com/maei6Q
Аноним 07/12/15 Пнд 20:00:24 #140 №598376 
>>598374
Сука, ебучий Седжвик. Мало того, что эта мразь не может в написание чистого кода, так еще и не указал в своей книге размеры массивов.
Аноним 07/12/15 Пнд 20:05:20 #141 №598381 
>>598373
Нельзя.
Аноним 07/12/15 Пнд 20:07:12 #142 №598382 
Сука, как у меня горит от этого олимпиадного говна. Почему здесь всегда выводится ноль?
https://ideone.com/T2WjB0
[FUCK] Аноним 07/12/15 Пнд 20:18:55 #143 №598392 
>>598381
поченму ?
Аноним 07/12/15 Пнд 20:31:21 #144 №598410 
>>598382
а сколько тебе надо?
Аноним 07/12/15 Пнд 20:34:12 #145 №598417 
>>598382
В 29 строке вылазишь за буфер.
Аноним 07/12/15 Пнд 20:35:08 #146 №598419 
Точнее в 28 строке.
Аноним 07/12/15 Пнд 20:39:06 #147 №598429 
>>598417
Это почему? Массив же большего размера, чем cap. Я его с запасом создал.
Аноним 07/12/15 Пнд 20:42:52 #148 №598442 
>>598429
У массива размер size, тоесть 50, а читаешь ты оотуда элемент с индексом cap который на первом вызове функции равен 50.
Аноним 07/12/15 Пнд 20:43:52 #149 №598444 
14495102324590.png
>>598180
Проебался 3 часа с циклами безрезультатно, хуйня какая-то выходит.
Может поможешь мне? Естестно не бесплатно.
Там на пару строк работы, но я бездарность.
Мыло пикрил.
Аноним 07/12/15 Пнд 20:50:06 #150 №598451 
>>598442
>У массива размер size, тоесть 50, а читаешь ты оотуда элемент с индексом cap который на первом вызове функции равен 50.
Точно. Чтобы на экран выводилось поменьше говна, я изменил значение const size с 100 до 50 и не посмотрел, что при этом в функцию передается тоже 50. Вот так, вроде, работает. https://ideone.com/mQbUJn
Аноним 07/12/15 Пнд 21:06:41 #151 №598469 
>>598392
Потому что шериф так сказал.
Аноним 07/12/15 Пнд 23:10:42 #152 №598564 
>>598469
А че если там пишешь чето ?
Я просто не двачер не в курсе че это значит
Аноним 07/12/15 Пнд 23:15:19 #153 №598566 
14495193194140.png
Embarcadero Studio 10 - бывший Borland C++
В своей 64 битной версии компилятора bcc64.exe - использует clang.
Аноним 07/12/15 Пнд 23:20:24 #154 №598572 
>>597933
Поясни-ка про отсечение граней? Ну, с какой вершины считать-то, лол? Как по порядку, с какой начинать и как вообще это связано с видимостью?
>>598121
У меня вся рисовка - это соединение трех точек линиями, z координата вообще исчезает на последнем этапе отрисовки, это про координаты всего лишь лаба, ну и все руками с нуля, соответственно.
Аноним 07/12/15 Пнд 23:26:30 #155 №598576 
>>598572
Это ты на каком курсе такими вещами занимаешься?
Аноним 07/12/15 Пнд 23:32:42 #156 №598579 
>>598576
Типа хуйня, лол? Это еще неплохо, большинство и это не может. Это же типа одна лаба.
Аноним 07/12/15 Пнд 23:34:09 #157 №598582 
>>598572
Я просто правда не понимаю, в чем суть "порядка вершин" в треугольнике, они же равноправны. От самой ближней к самой дальней по расстоянию до начала видовых координат? Или как вообще? Все равно как-то нелогично.
Аноним 07/12/15 Пнд 23:36:04 #158 №598583 
>>598579
> Типа хуйня, лол? Это еще неплохо, большинство и это не может. Это же типа одна лаба.
Мне всё равно что это хуйня или не хуйня, кто может или не может.
Просто, скорее всего, у меня скоро, наверное, тоже будет что-то связанной с графикой и вот я хочу знать примерно какие задачи там будут.
Аноним 07/12/15 Пнд 23:40:27 #159 №598588 
>>598583
It depends. Разные вузы, разные направления...
Аноним 07/12/15 Пнд 23:41:14 #160 №598589 
>>598588
Ну расскажи тогда чем ты там занимаешься, не в крысу.
Аноним 07/12/15 Пнд 23:50:38 #161 №598596 
>>598589
А, да не вопрос, я просто подумал, что это стёб. У меня машграф, это рисование с нуля. Потом будет распознавание образов, это, соответственно, наоборот. Но это не нейронные сети (это отдельно и скорее факультативом, хотя где-то проходят и как предмет), это скорее математическое выделение закономерностей. Книжки у нас очень древние, с кучей ошибок и писанные даже не для принтеров, а для плоттеров - Аммерал, Павлидис... Никто нихера не делает, но это канает, если умеешь списывать на контрольных разную теорию. Простенькие задачки, осложняющиеся тем, что какой-то алгоритм может не работать, информации толковой в рунете нет, двач молчит, а "ненужную математику" ты уже успел позабыть и какое там произведение векторов что-то говорит о их взаимном направлении, не помнишь. В более продвинутом варианте - лабы на несколько тысяч строк каждая, но с тем же смыслом - нарисуйте проволочную фигуру, повращайте её по осям, отсеките грани, перспективные преобразования. Учат графике стабильно хуево, независимо от вуза, похоже.
Аноним 07/12/15 Пнд 23:58:05 #162 №598601 
14495218851510.png
14495218851521.png
>>598596
Попробуй вот эти книги.
Суть не в том, что книги старые, а в том что математика особенно основы не меняются десятилетиями.
Вот есть канал у чувака, он там софтварный рендер пилил, правда на джаве:
https://www.youtube.com/playlist?list=PLEETnX-uPtBUbVOok816vTl1K9vV1GgH5

Вот ещё серия статей есть, уже на с++:
http://habrahabr.ru/post/248153/
Аноним 08/12/15 Втр 00:38:04 #163 №598619 
std::unique_ptr<..>& это норма? Ссылки на умные указатели использовать?
Аноним 08/12/15 Втр 01:20:52 #164 №598652 
>>598582

Порядок вершин определяет направление нормали и соответственно какая грань передняя, а какая задняя
Аноним 08/12/15 Втр 01:24:52 #165 №598658 
>>598619
Конечно. Например, сделать геттер, который возвращает ссылку.
Аноним 08/12/15 Втр 01:44:55 #166 №598682 
>>598658
Спасиб, если не троллишь.
Часто так делаю, чтобы избежать shared/raw
Аноним 08/12/15 Втр 02:06:59 #167 №598696 
>>598652
Я не понимаю, как связана нормаль и порядок вершин, вот вообще.
Аноним 08/12/15 Втр 02:22:39 #168 №598704 
14495305598390.png
>>598696
>>598696
Аноним 08/12/15 Втр 02:24:03 #169 №598707 
>>598682
Я бы возвращал обычный указатель через unique_ptr::get.
Объявление геттера короче получается, а смысл тот же
Аноним 08/12/15 Втр 03:50:52 #170 №598715 
>>598704
А, ну так я так и пытался делать, хуйня, само по себе направление нормали ни на что не влияет. И скалярное произведение между ним и вектором начало координат-позиция камеры, похоже, тоже. Ебал рот, ебал рот Аммерала и всю его страну. Более того, я сейчас попытался запилить через расстояния от камеры до вершин треугольника (типа если один полностью дальше всеми вершинами, то его не видно). И в одном случае таки получилось, зато во всех остальных рисует хуйню.
Аноним 08/12/15 Втр 04:05:25 #171 №598716 
14495367259590.png
>>598715
Как не влияет, если влияет?
Те треугольники, у которых нормаль показывает в экран - рисуешь, а те, что не показывают в экран - не рисуешь.
Вот пикча.
Грубо говоря, если ты будешь делать куб и расположишь систему координат так, чтобы y показывала прям в камеру, то достаточно будет не рисовать те грани, которые будут иметь отрицательную Y компоненту в нормалях их вершин.
Чтобы еще было понятнее:
Представь вершину, из которой исходит нормаль. Теперь представь вокруг этой точки сферу, радиусом с твою нормаль. Теперь представь, что мы провели плоскость, параллельную нашей камере через эту точку и разбили сферу на дву полусферы. Так вот, если нормаль окажется в сфере со стороны камеры - то рисуем, так как треугольник повернут к нам лицом. А если в другой сфере - то не рисуем, так как треугольник указывает лицевой стороной от камеры.
Аноним 08/12/15 Втр 04:05:27 #172 №598717 
>>598707
Иногда нужно вернуть именно ссылку, чтобы иметь возможность дергать методы самого unique_ptr.
Аноним 08/12/15 Втр 04:06:46 #173 №598718 
>>598716
Это еще Кармак придумал, не?
Аноним 08/12/15 Втр 04:16:30 #174 №598722 
>>598718
Не знаю кто придумал, но это достаточно очевидно, если знаешь, что такое нормаль.
Аноним 08/12/15 Втр 08:52:37 #175 №598762 
>>598444
хелп
Аноним 08/12/15 Втр 11:28:16 #176 №598895 
Как отследить создание шаблона функции во время выполнения? Как во время выполнения узнать существует ли какая-либо реализация шаблона функции, не создавая ее?
Аноним 08/12/15 Втр 11:53:38 #177 №598933 
>>598895
Шаблоные функции во время компиляции создаются.
Аноним 08/12/15 Втр 12:29:28 #178 №598949 
Есть 1 код и он работает. Задача сделать его красивым.
http://pastebin.com/y9jaQ2Lw

int v[101][101];
int w[101][101];
Заменить на вектор. И сделать typedef с динамическим размером матрицы если это возможно.

ifs>>m>>n>>y1>>x1>>y2>>x2>>t;
Не трогать т.к. тесты кривые и это правильный порядок.

for(int i=1;i<=n;i++)
for(int j=1;j<=m;j++)
Есть способ записать это короче?

И самое главное. Избавиться от temp. Он нужен т.к. если делать push(check()) и внутри функции не вызовется return, то это ошибка.
Аноним 08/12/15 Втр 12:47:52 #179 №598964 
>>598716
Я либо делаю что-то не так (нахожу координаты нормали или не с тем вектором его перемножаю), либо не понимаю суть. Кинь фейкомыло, залью написанное на идион, ибо
>как-то стремно в нет выкладывать в открытую, лаба все-таки, потом еще препод приебется насчет уникальности
Глянешь?
Аноним 08/12/15 Втр 12:50:17 #180 №598966 
>>598964
Зашифруй лол
Аноним 08/12/15 Втр 12:57:18 #181 №598971 
>>598966
Ну да, пасс 2ч.хк. Или как его разбирать?
Аноним 08/12/15 Втр 13:00:27 #182 №598976 
>>598971
да. на ргхост архив с пассом. обычно 3 символа,но можно и больше. или делай надёшный пароль и кинь в тред. кроме нас никто его не узнает и не нагуглит. не разбираюсь в твоей лабе. просто больше человек посмотрят и подскажут
Аноним 08/12/15 Втр 13:00:52 #183 №598977 
>>598964
>как-то стремно в нет выкладывать в открытую, лаба все-таки, потом еще препод приебется насчет уникальности
>лаба
Препод гуглит код для каждой лабы? Вы там ебанулись? Ну создай аккаунт на гх
Аноним 08/12/15 Втр 13:02:09 #184 №598980 
>>598977
Если бы я был препод я бы гуглил условия лабы и сданный код.
мимо
Аноним 08/12/15 Втр 13:03:45 #185 №598982 
>>598977
Мой препод гуглит.
Аноним 08/12/15 Втр 13:18:35 #186 №598994 
>>598980
Слишком трудно производить обфускации в стиле смен имен переменных и операторов управления потоком.
Аноним 08/12/15 Втр 14:55:34 #187 №599070 
Хеллоуворлдщик на связи. Где-то давно читал, что байт-код это плохо и тормознуто. Решил таки в 30 лет начать изучать кресты и что я вижу в шапке? На винду оп-хуй рекомендует ставить Visual Studio! Но ведь это байткод! Верны ли мои опасения?
Аноним 08/12/15 Втр 14:58:20 #188 №599074 
14495759002420.png
>>599070
>Но ведь это байткод!
Аноним 08/12/15 Втр 14:58:45 #189 №599075 
>>599070
>байт-код это плохо и тормознуто
Как тогда в собственном движке скриптовать локации и динамических персонажей? Я думал, что считывается последовательность байт, где каждый из них является командой, а последующие X байт - параметрми.
Аноним 08/12/15 Втр 15:07:21 #190 №599084 
14495764411330.jpg
>>599075
А движки к игорям тоже через в Visual C++ пишут?
Аноним 08/12/15 Втр 15:11:21 #191 №599089 
>>599070
При установке вс тебя заставляют подписать кровью контракт по которому тебе запрещается использовать другие компиляторы кроме майкрософтовского?
Аноним 08/12/15 Втр 15:38:59 #192 №599107 
>>598933
Как узнать создана ли какая-либо реализация шаблона функции?
Аноним 08/12/15 Втр 15:43:50 #193 №599111 
>>599084
Какая разница и причем тут байт-код?
Аноним 08/12/15 Втр 16:40:46 #194 №599163 
>>599070
MSVC - вполне прекрасный компилятор, собирающий в машинный код. Программы, к слову, получаются быстрее и меньше, чем в MinGW.

В байт-код собирается либо C#-код, либо C++ CLI. Если не хочешь собирать в байт-код, просто не выбирай эти опции при создании проекта.
Аноним 08/12/15 Втр 17:19:35 #195 №599192 
>>598977
>>598976
Спасибо, аноны, отбой. Сдал, поздравьте) Если приведу к человеческому виду, залью с пометкой "двач образовательный", лол. Забил на эти вектора все, бред, нихуя не получается, сделал через расстояние от позиции камеры до вершин, ну и сравнения, соответственно. Сдал первым с потока :3
Аноним 08/12/15 Втр 17:20:23 #196 №599194 
>>598895
Выводи сигнатуру в stdout или куда хочешь с помошью препроцессора:
__FILE__
__LINE__
__FUNCTION__ или __PRETTY_FUNCTION__
Аноним 08/12/15 Втр 17:21:29 #197 №599196 
14495844892070.png
14495844892091.png
>>599192
Бля, чет я совсем охуел смайлоебить в тематике. Вот шлюха и аниме для комплекта.
Аноним 08/12/15 Втр 17:21:40 #198 №599199 
>>599192
Уже сдал чтоль? Быстро.
Аноним 08/12/15 Втр 17:24:59 #199 №599206 
>>599192
>сделал через расстояние от позиции камеры до вершин
Отвратительно. Пошел нахуй из треда.
Аноним 08/12/15 Втр 17:26:23 #200 №599208 
>>598949
Бамп вопросу. Как поправить?
Аноним 08/12/15 Втр 17:29:53 #201 №599215 
>>599199
Так я сдавал-то хз сколько, это единственный пункт был, который я не знал, как делать.
>>599206
Чего так? Все равно оно работает только для выпуклых фигур.
Аноним 08/12/15 Втр 17:33:06 #202 №599223 
>>599215
Потому что будьте объект чуть более удалённым - и всё твоё представление поломается.

Читни Франка Луну, 4-5 главы. Там всё написано.
Аноним 08/12/15 Втр 17:35:49 #203 №599230 
>>599223
Где ж ты раньше был, няша? Гляну
Аноним 08/12/15 Втр 17:39:34 #204 №599235 
>>599230
У Франка Луны просто написано, как это в DX11 реализовано. А тебе нужно под эту тему велосипед написать. Хотя там расписано достаточно подробно и понятно.

И да, я отвечал тебе >>597933
Аноним 08/12/15 Втр 20:32:32 #205 №599379 
>>598982
Я и тред этот мониторю. // Препод
мимо хуй :3
Аноним 08/12/15 Втр 20:34:43 #206 №599382 
>>599107
Если нужна то создается, если не нужна то не создается.
Аноним 08/12/15 Втр 20:35:03 #207 №599383 
>>599107
Можно попробовать #pragma message или типа того

Загугли c++ template print actual types для начала

И расскажи, зачем оно тебе
Аноним 08/12/15 Втр 20:43:12 #208 №599393 
Программа для подсчета логических строк кода. Правильна ли логика?
http://ideone.com/5N0ere
Аноним 08/12/15 Втр 20:47:23 #209 №599401 
>>599393
>Программа
>логика
Опиши логику.
Аноним 08/12/15 Втр 20:47:52 #210 №599403 
>>599401
В коде все написано
Аноним 08/12/15 Втр 21:15:47 #211 №599432 
>>599403
Подсчёт строк поломается на таком коде:
void main(void){printf(";;;;;;;;;;;;;;;;;;;;;;;;;;\n");}
Аноним 08/12/15 Втр 21:44:39 #212 №599463 
14496002799740.png
Запили-ка, проги, Антуан. Плачу отсосом с проглотом. Как вариант - паком 2д и 3д тянок на 300 мб.
Аноним 08/12/15 Втр 21:46:20 #213 №599465 
>>599463
Город?
Аноним 08/12/15 Втр 21:47:07 #214 №599466 
>>599463
Возраст?
Аноним 08/12/15 Втр 21:47:34 #215 №599467 
>>599432
Выдача: 0
Не читал но осуждаешь?
Аноним 08/12/15 Втр 21:48:45 #216 №599469 
>>599467
>>599432
Точнее 2. Я по ошибке только ";;;;;;;;;;;;;;;;;;;;;;;;;;\n" копипастнул.

Аноним 08/12/15 Втр 23:04:34 #217 №599540 
>>599107
Через наш любимый хак с регистрацией через friend и constexpr, очевидно же.
Аноним 08/12/15 Втр 23:06:43 #218 №599543 
>>599070
Что ты несешь, лол. На MSVS можно писать на C#, пистоне и дохуя на чем. На C++ можно писать с CLI или без, в последнем случае никакого байт-кода не будет.
Аноним 08/12/15 Втр 23:30:04 #219 №599569 
>>599070
Visual Studio умеет компилировать C++ как в байт-код .NET (CLI), так и в машинный (x86 или x64), в зависимости от типа проекта, выбираемого при создании.
Аноним 09/12/15 Срд 10:03:57 #220 №599782 
>>598949
Бамп.
Аноним 09/12/15 Срд 10:09:23 #221 №599783 
>>599782
laba1 по определению не может быть красивой
Аноним 09/12/15 Срд 10:52:36 #222 №599819 
>>599783
Как temp убрать?
Аноним 09/12/15 Срд 12:23:23 #223 №599859 
Почему переопределение операторов ввода вывода без friend не работает, а сложение работает?
Аноним 09/12/15 Срд 13:08:53 #224 №599872 
Такой вопрос.
Допустим, есть исходники либы, хочу в нее внести изменения.
Так вот, каждый раз для того, чтобы потестить одну добавленную строчку, нахуй, это получается я должен заново все билдить в .so-шник нахуй? Есть какие-то окольные пути?
Аноним 09/12/15 Срд 13:42:46 #225 №599896 
>>599859
Почему не работает? Работает http://ideone.com/i4VJ8K
friend нужен просто для удобства - упрощенного доступа к приватным членам класса.
Возможно тебя интересовало почему операторы вывода должны обязательно быть объявлены как глобальные функции, а не функции-члены класса, как могут быть объявлены операторы типа сложения. Это связано с тем что в операторах вывода левым операндом является объект другого класса, а не того для которого переопределяется операция. У всех операторов которые переопределяются с помощью функций-членов класса левым операндом должен быть объект этого класса.
Аноним 09/12/15 Срд 14:29:17 #226 №599921 
>>599872
Инкрементальная сборка.

Аноним 09/12/15 Срд 14:53:58 #227 №599932 
>>599896
>не функции-члены класса
Странно, но у меня получилось сделать их методом приписав friend. Это возможно или я что-то напутал?
Аноним 09/12/15 Срд 16:09:22 #228 №599991 
>>599921
Поясняй!
Аноним 09/12/15 Срд 16:10:55 #229 №599992 
>>599991
Пояснил тебе за щёку. Проверяй!
Аноним 09/12/15 Срд 16:16:49 #230 №599995 
>>599991
https://www.google.ru/webhp?sourceid=chrome-instant&ion=1&espv=2&ie=UTF-8#q=incremental%20build%20c%2B%2B
Пояснил, проверяй.

Для овощей:
каждая пара .h+.cpp сначала конпелируется в .o, и только потом линкуется в готовый .so. Так вот - инк. сборка - способ пересобирать только изменённый модуль (собрать 1 раз полностью в любом случае придётся <3 саси).
Аноним 09/12/15 Срд 16:22:32 #231 №600004 
>>599995
Окей, пидар, выебал тебя в анал,спасибо.
Аноним 09/12/15 Срд 16:25:51 #232 №600008 
>>599859
Потому что cout << a эквивалентно operator<< (cout, a). Если ты делаешь методом, то *a.this неявно передается всегда первым параметром, а тебе нужно вторым, смекаешь? Поэтому ты можешь сделать методом << для сущности, которая выводит (например, для ostream и cout так и сделано), можешь сделать методом сложение (там слагаемые однотипны и без разницы), но тут тебе придется делать friend. Специально для твоего удобства можно написать определение функции сразу после friend, не вынося за пределы класса, тогда читается лучше, но это все равно будет внешняя функция. Такие дела.

>>599896
Здесь написана неработающая хуйня. 22 строчка не скомпилируется, потому что такой operator<< требует трех параметров. Попробуй нажать run в ideone и увидишь.
Аноним 09/12/15 Срд 16:51:47 #233 №600017 
>>600008
>но это все равно будет внешняя функция
Это хорошо или плохо?
Аноним 09/12/15 Срд 17:11:28 #234 №600024 
14496702890150.png
Пикрил код и вывод. Аноны, почему на первом дампе адрес первого элемента отличается от остальных дампов?
Аноним 09/12/15 Срд 17:16:06 #235 №600029 
>>600024
Ладно. В дебаге посмотрел - у итератора на vec.begin всегда один адрес. Мб я вывожу неправильно хуй знает
Аноним 09/12/15 Срд 17:44:08 #236 №600045 
>>600017
Не хорошо и не плохо, просто своя специфика. И альтернатив все равно нет, так что делай и не выебуйся.
Аноним 09/12/15 Срд 17:47:04 #237 №600046 
>>600024
Адрес будет меняться из-за стратегии аллокации вектора (т.е сколько памяти он будет резервить при увеличении элементов в векторе). Т.е, например, для 2 элементов будет один кусок памяти, для 4 другой. В студии вроде каждый раз в 2 раза увеличивается.
Аноним 09/12/15 Срд 17:47:29 #238 №600047 
>>600029
>_Ptr
Я бы предположил, что это вот из-за этого. Формально ты не можешь использовать члены с подчеркиванием в начале имени, они служебные и не документированные. Вместо указателя там может быть что угодно, лол. Попробуй сделать через &(*it) лучше.
Аноним 09/12/15 Срд 17:48:01 #239 №600048 
>>600046
Он же делает reserve на 4 в самом начале, там не должно быть аллокаций.
Аноним 09/12/15 Срд 17:56:06 #240 №600052 
>>600048
Судя по всему там не все так однозначно. Я только что попробывал на простом примере - reserve не повышает использование памяти, пока не начать действительно вставлять элементы в вектор. Возможно в некоторых реализация вектор не аллоцирует новуя память сразу после вызова reserve. Типа reserve просто меняет там какую-то внутреннюю переменную, а уже конгда у вектора действительно кончиться место, при следующей аллокации будет выделено именно столько сколько установил reserve. Но хуй знает, на cpprefference написано что reserve должен вызывать аллокацию.
Аноним 09/12/15 Срд 17:59:04 #241 №600055 
>>600052
Емнип, нигде не указывается, что при дефолтном конструировании capacity == 0. Так что у тебя уже оно может быть больше 4, поэтому ничего не происходит. Но это все равно не дает ответа на вопрос, почему меняется адрес.
Аноним 09/12/15 Срд 18:00:18 #242 №600058 
>>600052
Он только 1 элемент просто вставит перед резайзом. В чём смысл? Тогда 2 ресива надо делать чтобы хоть какие-нибудь профиты поиметь.
Аноним 09/12/15 Срд 18:01:37 #243 №600060 
>>600052
Нехуй брать указатели на элементы, пользуйтесь итераторами
Аноним 09/12/15 Срд 18:06:43 #244 №600066 
>>600060
Ты, блядь, не спеши, нам нужно понять, что происходит, даже если этим не будем пользоваться.
>>600052
Сейчас погонял у себя в отладчике, такой хуйни не обнаружил. capacity после конструирования 0, после reserve становится 4, все 4 раза адрес a[0] одинаковый. Т.к. я проверял адрес без итераторов, прозреваю, что проблема того чувака именно в _Ptr.
Аноним 09/12/15 Срд 18:11:18 #245 №600068 
>>600055
Имелось ввиду что создаю вектор, вызываю reserve(100000), память не изменилась - хотя reserve вроде как должен вызвать аллокацию. После нескольких пушев память аллоцируется. Из этого можно сделать вывод что reserve не вызывает аллокацию. Вектор получает новые элементы пока не превысит capaсity и тогда только аллоцирует столько сколько указано в reserve. Это объяснило бы почему изменился адрес. Когда ты создал новый вектор в нем какое-то мелкое стандартное capacity. Ты вызываешь reserve - нихуя не меняется. Первый элемент уходит по определенному адресу. Ты вставляешь еще один элемент - вектор решает что самое время увеличиваться и аллоцирует новый кусок памяти в размере заданом reserve - первый элемент уходит по новому адресу.
Аноним 09/12/15 Срд 18:13:54 #246 №600071 
Сап плюсач. Помоги мне с COM портом. :3 Есть ли гайды, с пояснениями, как с ним работать - отправлять/принимать сообщения и тому подобное? В гугол пробовал но там ничего толкового не нашёл.
Аноним 09/12/15 Срд 18:21:04 #247 №600084 
>>600068
>вызываю reserve(100000), память не изменилась
Со 100000 такого быть не может по стандарту. Ты уверен, что правильно задетектил аллоцирование памяти? В отладчике смотрел, что конкретно происходило? Вангую, что ты что-то напутал, но если нет, то ты определенно можешь пилить баг-репорт, это не какой-то там мелкий баг, а охуенно серьезно.
Аноним 09/12/15 Срд 18:41:56 #248 №600109 
Аноны, помогите нубу. 22 лвл, в магистратуре оказалось, что могу заняться научкой, связанной с с++, всякие там программы для обработки данных (физик), будет наставтик. Какие камни? СЛегка знаю джаву, учил сам. Потом хочется, конечно, работать не по специальности.
Аноним 09/12/15 Срд 18:47:24 #249 №600112 
>>600109
Шарагу назови свою для начала
Аноним 09/12/15 Срд 18:48:05 #250 №600113 
>>600109
Научные программы это скучно и однообразно. Кресты предназначены для немного другого.
Аноним 09/12/15 Срд 18:48:14 #251 №600114 
>>600112
МИФИ
Аноним 09/12/15 Срд 18:48:30 #252 №600115 
>>600112
иннополис
Аноним 09/12/15 Срд 18:53:06 #253 №600119 
>>600071
Бамп.
Аноним 09/12/15 Срд 19:00:24 #254 №600126 
>>600112
Ну и? Ебана в рот
>>600113
Ну это хоть какой-то опыт+руководитель
Аноним 09/12/15 Срд 19:01:49 #255 №600128 
>>600126
>камни
Посмотри на своего препода. Таким ты будешь через 30 лет и это в лучшем случае.
Аноним 09/12/15 Срд 19:04:12 #256 №600131 
>>600128
Ебать, ну человек занимается наукой, а я-то не планирую. Ну и да, раз в года, реже в два, каждому приходит на 500к, неплохой такой бонус, учитывая, что з/п около 80+всяик ништяки от универа
Аноним 09/12/15 Срд 19:14:29 #257 №600141 
14496776694460.png
http://pastebin.com/GHJuXhFu
На старом GCC не помню версию на винде всё работает. На 4.8.1 GCC и на майкрософтовском 6.0 на сайте проверки компилируется, но с двумя тестами какая-то хуита хотя у меня они проходят. На новом GCC на линуксе выводит пикрелейтед. Что с этим кодом?
Аноним 09/12/15 Срд 19:26:56 #258 №600152 
Посоветуйте хорошую, годную книгу по 11 стандарту без занудства и словоблудия.
Аноним 09/12/15 Срд 19:36:24 #259 №600157 
>>600141
Компилятор подхватывает библиотеку в которой также есть объявление time (функция из <ctime>). Получается конфликт имен не в твою пользу.
Аноним 09/12/15 Срд 19:46:06 #260 №600165 
>>600157
Если с большой буквы писать на всех компиляторах работать будет?
Аноним 09/12/15 Срд 19:58:49 #261 №600175 
>>600165
да, лол
Аноним 09/12/15 Срд 19:59:38 #262 №600176 
>>600175
И это не только для тайм, но и для всех конфликтов имён работает?
Аноним 09/12/15 Срд 20:02:27 #263 №600181 
>>600176
язык case sensitive
если идентификаторы различаются регистром — то это разные идентификаторы
Аноним 09/12/15 Срд 20:03:26 #264 №600182 
>>600181
Я в смысле в стандартной библиотеке же имена с большой буквы не используют.
Аноним 09/12/15 Срд 20:04:40 #265 №600184 
>>600182
осиль еще неймспейсы сразу
Аноним 09/12/15 Срд 20:06:00 #266 №600187 
>>600184
Не хочу перед каждым словом std:: писать. Программы не большие обычно. Даже классы редко объявляю.
Аноним 09/12/15 Срд 20:21:12 #267 №600195 
>>600187
using std::cout;
http://en.cppreference.com/w/cpp/language/type_alias
Аноним 09/12/15 Срд 20:25:36 #268 №600199 
И все равноя не понял с этими либами.
Если я блять перекомпилировал после изменений, это мне еще заново make install делать для нее что ли, блядь.
Ахуеть вообще.
Аноним 09/12/15 Срд 20:26:07 #269 №600200 
>>600131
>считать 80к успешностью
Ну ежели так, то вкатывайся, лол.
Аноним 09/12/15 Срд 20:27:47 #270 №600202 
>>600152
Мейерс, Overview of the new C++0x.
Аноним 09/12/15 Срд 20:29:54 #271 №600204 
>>600195
Ну я же не только cout использую. Ладно. Спасибо. Заработало.
Аноним 09/12/15 Срд 20:30:29 #272 №600205 
>>600199
А я не понял что ты спросил.
Ахуеть вообще.
Аноним 09/12/15 Срд 20:38:45 #273 №600213 
>>600141
Стоп. Поясни ещё. Если в параметре функции я пишу vector<Time>& v, то у меня всё работает, а на сервере gcc 4.8.1 ошибка компиляции, а если я пишу vector<Time> v, то программу везде компилируется, но в некоторых тестах ответ не правильный лишний раз выводит некоторые пары. В чём разница и из-за чего это может быть?
Аноним 09/12/15 Срд 20:43:07 #274 №600214 
>>600200
Ты понимаешь, что я говорю про НАУКУ?
Аноним 09/12/15 Срд 20:52:23 #275 №600219 
>>600214
Не вкатывайся. Если тебя джава не понравилась, на которой писать вообще изи, то на с++ ты будешь очень сильно страдать.
Аноним 09/12/15 Срд 22:09:55 #276 №600302 
>>600214
А, так ты идейный? Хочешь двигать науку и кушать хлеб без масла? Похвально, хуле.
Аноним 09/12/15 Срд 22:15:19 #277 №600307 
>>600302
Он наоборот говорит. Вроде хочет деньги как молодой ученый получать, но при этом нихуя не делать и работать на стороне.
Аноним 09/12/15 Срд 22:19:32 #278 №600311 
>>600200
И он не называл 80к успешностью. Он сказал что это универ его на работу устроит за такую зарплату и будет ништяки ещё давать. Учитывая те 500к может и 110-120к зп планирует.
Аноним 09/12/15 Срд 22:20:40 #279 №600312 
>>600307
>>600302
Бля да нихуя я не хочу получать с науки. Хочу закончить магистратуру и попутно получить скилл в с++. Я ж не ебанутый, чтоб работать за хлеб, уже наработался.
Аноним 09/12/15 Срд 22:21:27 #280 №600314 
>>600311
Я сказал, что так получает мой научник, которому под 50 лет, и который будет меня учить.
Аноним 09/12/15 Срд 22:22:24 #281 №600315 
>>600314
Про него ты не говорил. Ладно. От нас тебе чего надо? Если что-то надо, то рассказывай всё сначала.
Аноним 09/12/15 Срд 22:32:47 #282 №600320 
>>600315
Я просто спросил не поздно ли вкатываться в с++ в 22 года? Учитывая, что будет человек, который что-то в роли наставника.
Аноним 09/12/15 Срд 22:35:59 #283 №600322 
>>600320
Нет. Но сложно и можешь не осилить. Возраст не важен.
Аноним 09/12/15 Срд 22:37:33 #284 №600323 
>>600320
Я в 25 начал и норм
Аноним 09/12/15 Срд 23:12:27 #285 №600344 
>>600205
Ну смотри. ое
Скачал я сырцы одной увесистой программы, браузера.
Часть исходников компилится в .so, остальное в исполняемый файл.
Т.е. каждый раз, когда я добавляю строчку кода, добавляю хоть одну ебаную букву в проекте, для проверки изменений мне нужно на секундочку делать make install снова, чтобы обновить .so-шки? Или есть какие-то обходные пути ?
Аноним 09/12/15 Срд 23:21:23 #286 №600359 
>>600344
Не в бинарники, а в объектные файлы компилируй. А потом только 1 отредактированный файл перекомпилируешь и весь проект слинкуешь.
Аноним 09/12/15 Срд 23:23:32 #287 №600362 
14496926128050.png
>>600344
.so is for STACKOVERFLOW
Аноним 09/12/15 Срд 23:27:09 #288 №600370 
>>600359
Блять, или ты мне дичь какую-то втираешь, или я нихуя не пойму.
При чем тут компиляция?
Аноним 09/12/15 Срд 23:30:17 #289 №600375 
>>600370
А ты сто сделать хочешь? Есть куча исходников и ты хочешь изменив 1 файл не перекомпилировать весь проект? Поясни ещё раз и другими словами.
Аноним 09/12/15 Срд 23:33:09 #290 №600377 
>>600375
>изменив 1 файл не перекомпилировать весь проект
Это и без меня блять делается.
У меня нахуй весь проект и компилируется в одну .so и пару .so.1 или что-то вроде, и исполняемый файл, который эту либу юзает.
Для того чтобы эту ебучую либу юзать, мне ее нужно закинуть в нужное место, т.е. блять в /usr/share и две еще сопровождающие ее в /usr/lib, блять
И ОНА СУКА ПОСЛЕ ПЕРЕКОМПИЛЯЦИИ НАХУЙ САМА СЕБЯ НЕ ЗАМЕНИТ в том месте, исполняемый блять файл будет жрать то говно старое, которое лежит в системных директориях, а не в build. Хули непонятного я спросил?
Аноним 09/12/15 Срд 23:35:11 #291 №600379 
>>600377
Может bush-скрипт сделаешь который сам будет эту хуиту туда ложить? Я не понял жди следующего.
Аноним 09/12/15 Срд 23:36:54 #292 №600381 
>>600379
Нихуя себе гений лучше кого более вразумительного обожду
Аноним 09/12/15 Срд 23:37:04 #293 №600382 
>>600344
В нормальной системе сборки при таком раскладе пересоберется один объектный файл, слинкуется бинарь или so'шка и Всё
Линковаться будет секунд 10 ну минуту если большой проект
Аноним 09/12/15 Срд 23:38:39 #294 №600384 
>>600381
LD_PRELOAD
Аноним 09/12/15 Срд 23:39:09 #295 №600385 
>>600379
Алсо, этот ахуительный скрипт о котором ты говоришь это просто make install, только это проблемы не решает, мне не охота срать этим говном в системные директории каждый раз когда я добавляю пробел
Аноним 09/12/15 Срд 23:40:43 #296 №600386 
>>600384
Опа.
Вот этому парнишке я бы выслал пару пакетиков чая.
Аноним 09/12/15 Срд 23:41:06 #297 №600387 
>>600344
Ты про LD_LIBRARY_PATH что ли?
Аноним 09/12/15 Срд 23:44:36 #298 №600390 
>>600384

Не оче получилось, но буду гуглить в этом направлении
Аноним 09/12/15 Срд 23:51:33 #299 №600395 
>>600390
О'кей, добавил $PWD, теперь работает.
Осталось сделать так, чтобы это распространялось и на ИДЕ.
Спасибо, анончики, давно эта хуйня терзала, оказалось просто
Аноним 09/12/15 Срд 23:58:52 #300 №600398 
>>600395
Это довольно странно, что в иде работают глобальные либы
Аноним 10/12/15 Чтв 00:02:01 #301 №600401 
>>600395
запускаешь IDE через "LD_LIBRARY_PATH=путь_к_build_директории путь-к-иде". Должно сработать.
Аноним 10/12/15 Чтв 00:17:44 #302 №600414 
>>600401
Видел такое в гугле, чому-то не прокатывает, попердолю еще.
В любом случае, я уже добился чего хотел, я и не думал что все так просто
Аноним 10/12/15 Чтв 02:36:43 #303 №600470 
>>600071
Бамп. :3
Аноним 10/12/15 Чтв 11:13:23 #304 №600614 
Есть на плюсах библиотека, реализующая модель акторов?
В идеале - опенсорсная, хоть почитаю, как реализована.

И вообще по языку вопрос: в современных плюсах хорошей практикой является использование преимущественно смарт-указателей вместо простых? Я просто сам знаю си и кресты на уровне чуть выше универских лаб - так получилось, что больше на яве практики было.
Аноним 10/12/15 Чтв 11:18:46 #305 №600617 
>>600614
Если место узкое, то можно и raw указателями ебашить.
Аноним 10/12/15 Чтв 15:45:57 #306 №600758 
Сап проганы. Планирую весной начать искать работу с++ джуном. На данный момент изучил базовые конструкции языка, сейчас осваиваю STL и фреймворк Qt.
Если кто устраивался на джуна, не впадлу, скиньте примеры тестовых заданий для джуна.
Попробую порешать и соответственно восполнить пробелы в своих знаниях.
Сам не студень, работаю несколько лет в IT (быдлоадмин), некоторые аспекты деятельности заебали, хочу перекатиться.
Аноним 10/12/15 Чтв 15:50:19 #307 №600764 
>>600758
Ты вакансию найди сначала на джуна и охуей с этих требований
Аноним 10/12/15 Чтв 15:52:52 #308 №600766 
14497519720960.png
>с++
>джуном
Аноним 10/12/15 Чтв 16:14:54 #309 №600788 
>>600764
Да вот, буквально вчера в своем мухосранске нашел:
http://tomsk.hh.ru/vacancy/15208411
Написал им в контору, так и так, пацаны, скоро в кодинг перекатываться буду, скиньте з0даний если не жалко.
Пока нихуя не ответили.
Аноним 10/12/15 Чтв 16:44:17 #310 №600834 
>>600788
>от 30 000 до 50 000 руб.
>Томск
>ДЖУН
Кек
Аноним 10/12/15 Чтв 16:56:24 #311 №600840 
>>600758
Саттер и Мейерс почитай перед собеседованием. Даёт обычно утечку памяти найти и что выведет программа с наследованием и указателями. Ещё задачку могут дать решить. Но хуй ты найдёшь работу.
Аноним 10/12/15 Чтв 17:02:37 #312 №600852 
>>600758
>с++ джуном
дык нету работки то
че ты дергаешься
Аноним 10/12/15 Чтв 17:04:37 #313 №600853 
>>600852
зачем учить?
Аноним 10/12/15 Чтв 17:13:41 #314 №600862 
>>600840
>Но хуй ты найдёшь работу.
Вакансии так-то вроде есть. Или типа, написано "джун С++", а по факту хотят бородача с 5 годами стажа?
Аноним 10/12/15 Чтв 17:15:51 #315 №600864 
>>600862
Там копейки платят. Только что на hh.ru в москве меньше 10 вакансий на джуна нашёл с указной зарплатой.
Аноним 10/12/15 Чтв 23:48:33 #316 №600900 
14497805138010.jpg
Мужики, ебать, слышал что можно на крестах сайтец себе ебнуть.
Мне как раз нужно было один пильнуть для души так сказать.
Так вот, норм это идея вообще или == выстрелу себе в ногу?
Поясните короче за все.
Аноним 11/12/15 Птн 09:56:52 #317 №600906 
Блять, пиздец.
Стараешься, учишь буст, следишь за стандартом, контрибутишь в попенсос, а все нахуя? Бестолку, РАБОТЫ ТО НЕТ)))
Пока c#/java/js альфачи коворкают в нетворкинге без задней мысли и заколачивают себе на смуззи и новую жоповозку
Аноним 11/12/15 Птн 10:24:17 #318 №600910 
>>600864
Че учить-то тогда, чтобы перекатиться и с голоду поначалу не помереть?
Кресты вроде как надежная вещь, проверенная временем. Веб-макакой не хотелось бы становиться, субъективно мне оно даунизмом кажется -- клепать веб-странички на похапе. Бекенд разве что писать.
c# прибит гвоздями к венде, java разве что остается.
Аноним 11/12/15 Птн 10:46:36 #319 №600915 
14498199961130.png
Вот такая задача на пике ебучая винда не умеет в скриншоты а пэинт в обрезание картинок и вот такой вот код http://pastebin.com/ygu9yhdB
Проходит только половина тестов. Как ускорить?
Аноним 11/12/15 Птн 12:45:20 #320 №601007 
>>600915
Я бы вообще по-другому сделал:
1) проходишь по всей карте и составляешь соответствие "сколько программистов с таким-то количеством плюсов", во время цикла отслеживаешь максимальное количество плюсов и индекс программиста с этим числом плюсов
2) по окончании цикла узнаешь, сколько программистов с максимальным количеством плюсов: если больше одного - возвращаешь 0, если один - индекс, который ты в цикле записал.
Аноним 11/12/15 Птн 14:35:34 #321 №601096 
>>600906
Да вообще. Приходишь такой с утра на работу, до обеда пишешь либу, коммитишь. А потом вспоминаешь, на дваче-то сказали, что работы нет. И уходишь домой.
Аноним 11/12/15 Птн 16:14:29 #322 №601161 
>>601096
Пришел я значит за мотивацией и примерами тестовых заданий, которые попадаются на собеседованиях.
А мне говорят, хуль пытаться, работы не завезли, зарплат нет, джуны не нужны.
Двощ мотивирующий!
Аноним 11/12/15 Птн 19:31:19 #323 №601271 
>>601007
Но это решение не рабтает.
Аноним 11/12/15 Птн 19:32:39 #324 №601274 
>>600900
Пиздец вы конечно ебать, даже нахуй не послали.
Аноним 11/12/15 Птн 19:35:49 #325 №601277 
>>601274
Ты видишь что тред полумёртвый? Тут такое не обсуждают. Хочешь что-бы на тебя обратили внимание и ответили сначала спроси про плюсы и минусы использования constexpr или как лучше дебагером пользоваться. Потом разожги конструктивный срач который за 2 дня тред в бамплимит унесёт. И в середине срача ворвись со своим вопросом.
Аноним 11/12/15 Птн 19:36:24 #326 №601278 
>>601274
Была где-то имиджборда на плюсах. Кто-то из СНГ делал, мб найдешь.

Не вижу, почему нет. Сам же сказал, для себя.
Аноним 11/12/15 Птн 19:42:58 #327 №601284 
>>601278
говнаба. imedgeboard.xyz или как-то так называется
Аноним 11/12/15 Птн 19:43:11 #328 №601285 
>>601278
Очкопидор делал
https://github.com/ololoepepe/ololord

>>601274
Иди нахуй отсюдова. Это не просто прострел ноги, это, блядь, прострел ноги через яйца - на крестах даже нормальной орм нету, а твои костыли будут по дефлоту медленнее даже ебливого похапе поделия (это кстати проверенные данные, а не пиздёшь, всё гуглится).
Я бы посоветовал посмотреть на vibe.d - не кресты конечно исправленные кресты от александерску, лан, но самое лучшее решение имхо.
Аноним 11/12/15 Птн 19:43:29 #329 №601286 
>>601284
>говнаба
На говне написана.
Аноним 11/12/15 Птн 19:44:20 #330 №601287 
>>601286
да? А я думал крестах

>>601285
А это думал на ноде
Аноним 11/12/15 Птн 19:47:58 #331 №601290 
>>600900
Кстати хотел тебе ответить смешно, но макаба зашатало и я забыл. Короче вот то что тебе надо. Фейсбук делало.
https://ru.wikipedia.org/wiki/HipHop_%28%D1%82%D1%80%D0%B0%D0%BD%D1%81%D0%BB%D1%8F%D1%82%D0%BE%D1%80%29
Аноним 11/12/15 Птн 20:46:16 #332 №601306 
>>601277
>тред полумёртвый

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

OK
Аноним 11/12/15 Птн 20:49:21 #333 №601311 
>>601306
>уходит к хуям в бамплимиты, что читать не успеваешь
Всегда успеваю. Почти не выхожу из него. И в бамплимит он не быстро уходит.

>висит в топе одного из посещаемых разделов
О топ работает. Что значит правая колонка? И этот раздел не посещаемый.
Аноним 11/12/15 Птн 20:51:05 #334 №601314 
>>600900
Нахуй, бери http://vibed.org/
Аноним 11/12/15 Птн 20:53:28 #335 №601317 
>>600900
Ulib
Аноним 11/12/15 Птн 22:12:05 #336 №601331 
>>597189 (OP)
Набросайте код, который будет читать первые n строк из std::cin и в точности выводить их в std::cout
Аноним 11/12/15 Птн 22:26:19 #337 №601342 
>>601331
А попроще чего можно?
Аноним 11/12/15 Птн 22:28:42 #338 №601344 
>>601311
>И этот раздел не посещаемый.
Мамка твоя посещаемая
Аноним 11/12/15 Птн 22:29:52 #339 №601346 
>>601342
Не смейся над нюфагом, лучше помоги.
Аноним 11/12/15 Птн 22:35:28 #340 №601354 
>>601346
так?
https://ideone.com/KsK9ob
Аноним 11/12/15 Птн 22:40:09 #341 №601359 
>>601331
vector<string> hui;
for (int i = 0; i < n; i++) {
char *buff = new char[228+1488];
cin.getline(buff, 255);
hui.push_back(move(buff));
}
for (auto i : hui)
cout << i << '\n';
Аноним 11/12/15 Птн 22:47:24 #342 №601367 
>>601354
Воспринимает пробел, как начало новой строки.
Аноним 11/12/15 Птн 22:47:30 #343 №601368 
>>601359
for (int i = 0; i < n; i++) {
hui.push_back(string());
cin >> hui;
}
for (auto i : hui)
cout << i + '\n';
Аноним 11/12/15 Птн 22:50:37 #344 №601370 
>>601367
правильно если этого не над то гетлайн используй
Аноним 12/12/15 Суб 07:04:47 #345 №601428 
BYTE * dialog = new BYTE[14];
fread(&dialog, 1, 14, fIn);
for (unsigned int i = 0; i < diff; i++)
fprintf(fOut, "%02X ", dialog);

В конце файла остаётся 14 байт, который мне нужно считать и вывести в другой файл. Почему данный код приводит к "stack around "dialog" variable was corrupted"? При этом вылет в момент завершения программы, а не при выполнении кода, но 14 байт не появляются в fOut.
Аноним 12/12/15 Суб 07:05:51 #346 №601430 
>>601428
Блядь, всю жизнб дохожу до правильных овтетов через секунду после того, как задам вопрос. Обосрался с указателем, да.
Аноним 12/12/15 Суб 12:15:29 #347 №601482 
>>601430
> Блядь, всю жизнб дохожу до правильных овтетов через секунду после того, как задам вопрос
Это норма.
https://en.wikipedia.org/wiki/Rubber_duck_debugging
Аноним 12/12/15 Суб 17:04:57 #348 №601737 
Можно в студии компилить без привязки к Visual C++?

Я должен заставлять пользовать выкачивать версию последнего года только для того. чтоб запустить маленькое консольное говнецо?
Аноним 12/12/15 Суб 17:13:38 #349 №601741 
Анон, как можно отрефакторить этот быдлокод, чтобы он был максимально отличен от исходного, выглядел написанным с нуля и необфусцирован? Одни только внешние векторы A, B, C уже будут выдавать авторство.

http://pastebin.com/r7VAjS1r
Аноним 12/12/15 Суб 17:14:21 #350 №601743 
>>601741
Алсо, что вот эта за залупа B.front() = A.front(); и что за уебищная инициализация переменных в цикле?
Аноним 12/12/15 Суб 17:20:52 #351 №601748 
>>601743
> инициализация переменных в цикле

А что в этом плохого?
мимошарпист
Аноним 12/12/15 Суб 17:35:12 #352 №601752 
>>601748
Так и думал, что подобный код пишет какая-нибудь сишарпомразь. У нас на курсе шлюха не осилила алгоритмы и структуры данных и пересела на шершавый, обосновывая это тем, что на шарпе писать алгоритмы проще. Но и на шарпе не смогла их писать.
Аноним 12/12/15 Суб 17:38:04 #353 №601753 
>>601748
Какбе есть стандартные алгоритмы для такого
Аноним 12/12/15 Суб 17:44:32 #354 №601761 
>>601743
Этот код - залупа от начала до конца. Что такое а, б и ц? Хуй с ними. А что вообще делает этот код, задание озвучь. Алсо,
>Лабы идут нахуй
Аноним 12/12/15 Суб 17:46:30 #355 №601766 
>>601761
Лимит времени 500/500/500/500 мс. Лимит памяти 16000/16000/16000/16000 Кб.

Любой уважающий себя MP3-плеер должен уметь красиво выводить множество никому не нужной информации на экран. Например, красно-зеленые полосочки, динамически отображающие текущую амплитуду сигнала. Естественно, амплитуда звуковых колебаний меняется так быстро, что имеет смысл отображать лишь некоторое усредненное значение — обычно это пиковое значение в течение определенного промежутка времени.
Вам дано M — это количество миллисекунд, в течение которых надо помнить и отображать пиковое значение, а также после­дова­тельность значений амплитуды. Необходимо вывести последовательность, отображаемую в окошке плеера. Первое число этой после­дова­тельности является максимумом из первых M чисел входной после­дова­тельности, второе — максимум из чисел с номерами 2, …, M+1 и так далее.


Ввод
В первой строке стоит число 1 < M ≤ 14000, далее стоят значения амплитуды (N целых чисел в диапазоне от 0 до 100000) по одному в строке. В самом конце стоит число −1 — это признак конца входных данных. M ≤ N ≤ 100000.

Вывод
Выведите значения, отображающиеся на экране MP3-плеера, по одному в строке.

Ввод
3
10
11
10
0
0
0
1
2
3
2
-1

Вывод
11
11
10
0
1
2
3
3
Аноним 12/12/15 Суб 17:47:09 #356 №601767 
>>601761
Этот говнокод реализует дерево отрезков. Сука, я его даже на говнокод запощу, как только сдам эту задачу. Меня без нее выебут.
Аноним 12/12/15 Суб 17:48:56 #357 №601769 
>>601761
Другими словами, здесь надо искать максимум на отрезке (или в очереди) за O(1). Я реализовал поиск максимума в очереди при помощи двух стеков, но эта залупа хотя и работает, но на контестере выдает Presentation Error.
Аноним 12/12/15 Суб 18:15:00 #358 №601794 
>>601769
Ты хочешь сказать что код в >>601741 это решение >>601766?
Аноним 12/12/15 Суб 18:19:18 #359 №601800 
>>601794
Да. У чувака, который этот код где-то спиздил, эта задача принята.
Аноним 12/12/15 Суб 18:30:38 #360 №601808 
>>601743
>B.front() = A.front();
Не читал код, но это же вроде норм. Можно в конструктор копирования это вынести, а можно и так.
Аноним 12/12/15 Суб 18:31:59 #361 №601810 
>>601808
А, это вектора, ок.
Аноним 12/12/15 Суб 19:19:51 #362 №601841 
Решил реализовать код Хаффмана. Сначала надо построить алфавит. Он должен содержать символы произвольного текста и их частоты. Алфавит я решил реализовать при помощи std::set< std::pair<char, double> >. Как при считывании каждого символа на лету изменять его частоту в set? Поскольку элементы set уникальны, то можно каждый раз вставлять в него символ с обновленной частотой. Блять, дописал до этого места и понял, что элементы в set не будут обновляться при таком подходе, потому что у них одинаковое поле "частота". Как правильнее это реализовать?
Аноним 12/12/15 Суб 19:24:00 #363 №601843 
>>601841
char у тебя максимум 255 штук, зачем тебе тормозной set? Бери vector.
Аноним 12/12/15 Суб 19:28:37 #364 №601846 
>>601843
Я начал делать как-то так: https://ideone.com/zaA0wS
Вектор пар?
Аноним 12/12/15 Суб 19:35:13 #365 №601855 
14499381133380.png
>>601843
Смотри, как строится дерево. C - алфавит из символов + их частоты. Все это копируется в Q - видимо, это куча, у которой наверху пара "символ-частота" с минимальной частотой. Кроме того, элементы Q должны содержать поля left и right для задания структуры дерева. Какую структуру данных надо выбрать для Q? Цифровое дерево? Как определить его элементы?
Аноним 12/12/15 Суб 19:51:04 #366 №601864 
Откуда вот эти ошибки? Можно как-то ускорить заполнение алфавита? Как определить, содержится ли в векторе данный символ без линейного поиска?

https://ideone.com/Qk6YLd
Аноним 12/12/15 Суб 19:57:30 #367 №601870 
14499394506540.png
>>601855
>тетрадь
Аноним 12/12/15 Суб 20:00:05 #368 №601873 
>>601870
И что?
Ебаный в рот, какой же геморрой с cout.
https://ideone.com/XfhhBM
Аноним 12/12/15 Суб 20:03:05 #369 №601876 
>>601873
>(*it).first
на
>it->first
исправь, не позорься.
Аноним 12/12/15 Суб 20:09:51 #370 №601882 
>>601876
С чего ты решил, что это будет работать? Во всех примерах с итераторами к ним обращаются через точку. https://ideone.com/XfhhBM

Проверку того, содержится ли символ в векторе, сделал так: создал еще один вектор char, который на i-м месте содержит 1, если символ еще не был обработан, и 1, если символ содержится в векторе. Но почему-то эта проверка не работает.
Аноним 12/12/15 Суб 20:09:54 #371 №601883 
>>601846
Затем тебе вектор пар. Просто вектор, у которого индекс - это твой char. Собственно, fr у тебя в коде, это оно и есть, только нужно поделить на общее число. https://ideone.com/2mzamD
Когда тебе нужно отображение из числа во что-то, массив часто является самым простым и естественным решением. Иногда - unordered_map, потом - map. Set тебе тут вообще не нужон.
Аноним 12/12/15 Суб 20:12:12 #372 №601885 
>>601882
>Во всех примерах
Ясно-понятно
Аноним 12/12/15 Суб 20:15:41 #373 №601886 
>>601885
Ну возьми погугли вывод содержимого контейнеров при помощи итераторов.
https://ideone.com/XfhhBM
Аноним 12/12/15 Суб 20:20:13 #374 №601890 
>>601886
Уринировал дегенерата.
https://ideone.com/l8UmIm
Аноним 12/12/15 Суб 20:27:33 #375 №601893 
>>601886
>>601890
Уринировал обоих: https://ideone.com/a8QZfk
Аноним 12/12/15 Суб 20:29:34 #376 №601896 
>>601890
Поссал на тебя.

В отладчике обнаружил, что вектор неправильно заполнялся из-за неинициализированного count. Вроде, теперь работает. С помощью чего реализовать множество Q из ТЕТРАДКИ?
https://ideone.com/2dONMi
Аноним 12/12/15 Суб 20:34:02 #377 №601898 
Так как лучше реализовать множество символов алфавита с их частотами - через вектор частот или через вектор пар "символ-частота"?
Аноним 12/12/15 Суб 20:34:47 #378 №601899 
>>601896
Убирай (*it), Манька, по-моему тебе ясно сказали
Аноним 12/12/15 Суб 20:36:12 #379 №601900 
>>601899
Просто у меня 10-я студия, которая не поддерживает новый стандарт, и приходится уже на идеоне хотя бы частично переписывать мой код в соответствии с C++11.
Аноним 12/12/15 Суб 20:38:01 #380 №601901 
>>601899
Учитывая, что ему достаточно for each, он совсем странный, еще и меня игнорирует.
Аноним 12/12/15 Суб 20:40:22 #381 №601902 
>>601901
Я не игнорирую. Я не успеваю переписывать свой говнокод, редактировать его на идеоне, думать о выборе контейнеров и изучать листинги анона. Десятая студия не может в охуительный новый синтаксис.
Аноним 12/12/15 Суб 20:41:00 #382 №601903 
>>601901
Он про range-based for не слышал, забей на него, этот маня в своем коконе.
Аноним 12/12/15 Суб 20:41:41 #383 №601904 
>>601900
>->
>новый стандарт
Ну охуеть теперь
Аноним 12/12/15 Суб 20:43:01 #384 №601906 
>>601901
Почему там у тебя в for(auto it: alpha) не происходит изменение второй координаты?

>>601903
И я хочу научиться новому стандарту :(
Аноним 12/12/15 Суб 20:45:45 #385 №601907 
>>601906
Знаешь, -> это наследие ещё из сишечки.

>>не происходит изменение
Хотя бы потому, что ideone зажевал & лал найс экранизация и вообще висит, хз.
Аноним 12/12/15 Суб 20:46:43 #386 №601910 
>>601767
Нарисуй на бумажке массив длины n. Разбей его на массивы длины m. Посчитай для каждого такого массива частичные максимумы слева и справа (max(a1), max(a1, a2), max(a1, a2, a3), ... и max(am) max(am-1, am), max(am-2, am-1, am), ...)
Теперь нам приходит запрос: максимум на отрезке [k, k + m - 1].
Внутрь этого отрезка обязательно попадёт значение с индексом кратным m. Вопрос, как теперь разбить запрос на два?

Ответ вот тут: http://ideone.com/WwI4uK
Это что-то похожее на дерево отрезков, только для отрезков длины m, вместо max можно использовать любую другую ассоциативную операцию.
Аноним 12/12/15 Суб 20:47:44 #387 №601911 
>>601907
>Знаешь, -> это наследие ещё из сишечки.
Я чистый си знаю. Просто я видел много кода, написанного на разных стандартах C++, и у меня разрыв шаблона оттого, что где-то (*it) и стрелочки, потому что там указатели, а где-то for(auto it: alpha) и обращение через точку.
Аноним 12/12/15 Суб 20:51:15 #388 №601915 
>>601910
>Нарисуй на бумажке массив длины n.
Пока еще не вникал в алгоритм. У тебя там не будет квадратичной сложности из-за какого-то sliding_window? Судя по названию, ты моделируешь перемещение отрезка по всему массиву со сдвигом на один элемент и поиском максимума. Оптимальный алгоритм - это когда максимум зависит только от одного следующего символа и вычисляется за O(1). Это офигенно решается через поиск максимума в очереди, но почему-то контестер выдает странную ошибку presentation error, а не wrong answer.
Аноним 12/12/15 Суб 21:11:18 #389 №601921 
С чего начать изучение С++?
Аноним 12/12/15 Суб 21:24:35 #390 №601926 
>>601921
С прочтения стихов в шапке, конечно
Аноним 12/12/15 Суб 21:28:39 #391 №601929 
>>601907
>Хотя бы потому, что ideone зажевал &
А где он там должен быть? По-моему в get_data все на месте.
Аноним 12/12/15 Суб 21:47:36 #392 №601940 
Собираюсь потихоньку изучать С++ на линуксе - нормально?
Аноним 12/12/15 Суб 22:08:32 #393 №601950 
>>601915
>Судя по названию, ты моделируешь перемещение отрезка по всему массиву со сдвигом на один элемент и поиском максимума
А если код почитать или объяснение? Время O(n), память O(n).
>Оптимальный алгоритм - это когда максимум зависит только от одного следующего символа и вычисляется за O(1)
Амортизированный O(1)
Ты пытаешься описать следующий алгоритм:

Рассмотрим некий набор элементов в окне размером m. Можно заметить, что если в этом окне справа от элемента есть элемент больший его, то он всегда будет затмевать его и поэтому меньший элемент можно не рассматривать.
Следовательно, элементы в окне представляют собой строго убывающую последовательность длины <= m. (и максимальным элементом в начале этой последовательности)
Представим, что к нам приходит новый элемент в окно. Выбросим из неё все элементы, которые он затмит.
Потом выбросим из последовательности все элементы слева, которые покинули наше окно. (Мы делаем это лениво)
Время O(n), память O(m)
http://ideone.com/LxWW88
Аноним 12/12/15 Суб 22:12:25 #394 №601952 
>>600915
бамп вопросу
Аноним 12/12/15 Суб 22:25:58 #395 №601956 
>>601950
Сорри, я слишком туп для этого. Слишком охуительный алгоритм, чересчур профессионально написано.
Аноним 12/12/15 Суб 22:34:51 #396 №601959 
>>601952
Ты предлагаешь кому-то читать твои спойлеры? Нахуй пройди.
Аноним 12/12/15 Суб 22:59:36 #397 №601978 
14499503763070.png
>>601752
>>601753
Так, минутку, я сейчас про переменную цикла говорю. Т.е. про i, в который записывается католичество пройденных итераций цикла. У меня стойкое ощущение, что мы друг-друга не поняли, ибо нахуя для этого алгоритм янепонимат. да и есть же пресловутый паттерн фабрики, там какбэ в любом случае переменные в цикле инициализируются
Аноним 12/12/15 Суб 23:00:29 #398 №601979 
>>601978
Количество, конечно же
т9 охуел
Аноним 12/12/15 Суб 23:28:15 #399 №601996 
>>601940
Да. Можешь взять qtcreator или любимый текстовый редактор и впуть
Аноним 13/12/15 Вск 00:56:22 #400 №602045 
>>601952
>>600915
Уфф, вот это задачка, не то, что ты раньше кидал.

Значит, смотри. Есть 3 типа пар: сравнимые, несравнимые, равные. Например, (A, B) и (B, A) это две разных пары. При этом, если A < B, то мы считаем, что сравнимых пар 2 (прямая и обратная). Видно, что n^2 это количество всех пар, а именно сравнимые + несравнимые + равные. Из всего этого проще всего посчитать несравнимые пары, тогда мы получим сравнимые. (Равные понятно как считать).

Будем строить гиперкуб, прибавляя по одной олимпиаде за раз.
Сначала у нас одномерный гиперкуб, в нём две вершины 0 и 1. В первой - количество школьников, которые проиграли первую олимпиаду, а во второй - которые выиграли.
Сколько у нас несравнимых пар? 0.
Теперь мы хотим прибавить 1 измерение, то есть учесть ещё одну олимпиаду.
Вершина 0 раздвоится на 10 и 00
Вершина 1 раздвоится на 11 и 01
Пробежимся по всем школьникам и посчитаем сколько школьников в каждой вершине, пускай это будет массив count.
Сколько у нас теперь несравнимых пар?
count[10] умножить на count[01].
Короче говоря, каждая вершина делится на + составляющую и на - составляющую.
При этом, если вершина X < вершины Y, то несравнимых пар прибавляется X- умножить на Y+.

Значит, алгоритм такой:
на каждой итерации строим из k-мерного k+1-мерный, при этом подсчитываем сколько у нас прибавляется несравнимых пар, когда раздваиваем каждую вершину.
Как раздваиваем? Рассматриваем все рёбра гиперкуба, меняющие некоторую координату с 1 на 0.

Время работы:
на k-м шаге мы просматриваем все рёбра k-мерного гиперкуба, а их k 2^(k-1)
питон подсказывает, что всего просмотрим 983041 рёбер.
Плюс, нам ещё надо будет 16 раз пробежать по всем школьникам, а это 16 * 65536.

Получается где-то три миллиона примерных операций.
Значит, хуёвый алгоритм, но ты попробуй, вдруг прокатит.
Аноним 13/12/15 Вск 01:33:59 #401 №602068 
>>602045
Не, отбой, я херню написал, оно не посчитает если было
0000
1111
а потом превратилось в
10000
01111
Аноним 13/12/15 Вск 01:56:08 #402 №602079 
>>602068
То есть нужно считать не только прямых детей, но и детей детей, итд.
Имеем гиперкуб на какой-то итерации. У каждой вершины есть два числа: сколько школьников, если дописать к ней слева 1 и сколько школьников, если дописать к ней слева 0.
Если число школьников с нулём слева ненулевое, тогда нам нужно посчитать сумму школьников в вершинах, достижимой из этой, к которым дописали слева 1. Это делается обычным dfs-ом за 2^k.
Аноним 13/12/15 Вск 10:04:09 #403 №602163 
Есть такая задачка: нужно отрисовать график из 100 000 точек. При этом нужно, чтобы при зуме он не тормозил.
Очевидно, надо данные прорядить, но тогда я не увижу резких всплесков на графике, пока не прибавлю зум.
Или есть способы как прорядить данные так, чтобы были видны резкие вплески?
Аноним 13/12/15 Вск 11:17:09 #404 №602198 
>>602163
Кешировать вычисления, показывая пользователю полоску загрузки, а потом использовать результат из кеша?

мимобака
Аноним 13/12/15 Вск 11:45:15 #405 №602206 
>>602163
Рисуй на GPU.
Аноним 13/12/15 Вск 12:00:55 #406 №602209 
>>602163
> c++
> gui
Аноним 13/12/15 Вск 12:04:14 #407 №602210 
>>602209
qt, не?
Аноним 13/12/15 Вск 12:13:43 #408 №602213 
>>602210
Можно clutter для такого, есть и специальные либы для этого.

А при уменьшении надо просто делать хороший antialiasing, нет другого пути, кмк
Аноним 13/12/15 Вск 12:27:30 #409 №602218 
>>602079
Тогда некоторые вершины два раза учтутся, а задача "найти количество достижимых вершин из данной" решается только за n^2
Аноним 13/12/15 Вск 12:47:22 #410 №602222 
>>600915
Ещё что забавно, если считать, что программистов одного типа всего 1, а не несколько, то всего таких пар программистов может быть 3^16 - 2^16 ~= 42 миллиона. Значит, нужно как-то срезать углы при подсчете даже с учётом уникальных программистов.
Аноним 13/12/15 Вск 12:47:47 #411 №602223 
>>600915
Как вариант, у тебя там максимально возможное количество вариантов побед в олимпиадах меньше максимально возможного количества программистов, правда всего в два раза. можно попробывать сгруппировать не по программистам, а по вариантам побед - тоесть массив, каждому индексу в котором соответствует один из вариантов распределения побед и туда записано количество программистов с таким распределением. Строку символов переводишь в число (как ты делаешь) и получается индекс этого варианта побед. Дальше проходишь по массиву, находишь не нулевый элемент, после чего находишь сколько программистов менее собразительные - для этого проходишь по массиву в сторону уменьшения от найдетного элемента и суммируешь все элементы в индексе которых нет еденицы в тех позициях где нули в индексе найденого элемента (инвертируешь индекс найденого и делаешь побитовое И со всеми меньшими индексами - там где получаешь еденицу скипаешь). Полученые два числа перемножаешь и добавляешь к результату. Сложно все равно квадрат, так что врядли тебе это поможет, но получается что итераций в 4 раза меньше (максимум).
Аноним 13/12/15 Вск 13:06:26 #412 №602231 
>>602223
В среднем олимпиадные компьютеры тянут миллион операций в секунду.
Любой алгоритм, который будет находить и честно просматривать все искомые пары, будет работать в худшем случае 42 миллиона операций, или 42 секунды.
Кажется, этим они пытаются намекнуть нам, что если кто-то даст нам массив уже готовых пар, по которым надо будет только пробежаться и просуммировать, то у нас вылезет TLE.
Аноним 13/12/15 Вск 13:12:34 #413 №602236 
>>602210
Просто вызывать dllки из шарпа/джавы, не?
Аноним 13/12/15 Вск 14:33:17 #414 №602306 
>>602236
Ты тредом ошибся
Аноним 13/12/15 Вск 14:37:52 #415 №602314 
>>602163
Вычитаешь из всех значений наименьшее. Диференциируешь масив (или что у тебя там) и вычисляешь среденее диференциала, проматриваешь его и отбираешь точки в окресности сплесков (существенное отличие от среднего)
Аноним 13/12/15 Вск 14:38:33 #416 №602317 
>>602198
Всмысле?
Есть у меня 100 000 точек пи уровне зума 1х. Масштабирую (к примеру на сенсорном экране) пальцами до 5х и что, ждать пока оно прорисуется?
>>602206
Т.е. даже если 100 000 точек в экран невлезают рисовать сразу все?
>>602209
Не важно пока.
Аноним 13/12/15 Вск 14:40:41 #417 №602322 
>>602314
Оо! Интересно.
Мне бы прорядить в 100 раз и сохранить резкие всплески.
Аноним 13/12/15 Вск 14:46:10 #418 №602330 
>>602322
Несколько раз продиференциируй, хули. Ты уверен, что тебе это нужно на плюсах реализовать? Может лучше матлаб?
Аноним 13/12/15 Вск 14:49:21 #419 №602337 
>>602314
Школьники пытаются выдумать антиалиасинг фильтр на коленке.
Аноним 13/12/15 Вск 14:50:45 #420 №602344 
>>602337
Ну меня с третьего курса отчислили, я хз
Аноним 13/12/15 Вск 14:54:49 #421 №602353 
>>602344
Я еще на втором с этим разобрался.

https://ru.wikipedia.org/wiki/%D0%9F%D0%B5%D1%80%D0%B5%D0%B4%D0%B8%D1%81%D0%BA%D1%80%D0%B5%D1%82%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F

Фильтруешь сигнал так, чтобы в нем отсутствовали частоты выше частоты Найквиста после децимации, после фильтрации децимируешь сигнал за прорЯдить отдельные лучи поноса, редкий блядь, а не ряд. Но GPU с этим справится лучше.
Аноним 13/12/15 Вск 15:09:48 #422 №602377 
>>602218
Выходит это способ не работает? Не совсем понял. Стоит вникать?

>>602223
Это выглядит понятнее. Попробую сделать. Спасибо.

Есть ещё варианты?
Баянистый вопрос - 13/12/15 Вск 15:26:52 #423 №602397 
14500096128280.jpg
Ребят, мой любимый тред в pr,.
поэтому спрашиваю тут, .
а не где-нибудь ещё,
хотя к CPP прямо не относится.

>
В общем, я имею базовые знания в pr и техническое образование (до этого несколько лет работал инженером в ИТ, но надоело).
Cобирался пару месяцев готовиться - немного углублять и потом начать искать работу именно pr,.
И даже начинал :
- рулетку делал,
- книжки читал,
- на форумах вопросы смотрел,

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

Вот думаю, если забью на свой план - а просто пойду работать пропадёт ли эта апатия?
С другой стороны, не уверен. что меня возьмут.

У меня нет вопроса, но прошу ответы.

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



Аноним 13/12/15 Вск 15:29:01 #424 №602402 
>>602397
Просто возьми какой-нибудь простой проект и перепиши его на плюсы.
Аноним 13/12/15 Вск 16:10:09 #425 №602444 
>>602306
Ну так dll то на чем написан?
Аноним 13/12/15 Вск 16:13:04 #426 №602448 
>>602397
Устроиться на работу поможет (по крайней мере на какое-то время)). Можешь попробывать просто ходить по собеседованиям чтобы испытовать свои знания.
Аноним 13/12/15 Вск 16:15:28 #427 №602450 
>>602448
Один раз был на собеседовании. Контора была маленькая, со мной говорил один из программистов. После этого я чувствовал себя пиздец какием униженным. Нахуй работу.
Аноним 13/12/15 Вск 16:15:59 #428 №602452 
>>602450
О чём говорили?
Аноним 13/12/15 Вск 16:19:28 #429 №602461 
>>602452
Показал ему свои поделки. Отвечал на вопросы. Каждый раз, когда отвечал неправильно, он говорил какую-либо подъебку на тему того, что жто вообще каждый даун знает.
Аноним 13/12/15 Вск 16:23:03 #430 №602464 
>>602377
Вариант - пооптимизировать то, что есть, пока тесты не начнут проходить. Возможно, написав разные варианты для больших и малых N.
Сначала отсортировать и выкинуть равные. Останется 65536 максимум.
Еще бы хорошо во внутренний цикл запихнуть break. Когда массив отсортирован, у нас lhs<rhs всегда, и в ситуации типа такой: 010000 vs 100000, смысла проверять дальше нет. Т.е. когда a&b==0.
Аноним 13/12/15 Вск 16:34:49 #431 №602474 
>>602397
>В голове только беспокойство, что мне надо идти на работу, что надо быстрее найти работу, но при этом я легко могу себе позволить не работать даже полгода - не шиковать, но жить вполне комфортно.
Зима, световой день короткий, пей витамин Д, лампочки вставь.

>Обычно в таких ситуациях (и тут в треде и в других местах) советуют начинать пилить свой проект, или лезть в гитхаб.
Не обращай внимания на аутистов. Работать бесплатно (даже не за спасибо или когда ты знаешь, что вот эта хуйня сильно облегчит тебе жизнь) - отстой.
Аноним 13/12/15 Вск 18:22:49 #432 №602574 
>>602317
Хуярь эти вычисления наперед, чтобы потом, если юзеру захочется, просто вытаскивать результат из кеша. Превентивное кеширование. Иначе гроб гроб кладбище фризы.
Аноним 13/12/15 Вск 18:25:11 #433 №602577 
>>602444
Ясное дело на крестах, но парень не говорил, что юзает не кресты, может он не может в джаву или шарп по каким-то причинам?
Аноним 13/12/15 Вск 19:08:09 #434 №602620 
>>602317
>Т.е. даже если 100 000 точек в экран невлезают рисовать сразу все?
100к точек потянет даже самая каличная мобильная видеокарта. Тем более, что рисоваться они будут за один вызов.
Аноним 13/12/15 Вск 19:16:08 #435 №602626 
>>602353
Какой фильтр лучше применить?
Скользящее среднее отлично для этого подойдет, вот только какого размера окно выбрать, чтобы прорядить в M раз?
Аноним 13/12/15 Вск 19:17:31 #436 №602628 
>>602574
Так юзер может еще и скроллить, а не толтко зуммить. Это же просто нереально много памяти потребуется.
Аноним 13/12/15 Вск 19:19:08 #437 №602630 
>>602574
>>602628
Хотя погоди. Если фильтрануть и прорядить для каждого уровня зума (допустим их будет 10), то не так и много.
Останется только выбрать из массива данные из нужного диапазона и интерполизовать крайние точки (чтобы листать график)
Аноним 13/12/15 Вск 19:19:28 #438 №602631 
>>602628
> Так юзер может еще и скроллить, а не толтко зуммить. Это же просто нереально много памяти потребуется.

Ну, вообще говоря, весьма вероятно. Поищи готовые решения на стековерфлоу, например.
Аноним 13/12/15 Вск 19:20:13 #439 №602632 
>>602630
Алсо, что значит "прорядить"?
Аноним 13/12/15 Вск 19:23:29 #440 №602634 
>>602626
>прорядить
Просто иди нахуй. Не буду тебе помогать.
Аноним 13/12/15 Вск 20:32:29 #441 №602688 
>>602634
Децимировать епты!
Грамотность словесная здесь не первое место быть имеет.
Аноним 13/12/15 Вск 21:18:44 #442 №602723 
>>602163
Cairo либо другая библиотека по отрисовке векторов за тебя все сделает. Если хочешь велосипедить то вот с этого >>602353 следует начать.
Аноним 14/12/15 Пнд 00:16:12 #443 №602857 
>>602397
bump
Аноним 14/12/15 Пнд 01:25:06 #444 №602904 
>>602688
Тебе, долбоёб, уже указали на твою ошибку, но ты всё равно продолжаешь её допускать. Пошёл нахуй.
Аноним 14/12/15 Пнд 08:01:48 #445 №602977 
>>602904
Нахуй идешь ты.
Аноним 14/12/15 Пнд 08:12:02 #446 №602979 
>>602977
Обосрался - обтекай. Иди, проряди чего-нибудь. Например, свою жопу.
Аноним 14/12/15 Пнд 14:55:10 #447 №603146 
>>597189 (OP)
Как заставить qmake сожрать специальные символы(не цифробуквы) в директориях?
Аноним 14/12/15 Пнд 18:27:48 #448 №603321 
>>603146
В двойные кавычки оберни.
Аноним 14/12/15 Пнд 19:48:39 #449 №603409 
Где про динамическое программирование почитать?
Аноним 14/12/15 Пнд 20:04:04 #450 №603426 
>>602577
А может он просто об этом не писал? Сам ебался с этим год наверно, пока не наткнулся на то, что проект можно на разных языках.
Аноним 14/12/15 Пнд 20:18:39 #451 №603439 
>>603426
> А может он просто об этом не писал? Сам ебался с этим год наверно, пока не наткнулся на то, что проект можно на разных языках.

Autism level up
Аноним 14/12/15 Пнд 23:58:51 #452 №603736 
>>603409
Тащемто, открываешь любой учебник по С++ на главе про std::vector и читаешь.
Аноним 15/12/15 Втр 02:16:36 #453 №603910 
Я снова в чём-то мудак, но не могу понять в чём.

Есть вот такой код и он прекрасно работает.
http://puu.sh/lVLhB/1cfbbfd7de.png

Пытаюсь считать адрес. Если там ноль, то дропаю, а если не ноль, то считываю другие параметры. Если time > 0, то всё хорошо, можно запускать основную функцию.

Сделал то же самое, но через отдельную функцию.
http://puu.sh/lVLuM/36005440c8.png
Теперь нихуя не работает, у меня wait_on всегда true.
Аноним 15/12/15 Втр 02:21:08 #454 №603912 
>>603910
Блядь, я снова мудак, извините, не смотрите скриншоты, я всё понял. Пиздец.
Аноним 15/12/15 Втр 09:21:15 #455 №603988 
>>603912
Обращайся еще, бро
Аноним 15/12/15 Втр 09:45:01 #456 №603995 
>>603736
Не мне так чтобы задачи решать. На e-maxx про графы много, а про динамику нет.
Аноним 15/12/15 Втр 09:47:55 #457 №603996 
>>603910
Что значит static перед объявлением или это определение с аргументом void без имени? тогда зачем если можно без параметров сделать? функции?
Аноним 15/12/15 Втр 10:07:49 #458 №604000 
>>603996
static перед функцией - значит несколько .o файлов при линковке могут иметь символ с таким названием и каждый будет использовать свой.
Аноним 15/12/15 Втр 10:52:53 #459 №604021 
>>600906
Работал в трёх компаниях разного размера. Всегда требовались плюсовики. Любого размера. Брали интернов, джунов пачками и воспитывали.
Аноним 15/12/15 Втр 12:15:53 #460 №604094 
>>604021
Если такое и правда где-то есть, этого очень мало, оно только по связям / по универской мазе, и оно недоступно простому смертному. Я когда без СТАЖА был, не смог найти работу ни крестовиком, ни потом джавистом. Никто даже на резюме не отвечал. А вот на жаваскрипте почти сразу нашёл. Сейчас у меня психика настроена таким образом, что я в 99% случаев просто не могу заставить себя даже взяться за что-либо, что не гарантирует стопудово успех и профит. Я хоть и умею генерировать на шаблонах хайлоад парсеры и стейтмашины, и кресты да соответствующие гипотетические задачи из системщины / геймдева / десктопа мне интереснее, но я не могу даже начать пытаться вкатиться в это профессионально, потому что я блять ЗАКОДИРОВАЛСЯ, у меня это вызывает глубоко неприятные ассоциации с кучей проёбанного времени с нулевой выгодой, я начинаю смотреть вакансии и прикидывать "а чё если мне там не понравится, то куда я пойду", "ой да нихуя же нету", "а тут я не подойду, тк у меня нет 10 лет опыта директикс/опенгл", "а там меня вообще нахуй пошлют, потому что я поехавший" и шлю это всё нахуй. Пускай кому надо продолжают "Брали интернов, джунов пачками и воспитывали". Лично меня и других людей, к кому такие предложения ЛИЧНО не поступали, это никак не касается, и нет никаких оснований считать, что коснётся в обозримом будущем.
Аноним 15/12/15 Втр 16:53:17 #461 №604305 
>>604094
>что не гарантирует стопудово успех и профит
Так С++ как раз тебе и гарантирует успех и профит. Никакой гонки за технологиями, инкрементальное развитие, тусовка среди опытных и уважаемых людей. В язык уже даже коротюны завезли, что еще нужно.
Аноним 15/12/15 Втр 18:06:37 #462 №604375 
>>604305
Свойства языка и прочие вещи такого уровня не имеют в таких вопросах абсолютно никакого значения. По моему опыту, на ~20 сброшенных резюме будет один ответ. То есть, чтобы расчитывать хотя бы на 10 откликов надо чтобы было хотя бы 200 вакансий. При этом, на всякий типичный веб вакансии однотипные с точностью до технологий и ты хотя бы знаешь о чём там речь в требованиях и можешь в резюме пояснить за свой релевантный опыт или знания. На С++ вакансий мало и везде хуйня типа 10 лет опыта в какой-то маргинальной хуйне, каждая в своей. Где-то опенцв, где-то винапи, где-то директикс и тд. Если ты реально начнёшь сам задрачивать какую-то такую хуеверть, ты сможешь через пару лет постучаться на одну или две ссаные вакансии со своими ссанными хобби проектами и знаниями. А чтобы была возможность претендовать хотя бы на десяток вакансий надо потратить лет 6-9. А десяток вакансий - это примерно половина одного отклика, то есть скорее всего тебе даже не ответят.
Аноним 15/12/15 Втр 18:37:57 #463 №604423 
>>601737
Именно запускать? Отключи mfc и линкуй все статически
Аноним 15/12/15 Втр 18:51:09 #464 №604445 
>>604375
Может у тебя резюме хуево написано?
Сталкивался с подобной проблемой. Один рекрутер из крутой лондонской конторы помог переписать резюме и откликов стало намного больше. Хотя последние 4 года все предложения получаю через линкедин. 4-5 в месяц стабильно, притом что не особо ищу работу. Сначала добавляются рекрутеры, потом предложения пачками валятся.
Аноним 15/12/15 Втр 19:20:43 #465 №604475 
Сап, анон
Собсна написан класс с одномерным массивом, надо перегрузить + и +=, все сделано, но когда возвращаю измененный массив в мейн, парочка значений просто обнуляются , хуй знает что делать.
http://pastebin.com/HyCrkC1D
Вывод в консоле:
Input size=3
Elem[0]=1
Elem[1]=2
Elem[2]=3
Elementi= 3 1 2 3//вывод из функции
Elementi= 0 0 2 3//вывод после возвращения
Elementi= 1 2 3 3//вывод из функции
Elementi= 1 2 3//вывод после возвращения
Аноним 15/12/15 Втр 19:21:01 #466 №604476 
>>604375
>Свойства языка и прочие вещи такого уровня не имеют в таких вопросах абсолютно никакого значения.
Имеют. Сначала порог вхождения С++ работает против тебя, потом он работает на тебя.
Аноним 15/12/15 Втр 21:21:57 #467 №604584 
>>604475
>рузить + и +=, все сделано, но когда воз
У тебя там какая-та хуйня с оптимизацией возвращаемых временных объектов из функций. Если удалить твой деструктор то все должно работать норм, только с утечками. Первая проблема что отсутствует оператор присваивания копированием (гугли "правило трех"). Но он мало поможет, там какая-то ебатня с оптимизациями (возврщаемого значения) - когда возвращаешь из функции временный объект не вызываются твои конструкторы копирования, но вызывается деструктор который удаляет твой массив. Но какая-то копия таки создается и адрес твоего массива (который уже "осовобожден" уходит в новый объект. Правда не ясно чего там постоянно именно две первых позиции забиваются нулями/мусором. Я покулупался но не смог разобраться, все странно как-то.
Также operator+= должен модифицировать исходный объект (по своему традиционному смыслу), чего ты не делаешь, тебе временный там и создавать не нужно - возвращай модифицированый исходный.
Также у тебя какой-то странный operator[], возможно там лишнее вычитание еденицы.
Аноним 15/12/15 Втр 22:07:05 #468 №604644 
14502064259970.png
Поясните за последний параметр
Аноним 16/12/15 Срд 10:04:16 #469 №604897 
>>604644
Я не у компа. Посмотри остальные перегрузки addAction и попробуй угадать, что в этом варианте значит member
Аноним 16/12/15 Срд 10:47:10 #470 №604908 
>>604000
Че?
Аноним 16/12/15 Срд 14:10:40 #471 №605020 
>>604584
Спасибо, попробую)
Отпишу еще
Аноним 16/12/15 Срд 15:01:46 #472 №605050 
14502673069200.png
Как заставить себя учить язык?
Когда начинаю учить, вроде интересно, а потом появляются какие-то дела, и постепенно забываешь. При чём, иногда просто сижу и ничего не делаю, просто двачую, хотя мог бы потратить это время с пользой. А потом корю себя.
Аноним 16/12/15 Срд 15:05:13 #473 №605053 
>>605050
То же с английским.
Аноним 16/12/15 Срд 16:27:54 #474 №605100 
>>605050
Заставь себя, жопа.
Аноним 16/12/15 Срд 17:16:41 #475 №605137 DELETED
Всем привет. Такая проблема. Мне надо научиться писать динамику, но я не могу ее найти. Можете посоветовать литературу (про динамику) или что делать?
Аноним 16/12/15 Срд 18:46:11 #476 №605202 
>>604897
Да я вобще хз
Аноним 16/12/15 Срд 19:28:33 #477 №605220 
>>605050
Используй feed reader и, среди прочего, читай что-нибудь по программированию. Бложик какой-нибудь.
Аноним 16/12/15 Срд 19:30:04 #478 №605221 
>>605202
По-моему member - это тупо имя для этого action'а. // Всё еще не у компа.
Аноним 16/12/15 Срд 19:30:13 #479 №605222 
>>605220
Охуенный совет, я постоянно что-то читаю по кодингу, но когда дело доходит до практики у меня руки не стоят и в итоге - хуй.
Аноним 16/12/15 Срд 19:58:28 #480 №605243 
Кто-то собирал Qt5.6? Пиздец, у меня в упор не хочет собираться ебаный QtWebEngine!\
Python version 3 is not supported by Chromium.
Python version 2 (2.7 or later) is required to build Qt WebEngine.
Python version 3 is not supported by Chromium.
Python version 2 (2.7 or later) is required to build Qt WebEngine.
QtWebEngine will not be built.
Я уже все что угодно нахуй перепробовал!
Аноним 16/12/15 Срд 20:24:02 #481 №605265 
>>605243
Расскажите лучше - как мне упаковать всю эту кучу QT-шных .DLL в один .exe.
Или хотябы как это сделано в qBittorent: 1 экзешник и какой-то файл в который запаковано всё.
Аноним 16/12/15 Срд 20:37:32 #482 №605280 
>>605265
Не беси меня, дебил.
У тебя денег на это не хватит, без шуток
Аноним 16/12/15 Срд 21:07:25 #483 №605304 
>>605265
google:qt static linking
Аноним 16/12/15 Срд 21:18:22 #484 №605322 
>>605304
А лицензия есть у него?
Аноним 16/12/15 Срд 21:19:28 #485 №605325 
>>605322
Лицензия? Какая лицензия?
Аноним 16/12/15 Срд 21:25:04 #486 №605334 
>>605325
Ты сам иди матчасть глянь, советчик
Аноним 16/12/15 Срд 21:25:48 #487 №605337 
>>605243
сижу на 5.5.1, зачем тебе так нужен 5.6?
Аноним 16/12/15 Срд 21:26:05 #488 №605338 
>>605337
> 2016
> 5.5.1
Аноним 16/12/15 Срд 21:27:14 #489 №605343 
>>605338
и что? там какие то килфичи добавили в 5.6, есть смысл ебаться с компиляцией?
Аноним 16/12/15 Срд 21:32:26 #490 №605351 
Хули в Qt нельзя Enter использовать в качестве шортката (и комбинации с Enter) ?
fooAction->setShortcut(tr("Enter")); - НИИработет.
Аноним 16/12/15 Срд 21:38:22 #491 №605357 
>>605343
То что ты делаешь лаба2 на 5.5.1 никого не ебет, няша.
А в 5.6 грядут изменения касательно вебкита.
Аноним 16/12/15 Срд 21:40:09 #492 №605362 
>>605351
Откуда итт такие уебки?
Ты вообще знаешь, что tr делает?
Аноним 16/12/15 Срд 21:42:14 #493 №605366 
>>605362
Что?
Аноним 16/12/15 Срд 21:43:50 #494 №605369 
>>605351
Нет. Я смотрю пример и меняю что-то и смотрю как оно не компилиться.
Аноним 16/12/15 Срд 21:46:02 #495 №605370 
>>605369
Открываем короче документашку QACtion.
Смотрим сигнатуру твоего метода. Такс
void setShortcut(const QKeySequence & shortcut)
void setShortcutContext(Qt::ShortcutContext context)
void setShortcuts(const QList<QKeySequence> & shortcuts)
void setShortcuts(QKeySequence::StandardKey key)

Объясни, блять, за каким хуем ты параметром передаешь QString? Еще и с транслейтером, охуеть можно.

Надеюсь, тебе понятен посыл?
Аноним 16/12/15 Срд 21:48:31 #496 №605376 
>>605370
fooAction->setShortcut(QKeySequence("Ctrl+Enter"));
Сеймщит
Аноним 16/12/15 Срд 21:49:21 #497 №605378 
>>605376
> QKeySequence("Ctrl+Enter")
чет в голос
Аноним 16/12/15 Срд 21:50:15 #498 №605379 
>>605378
QKeySequence("Ctrl+букваилицифра") - работает
Аноним 16/12/15 Срд 21:51:14 #499 №605381 
>>605357
для последнего заказчика вообще пришлось писать под 4.7.2.
на вебкит мне похуй.
так то.
Аноним 16/12/15 Срд 21:53:34 #500 №605383 
>>605381
То что есть легаси говно - никого НАХУЙ не ебет.
Аноним 16/12/15 Срд 21:54:42 #501 №605385 
>>605383
ты что такой буйный?
Аноним 16/12/15 Срд 21:55:37 #502 №605386 
>>605379
Лол, серьёзно? Вот это кек.
Аноним 16/12/15 Срд 21:56:16 #503 №605387 
>>605386
Вся суть /pr/
Аноним 16/12/15 Срд 21:58:15 #504 №605392 
>>605387
Я правда охуел, что он может это распарсить.
Аноним 16/12/15 Срд 22:01:23 #505 №605403 
>>605385
Я только что хотел повеситься - сняли.
Аноним 16/12/15 Срд 22:03:47 #506 №605406 
14502926272550.png
>>605403
Аноним 16/12/15 Срд 22:18:41 #507 №605434 
>>605392
>Не знает Qt
>Отвечает на вопросы по Qt
>>605387
Аноним 17/12/15 Чтв 05:54:51 #508 №605654 
>>605357
На 5.5 QSerialPort с ошибкой - 2 раза считываются данные из буфера.
Аноним 17/12/15 Чтв 14:11:23 #509 №605851 
Что там с перекатом?
Аноним 17/12/15 Чтв 15:03:51 #510 №605868 
>>605851
Язык мертв, перекат не нужен.
Аноним 17/12/15 Чтв 15:27:51 #511 №605883 
>>605851
Скоро все будет.
Аноним 17/12/15 Чтв 15:31:21 #512 №605887 
>>605883
Очень скоро?
Аноним 17/12/15 Чтв 17:37:36 #513 №605984 
а переката всё нет
Аноним 17/12/15 Чтв 18:02:20 #514 №606008 
>>605984
а мы всё ждём
Аноним 17/12/15 Чтв 18:49:35 #515 №606140 
тред на шестой странице
Аноним 17/12/15 Чтв 19:17:56 #516 №606168 
Давайте конфу в телеграмме замутим
Аноним 17/12/15 Чтв 19:18:25 #517 №606170 
>>606168
>телеграмме
Аноним 17/12/15 Чтв 19:18:39 #518 №606171 
https://telegram.me/joinchat/B-utzjvvCcMxyHULhQ72pg
Аноним 17/12/15 Чтв 19:19:08 #519 №606172 
>>606170
Проблемы с русским, дебилушка?
Аноним 17/12/15 Чтв 19:20:43 #520 №606175 
Даже вот так
telegram.me/pr2ch
Аноним 17/12/15 Чтв 19:22:05 #521 №606180 
>>606175
>/pr2ch
>Оффициальный™ традиционный® C++ тред
Аноним 17/12/15 Чтв 19:27:19 #522 №606188 
>>606180
Так крестоблядь - синоним программиста. Остальных пора выселять в /dev/ и /sn/
Аноним 17/12/15 Чтв 21:36:58 #523 №606312 
где перекат?
Аноним 17/12/15 Чтв 23:54:11 #524 №606428 
>>606140
>>606312
Он так быстро утонул, потому что какой-то хуесос бампнул все дохлые треды. Дальше будет тонуть медленно, базарю.

Сейчас ну оче напряженная ситуация на работе, братцы, завтра до вечера перекат будет, атвичаю.
Аноним 17/12/15 Чтв 23:56:18 #525 №606429 
>>605322
Если твоё поделие GPL, то можно статически линковаться. Не уверен насчет BSD и прочих MIT, пускай аноны поправят
Аноним 18/12/15 Птн 12:28:58 #526 №606668 
тишина
Аноним 18/12/15 Птн 17:31:51 #527 №606846 
>>604644
это слот йопта
Аноним 18/12/15 Птн 17:41:33 #528 №606855 
Сап крестаны. Объясните мне, пожалуйста. Почему значение не присваивается переменной var из меню (строки 60-82) в цикле do while, а без do while присваивается?
http://ideone.com/vVkGc3
Аноним 18/12/15 Птн 18:26:16 #529 №606894 
>>606171
The invite link is invalid
Аноним 18/12/15 Птн 18:46:48 #530 №606908 
хуйбамптест228
Аноним 18/12/15 Птн 19:11:01 #531 №606919 
>>606908
не работает бамп?
Аноним 18/12/15 Птн 22:21:58 #532 №607017 
>>606855
А сообщения выводяться? Попробуй var как volatile объявить.
Аноним 18/12/15 Птн 23:34:22 #533 №607056 
НОВЫЙ ТРЕД
http://2ch.hk/pr/res/607053.html
http://2ch.hk/pr/res/607053.html
http://2ch.hk/pr/res/607053.html
comments powered by Disqus

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