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

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

 Аноним 27/11/15 Птн 23:06:24 #1 №590823 
14486547848440.webm
Покуда Вождь печально наблюдал
За буйством грязных байтоебов в треде,
Я к ним вошел и с горечью вскричал:

"Глупцы, ужель ваш разум стал столь беден?
Вы погибаете, к скорости стремясь,
Погрязшие навек в шаблонном бреде!"

И самый гадкий мне в ответ, смеясь:
"Винишь ли ты меня за то веселье,
Что я даю уму, с constexpr резвясь?

Мой код не служит вашим низким целям:
Он должен извращенностью блистать,
Чтоб все от метафункций охуели,

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

Да проще, блядь, набить тебе ебало".


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

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

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

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

Старший брат: >>579550 (OP)
Предыдущий: >>587839 (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/n4527.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
Аноним 27/11/15 Птн 23:08:01 #2 №590826 
Впилил весь фак в конец шапки одним постом, чтобы не проматывалось.

Предыдущие треды на архиваче:
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/
Аноним 27/11/15 Птн 23:11:16 #3 №590830 
>>590819
Нет. Алсо, та же задача: https://ideone.com/WGiaQU

Есть хеш-таблица, которая содержит пары ключ-значение. Таблица моделирует электронного продавца кусков мяса ("All pieces are numbered from 0 to N-1 in order of weight increase"). Когда покупатель выбирает один кусок, из хранилища в контейнер подгружается еще один кусок наибольшего веса. Как сделать обновление контейнера? Думаю, я зря выбрал для контейнера хеш-таблицу (хотел немного ускорить выбор кусков покупателем), т.к. слишком долго искать максимум по номерам в хеш-таблице. Стоит использовать priority_queue?

>т.к. слишком долго искать максимум по номерам в хеш-таблице
Имею в виду, что если в контейнере уже есть куски с некоторыми номерами, то новый кусок должен иметь следующий номер в порядке возрастания.
Аноним 27/11/15 Птн 23:13:42 #4 №590831 
>>590826
Что убрал? раньше же в 15к символов не влезало. Осталось только эти куски текста упорядочить и вынести на пастебин.
Аноним 27/11/15 Птн 23:15:32 #5 №590833 
>>590831
Обижаешь, ничего не убирал. Просто покумекал и обошел ограничение, костыли-костылики.
Аноним 27/11/15 Птн 23:18:43 #6 №590834 
>>590830
Зачем искать максимум?
Аноним 27/11/15 Птн 23:18:43 #7 №590835 
>>590830
>Now the customer can simply come and press the button, and the seller will select the meat piece automatically. The pieces are stored in a special container inside the seller. Different pieces have different weights (all weights are distinct). There are N pieces of meat in the container
То есть хеш-таблица была бы идеальна, потому что выбирать надо ее произвольный элемент по ключу. Очередь с приоритетом такого не позволит.
Аноним 27/11/15 Птн 23:19:02 #8 №590836 
>>590834
>новый кусок должен иметь следующий номер в порядке возрастания
Аноним 27/11/15 Птн 23:23:12 #9 №590839 
14486557923680.png
Вот все условие задачи. А то по тем отрывкам только запутаться можно.
Аноним 27/11/15 Птн 23:23:22 #10 №590840 
>>590833
Дам из 14к а было больше же раз в 1 пост не влезало.
Аноним 27/11/15 Птн 23:36:08 #11 №590846 
14486565685920.jpg
>>590823 (OP)
> Основы C++
> первая лекция
> два часа объяснений как сконпелировать хэлловорлд
Аноним 27/11/15 Птн 23:41:54 #12 №590849 
>>590846
ещё слинковать и из нескольких файлов препроцесором зацикленое вложение убрать или как это называетя
Аноним 27/11/15 Птн 23:45:10 #13 №590850 
>>590849
#ifndef?
Аноним 27/11/15 Птн 23:47:49 #14 №590851 
>>590846
На, этих слушай:
http://www.youtube.com/watch?v=XqdzYJeGHaw
http://www.youtube.com/watch?v=RWF5Hc8j6dM
Аноним 27/11/15 Птн 23:54:49 #15 №590856 
>>590850
Я не помню.
Аноним 27/11/15 Птн 23:55:29 #16 №590857 
>>590839
Хранилище (warehouse) это какой-то из массивов - загружаешь в него числа, потом сортируешь. Потом с конца по очереди вытаскиваешь, тоесть просто индекс "конца" массива, читаешь число, индекс декрементируешь.
С контейнером (conteiner) сложнее, но ничто с ключами очевидно не подходит - после каждого изъятия куска из контейнера, номера нескольких кусков могут изменится (так как они сдвигаются чтобы поддерживать порядок) - следовательно нужно менять ключи, а это не вариант. Можно сделать на массиве и сдвигать элементы при удалении/вставке, но есть более хитрожопые и эффективные варианты, например https://en.wikipedia.org/wiki/Skip_list
Аноним 27/11/15 Птн 23:57:28 #17 №590860 
>>590851
Зачем этим говном забивать голову новичкам? Мы на первой лекции выводили флаг символами в консоль...
Аноним 28/11/15 Суб 00:00:29 #18 №590861 
>>590839
Хранилище пихаешь в кучу с максимальным элементом на вершине, контейнер в очередь с приоритетами. Всё.
Аноним 28/11/15 Суб 00:03:33 #19 №590862 
>>590860
Флаг переполнения, через asm-вставки?
Аноним 28/11/15 Суб 00:05:42 #20 №590863 
>>590862
Нет, псевдографикой.
Аноним 28/11/15 Суб 00:06:32 #21 №590864 
>>590861
Ну а как обновлять контейнер-то после изъятия каждого куска? Ты описал почти тот же алгоритм, что и у меня. Почему контейнер - очередь с приоритетами? Допустим, он упорядочен по номерам кусков и содержит 50 кусков. То есть на вершине лежит номер 50. А я выбираю номер 39. Как мне контейнер его вернет?
Аноним 28/11/15 Суб 00:07:21 #22 №590865 
>>590863
Это имитация 3д рисуя векторы?
Аноним 28/11/15 Суб 00:08:58 #23 №590869 
>>590857
>skip list
Ой, это говнецо у нас было на лекциях, и тогда же сказали, что такая структура трудно реализуется, имеет плохую расширяемость и почти нигде не применяется.
Аноним 28/11/15 Суб 00:19:24 #24 №590879 
>>590869
Ну это понятно, но больше нихуя нормального не вспоминается. У массива добавление/удаление за линию, поиск по индексу константа. У очереди с приоритетами добавление/удаление логарифм, но поиск по индексу линия. А у indexable skiplist логарифм во всем.
Аноним 28/11/15 Суб 00:23:46 #25 №590882 
Музыкальная пауза
https://youtu.be/afAUlDxU4Gc
Аноним 28/11/15 Суб 00:25:30 #26 №590883 
>>590882
Нет уноси.
Аноним 28/11/15 Суб 00:27:06 #27 №590884 
>>590823 (OP)
есть еще такие мультики?
Аноним 28/11/15 Суб 02:47:03 #28 №590928 
>>590823 (OP)
Новый стих! Наконец-то! Ух блядь как у меня горит от этих constexpr'ов! До сих пор!
Аноним 28/11/15 Суб 08:19:26 #29 №590974 
Почему в списке рекомендованных книг нет Дейтелов?
Аноним 28/11/15 Суб 10:51:08 #30 №590990 
>>590974
Снова ты? Если так хочешь напиши 1 строчка с названием книги и ссылкой на пдф. Дай опу и скажи в какой раздел вписать.
Аноним 28/11/15 Суб 10:52:05 #31 №590991 
Кстати в вангую во вторник бамплимит. Оп уже пишет новый стих? А шапки придумал как переделать?
Аноним 28/11/15 Суб 12:26:06 #32 №591012 DELETED
Ну и голос блин
Аноним 28/11/15 Суб 12:35:14 #33 №591016 
>>590823 (OP)
Доставьте полное видео про ежига-убийцу. Давно его смотрел, но проебал.
Аноним 28/11/15 Суб 12:48:25 #34 №591021 
>>591016
https://www.youtube.com/watch?v=4nsGF13kqWQ
Аноним 28/11/15 Суб 17:49:18 #35 №591159 
>>590884 >>591021
Покайтесь, неверные!

http://www.youtube.com/user/ogomk/playlists
Аноним 28/11/15 Суб 17:51:52 #36 №591160 
>>591159
Нахуй ты на свой канал мультики из шебмтредов залил?
Аноним 28/11/15 Суб 19:26:04 #37 №591211 DELETED
>>590823 (OP)
> ЭЙЧОЗЛАЁБ
Что это нахуй?
Аноним 28/11/15 Суб 19:48:14 #38 №591228 
Сишечка, многомерные массивы.

буква в виде массива
const int8_t o_letter[] = {1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, -1};

слово в виде массива букв (массива ссылок)
const int8_t abs_word[] = {o_letter};

Ссылка на этот многомерный массив. Верно ли??
int8_t
current_word;
current_word = abs_word;

Получение содержимого буквы. Верно ли?
int8_t *current_letter;
current_letter = &current_word[0];

int8_t current_sign;
current_sign = current_letter[0];


Аноним 28/11/15 Суб 19:49:24 #39 №591229 
>>591228
>Сишечка
Для этого другой тред. А у нас траурное молчание.
Аноним 28/11/15 Суб 20:00:34 #40 №591235 
>>591228
звездочки пожрало
https://ideone.com/Al0btz
Аноним 28/11/15 Суб 20:03:43 #41 №591237 
>>591160
это не мой канал, а канал создателя всех этих мультов, Михаила МК
Аноним 28/11/15 Суб 20:37:05 #42 №591263 
>>591228
Ссылок на массивы не бывает.
Аноним 28/11/15 Суб 20:38:46 #43 №591265 
>>590823 (OP)
По крестам Липмана читать или есть что попроще?
Аноним 28/11/15 Суб 20:39:16 #44 №591267 
>>591263
вообще не бывает? Или в смысле что это ссылка на первый элемент этого массива?
Аноним 28/11/15 Суб 20:49:13 #45 №591271 
>>591267
Ты это хотел или что?
http://melpon.org/wandbox/permlink/OP8ER5RBJxlP1Ehz
Аноним 28/11/15 Суб 20:56:26 #46 №591279 
>>591271
ок, спасибо.
А как ссылаться на этот megaArr через переменную?

http://melpon.org/wandbox/permlink/4EeQS6OK1jWewWi8
Аноним 28/11/15 Суб 20:59:13 #47 №591282 
>>591279
Юзай 2 звёздочки.
Я там в цикле указатель поменял тоже чтобы убедиться работает всё так.
http://melpon.org/wandbox/permlink/BZGgtsqik1fj0UZR
Аноним 28/11/15 Суб 21:05:01 #48 №591288 
>>591282
ок, огромное спасибо. У меня из-за const выдавало предупреждение о несовместимости типов, это и смущало
Аноним 28/11/15 Суб 21:11:08 #49 №591293 
>>591288
Обращайся, братишка.
Аноним 28/11/15 Суб 21:16:54 #50 №591296 
Блин, есть где расписано про noexcept для дебилов?
Аноним 28/11/15 Суб 21:18:49 #51 №591298 
Анон, как обойти ошибки "требуется константное выражение" при объявлении двумерных массивов int m[n][n]? Заебало это ограничение.
Аноним 28/11/15 Суб 21:28:32 #52 №591301 
>>591298
DEFINE ?
Аноним 28/11/15 Суб 21:33:06 #53 №591304 
>>591298
Платина-платина-платина.

n на этапе компиляции известно?
Аноним 28/11/15 Суб 21:33:28 #54 №591305 
>>591298
Если у тебя неизвестно n то никак.
Аноним 28/11/15 Суб 21:42:44 #55 №591315 
>>A dynamic 2D array is basically an array of pointers to arrays. You should initialize it using a loop, like this:

>>int ary = new int*[rowCount];
>>for(int i = 0; i < rowCount; ++i)
>> ary = new int[colCount];
Аноним 28/11/15 Суб 21:43:34 #56 №591318 
>>590990
Это был вопрос, а не требование добавить его в список.
Аноним 28/11/15 Суб 21:45:01 #57 №591321 
>>591265
Попробуй прочитать по одной главе каждой книги. Выбери что больше понравится. Зачем такие тупые вопросы задавать?
Аноним 28/11/15 Суб 21:46:14 #58 №591322 
>>591304
>n на этапе компиляции известно?
Нет, может быть любым.
>>591305
Ну и дерьмо. Придется пердолиться с созданием массивчиков в цикле?
Аноним 28/11/15 Суб 21:47:20 #59 №591323 
>>591322
> Ну и дерьмо. Придется пердолиться с созданием массивчиков в цикле?
А ты как думал?
Аноним 28/11/15 Суб 21:49:53 #60 №591324 
Какую книгу посоветуйте по созданию GUI на Qt?
Аноним 28/11/15 Суб 22:03:46 #61 №591333 
>>591323
Печально, что это не что-то обалденно сложное, но заебывает.
Аноним 28/11/15 Суб 22:08:28 #62 №591338 
>>591298
Используй стандартную библиотеку.
Аноним 28/11/15 Суб 22:08:41 #63 №591340 
В Qt 5.6 будет поддержка MVS2015 ?
Аноним 28/11/15 Суб 22:10:48 #64 №591344 
>>591324
Документация называется.
Аноним 28/11/15 Суб 22:11:04 #65 №591345 
>>591340
Говноедство-то какое.
Аноним 28/11/15 Суб 22:13:42 #66 №591351 
>>591321
Чтобы создавать видимость работы, и думать, что ты сделал что-то полезное - задал вопрос по книге. Читать ее не обязательно, ты уже и так много сделал на сегодня, например, посрал в /зк/.
Аноним 28/11/15 Суб 22:14:18 #67 №591352 
>>591340
Будет
Аноним 28/11/15 Суб 22:14:27 #68 №591353 
>>591345
Изысканое.
Аноним 28/11/15 Суб 22:15:01 #69 №591354 
>>591352
А есть ссыль на список всех фич и дату релиза?
Никак не могу найти.
Аноним 28/11/15 Суб 22:16:12 #70 №591357 
>>591354
https://wiki.qt.io/New_Features_in_Qt_5.6
За дату релиза хуй знает, они выход беты уже полтора месяца переносят.
https://wiki.qt.io/Qt-5.6-release
Аноним 28/11/15 Суб 22:16:49 #71 №591358 
>>591351
А я читаю нигги, но при этом иногда продолжаю задавать вопросы, какая нигга лучше. Алсо, люблю устраивать ниггосрачи.
Аноним 28/11/15 Суб 22:20:37 #72 №591364 
Поясните, почему вообще кто-то юзает массив массивов для представления 2д-массива вместо того, чтобы юзать обычный массив и обращаться через [i * ширину + j]?
Не видел ни в каких учебниках такого, но ведь это неплохая практика.
Аноним 28/11/15 Суб 22:21:02 #73 №591365 
14487384624900.jpg
>>591358
> какая нигга лучше
Эта.
Аноним 28/11/15 Суб 22:21:15 #74 №591367 
>>591357
Спасибо.
>Final Release 8th December 2015
Надеюсь и жду.
Аноним 28/11/15 Суб 22:24:12 #75 №591372 
>>591367
Нет, восьмого декабря точно не выйдет. Скорее всего в феврале-марте
Аноним 28/11/15 Суб 22:30:44 #76 №591381 
>>591344
А книга?
Аноним 28/11/15 Суб 22:31:28 #77 №591382 
>>591372
(((((((((((((((((((((((((((((((((((((((
Аноним 28/11/15 Суб 22:32:43 #78 №591385 
>>591382
Если так нужна поддержка MSVC15, то дождись бета, которая выйдет совсем скоро, и используй ее до релиза.
Аноним 28/11/15 Суб 22:46:11 #79 №591391 
>>591381
Марк Шлее.
Аноним 28/11/15 Суб 22:56:32 #80 №591397 
>>591263
А это что http://ideone.com/BCoVKD ?
Аноним 28/11/15 Суб 23:04:34 #81 №591402 
>>591397
А теперь попробуй с динамическим массивом.
Аноним 28/11/15 Суб 23:11:02 #82 №591407 
>>591402
Ну ты же понимаешь что я могу скастовать указатель на первый элемени к указателю на массив да? http://ideone.com/u6jPmT
Другое дело, что типа "динамический массив" в цп+ нет.
Аноним 28/11/15 Суб 23:16:00 #83 №591412 
>>591367
Ну и нахуя оно тебе надо, если ты все равно только учить собрался?
Аноним 28/11/15 Суб 23:18:20 #84 №591413 
>>591364
Зависит от юзкейса. Чаще последний вариант лучше и производительнее. Но масштабируемый ли? Что если наша матрица - разреженная? Нужно смотреть частный случай.
Аноним 29/11/15 Вск 00:10:54 #85 №591443 
>>591391
Спасибо.
Аноним 29/11/15 Вск 00:10:55 #86 №591444 
>>590823 (OP)
http://pastebin.com/mDsMdEnL
Объясните пожалуйста что происходит в этом коде. Что такое B& в 5 строке? И объясните пожалуйста синтаксис в 9 строке
Аноним 29/11/15 Вск 00:58:16 #87 №591466 
>>591444
>Что такое B& в 5 строке?
Ссылочный тип. Чуть более высокоуровенный указатель, если не понял - пиздуй листать учебник.

>И объясните пожалуйста синтаксис в 9 строке
Это реализация объявленного в 5-й строке оператора. Что не понятно-то?
Аноним 29/11/15 Вск 01:28:03 #88 №591496 
>>591466
мне не понятно, что происходит в реализации кода. Структуре А, которая является базовой для структуры В, присваивается константный ссылка s, и возвращается эта структура, я правильно понимаю?
Аноним 29/11/15 Вск 01:44:12 #89 №591505 
>>591496
Называется конструктор присваивания (copy assignment ctor).
использование, например :
B b { };
B otherB = b;

11 строку писал какой-то тупорылый пидар, но в общем и целом - вызывается оператор присваивания базового класса.
Аноним 29/11/15 Вск 07:02:43 #90 №591575 
14487697636830.png
Знатоки особенностей языка и закоулков стандартов, подскажите плиз, нормально ли вместо
Gdiplus::Pen pen(Gdiplus::Color(255, 0, 0));
писать
auto& pen = Gdiplus::Pen(Gdiplus::Color(255, 0, 0));
Это всегда будет гарантированно то же самое или можно сгущёнку словить?
Я сначала вообще сделал
auto pen = Gdiplus::Pen(Gdiplus::Color(255, 0, 0));
а тут, оказывается, конструктор копирования будет. Теперь за анус переживаю.
Аноним 29/11/15 Вск 08:52:38 #91 №591588 
>>591575
Effective Modern C++, главы 2, 5, 6.
Поясняется от А до Я.
Аноним 29/11/15 Вск 09:41:47 #92 №591596 
Правда, что эксепшоны - это плохой тон в плюсах по дефолту?
Аноним 29/11/15 Вск 11:04:01 #93 №591613 
Поясните, зачем нужна uniform initialization. Я вижу только одно практическое применение - создавать объекты без указания типа, например при возврате или передаче в функцию. Но я вот читаю "Prefer initializing using {}". Это что значит, я теперь конструкторы всегда должен вызывать с фигурными скобками, чтоб быть модным пацаном и не объявить случайно функцию?
Аноним 29/11/15 Вск 11:10:59 #94 №591616 
>>591596
Нет, только в гугловских командах такое. Но они ебанутые, так что не считается.
Аноним 29/11/15 Вск 11:16:19 #95 №591618 
>>591613
Суть в том, что списки инициализации неявно приводятся к типу с подходящим конструктором. Поэтому можно писать return {2,3} вместо return AbstractSingletonProxyFactoryYourMomma (2, 3), например. А раньше такое работало только для конструкторов с одним параметром.
Аноним 29/11/15 Вск 11:26:44 #96 №591619 
>>591618
Ну это я понял. Просто думаю, может это еще где-то часто используют. Я вроде встречал это раньше в каких-то не совсем понятных местах. Сейчас, к сожалению, вспомнить и привести пример не могу.
Аноним 29/11/15 Вск 11:31:43 #97 №591621 
>>591596
Бросок эксепшена довольно дорог, поэтому не нужно на них вешать какую-либо логику, только реально исключительные и редкие ситуации. На контроллерах и само существование эксепшенов может быть дорогим. Поэтому если пишешь либу, которая в теории может быть использована на кофеварках, не используй их тоже. А так они скорее добро.
Аноним 29/11/15 Вск 12:30:55 #98 №591653 
>>591596
Эксепшоны плохо в любом языке без сборки мусора, кроме случая когда они выбрасываются перед неизбежной смертью процесса. Эффективное использование эксепшенов в таких языках требует серьезного понимания че ты творишь, иначе неизбежны утечки памяти, лишние вызовы конструкторов/деструкторов и т.д. Поэтому в коде который может использовать другой программист их желательно не использовать (если небыло договоренности), так как у другога человека может не быть желания пердолиться с исключениями, раскруткой стека и т.д. В своем личном коде их можно спокойно использовать, раз ты решил что тебе с ними удобней. В некоторых ситуациях они могут действительно сильно упростить жизнь наверное.
Аноним 29/11/15 Вск 12:42:33 #99 №591669 
>>591653
А с++ все это нужно знать изначально.
Аноним 29/11/15 Вск 13:02:08 #100 №591676 
>>591613
Ну да, для однозначности. А ещё narrow_cast не скомпилируется, что порождает более безопасный код.
Аноним 29/11/15 Вск 13:48:40 #101 №591705 
Нужен учебник олимпиадным задачам. Не алгоритмам, а именно задачам.
Аноним 29/11/15 Вск 13:52:32 #102 №591709 
>>591705
Ой не тот тред.
Аноним 29/11/15 Вск 14:01:11 #103 №591717 
Пиздец, перекатился с sdl на sfml, поковырялся, а у меня простецкие игрушки внезапно сжирают по 100 мб RAM, в то время как с тем же sdl на тех же ресурсах уходило в разы меньше. Почитал — действительно затратная в плане памяти библиотека, да ещё и с интелловскими видеокартами встроенными проблем много. Короче, дохуя минусов. Если я трачу, например, 70 мб просто на бэкгроунд, залупленный из одной текстуры 50х50, то что будет дальше? Я так никакой 2d игры не сделаю.

Я в чём-то дебил? Очевидно, да, но что бы вы посоветовали? OpenGL слишком потный для меня.
Аноним 29/11/15 Вск 14:06:21 #104 №591723 
>>591717
Не парится посоветовал бы и выбирать что больше нравится. Люди, блядь, уже на питонах говно пишут (новеллки по 300 мб в оперативке :)))))))), а ты мозга ебёшь.
Аноним 29/11/15 Вск 14:09:29 #105 №591727 
>>591717
И вообще, если у тебя простецкая 2d игруля без кучи физики и прочего - выбирать нативные языки смысла не имеет вообще.
Аноним 29/11/15 Вск 14:11:11 #106 №591729 
>>591466
Ссылочный тип и ссылки это разные вещи? Синтаксис ссылочного типа это тип+&? В чём отличие между ссылками и ссылочным типом, кроме синтаксиса?
Аноним 29/11/15 Вск 14:17:08 #107 №591732 
>>591729
Это одно и то же, сказанное разными словами. Просто "имеет ссылочный тип" красивее сказать, чем просто "это ссылка".
Аноним 29/11/15 Вск 14:18:42 #108 №591734 
>>591717
Что ты там нагородил? Голый сфмл жрет 45мб плюс добавь ресурсы игры.
Аноним 29/11/15 Вск 14:26:08 #109 №591740 
>>591727
Нет, я для тестов погонял простецкие игрули, а сделать планирую кое-что немного серьезнее, даже людей собрал четыре человека, включая меня.

Ну а так, мне в целом плюсы нравятся, да и я не спешу никуда, такие дела.

>>591734
Я для теста взял текстуру 50x50, заполнил ей область 800x600, то есть вывалил на экран 192 такие текстуры. Затем ещё одна текстура 50x50 и один анимированный объект из семи текстур.

Всё это говно резервирует 80 и жрет 50 мб сразу со старта. Да, это не проблема, это не много, но и игры ещё нет. Сейчас я засуну туда паки уже готовых тайлов, эффекты, уже нарисованных и анимированных персонажей, и что получится? Короче, мне страшно смотреть на такие огромные цифры.
Аноним 29/11/15 Вск 14:40:43 #110 №591751 
>>591740
Короче, выкинул всю загрузку текстур нахуй.
13 используется, в целом зарезервировано - 50 мб.

Делаю это:
texture.loadFromFile("ground_174.png");
sprite.setTexture(texture);
texture_block.loadFromFile("block_017.png");
sprite_block.setTexture(texture_block);

Получаю 32/58.
Я ничего не рендерю, просто загрузил две текстуры 50x50 px.

Добавляю к этому загрузку тайл сет для персонажа. Разрешение 252x168. Много, да, но там 21 кадр анимации.

Получаю 47/75 мб.
Мне кажется, что это полный пиздец для приложения такого уровня, ведь персонаж на экране не один, объектов должно быть много, большинство из них с анимацией, что ведет к ещё большему количеству текстур. Я не хочу потом вывалиться нахуй со своими требованиями уровня "ребята, ставьте 8 гигов ram для 2D говна".
Аноним 29/11/15 Вск 14:53:50 #111 №591761 
>>591751
Ты дурачок конченый, у тебя с математикой плохо, приходи через два годика.
Это действительно полный пиздец, ты не имеешь никакого представления о работе с памятью.
Аноним 29/11/15 Вск 16:50:30 #112 №591834 
>>591619
Ну, насколько я понял идею комитетчиков, они хотели сделать, чтобы ты мог просто писать всегда одинаково, не задумываясь о том, какие скобки выбрать. С () это невозможно из-за хуйни с объявлением функции, поэтому юзают {}. Другое дело, что полной универсальности там все же не вышло, про это еще Скотт пилил в своей статье, например.
Аноним 29/11/15 Вск 17:22:17 #113 №591851 
>>591740
Дебил, даже пустая игра будет есть 45 метров, тебе уже сказано.
Это старт.
Аноним 29/11/15 Вск 18:42:02 #114 №591909 
Аноны, что читать чтобы стать вирмейкером? Какой C++ используется в низкоуровневом программировании? Как вкатиться в низкоуровневоее программирование через C++?
Аноним 29/11/15 Вск 18:45:53 #115 №591914 
>>591909
>Аноны, что читать чтобы стать вирмейкером?
Калашников, Крупник, Крис Касперски. Тот, кто не может написать вирус на асме, не напишет его и на C++. Когда осилишь Калашникова, кури PE формат.
Аноним 29/11/15 Вск 18:52:48 #116 №591920 
>>591909
>Аноны, что читать чтобы стать вирмейкером?
Литературу на лето для начала.
Аноним 29/11/15 Вск 18:57:43 #117 №591923 DELETED
>>591920
Ахаха круть ты ево подъябнул)) Тип все вирьмекеры школьники ебать вот эта шутка))))
Аноним 29/11/15 Вск 19:03:38 #118 №591926 
>>591717
Debug info не вкомпилил ли ты?
Аноним 29/11/15 Вск 19:24:46 #119 №591944 
>>591575
>GDI+
Это же вообще хуетень какая-то. Там в этом CLR вообще непонятно что творится.
Аноним 29/11/15 Вск 19:25:57 #120 №591945 DELETED
>>591909
нах те чето читать? пиши, блядь
Аноним 29/11/15 Вск 20:36:19 #121 №591986 
сап, аноны
хочу чтобы мне показывало все цифры в диапазоне от v1 до v2, а происходит нихуя, если я за while выношу std::cout<<v1, v2; то мне показывает лишь первую цифру. Помогите чтоли нюфане
setlocale(LC_CTYPE, "rus");
int v1, v2;
std::cout<<"Укажите первое число";
std::cin>>v1;
std::cout<<"Укажите второе число";
std::cin>>v2;
while (v1>=v2) {
++v1;
std::cout<<v1, v2;
}
getch();
return 0;
Аноним 29/11/15 Вск 20:37:50 #122 №591988 
14488186701060.png
>>591986
хуйня какая то с кодом, вот лучше скрин
Аноним 29/11/15 Вск 20:38:09 #123 №591989 
>>591986
https://en.wikipedia.org/wiki/Comma_operator
Аноним 29/11/15 Вск 21:10:56 #124 №592000 
>>591740
>>591740
Я щас пишу второй игорь на сфмл.
Что ты там за людей собрал? Интересно.
Аноним 29/11/15 Вск 21:13:33 #125 №592002 
>>591989
>>591986
тут кроме запятой еще какая-то хуйня с логикой
- странное сравнение (что у тебя нижняя граница?)
- странное приращение v2 (зачем? почему?)
Аноним 29/11/15 Вск 22:11:18 #126 №592026 
>>592002
Да я уже понял что я даун, какую-то херню написал.
Аноним 29/11/15 Вск 23:06:30 #127 №592050 
В ЧЁМ РАЗНИЦА?
Есть переменная флоат. Хочу инициализировать её. В чём будет разница между
float f = 0;
и
float f = 0.f;
и
float f = 0.0;

В первом будет приведение из инт к флоат? Или какие вообще типы у чисел 0, 0.0?
Аноним 29/11/15 Вск 23:11:00 #128 №592054 
>>592050
Разница есть только для уёбанных по голове байтослесарей.
Аноним 29/11/15 Вск 23:15:10 #129 №592057 
>>592054
Ну, то, что будет работать, это понятно, да.
Аноним 29/11/15 Вск 23:16:28 #130 №592059 
>>592050
Ни в чем, компилятор все равно выдаст pxor %xmm0, %xmm0.
Аноним 29/11/15 Вск 23:32:26 #131 №592075 
>>592054
Твои слова выдают долбоеба в тебе. Разницы не будет даже для байтослесарей, инициализаторы приводятся на этапе компиляции.
Аноним 30/11/15 Пнд 00:17:07 #132 №592116 
>>590823 (OP)
http://pastebin.com/6nVEQENt
объясните пожалуйста что означает запись ((X)y) в 17 строке этого кода, и почему при выводе будет выводиться 21 , хотя переменная i объявлена как константная?
Аноним 30/11/15 Пнд 00:19:02 #133 №592118 
>>592050
Никакой. Разница может быть если ты сделаешь float input_var;
std::cin >> input_var;
input_var += и тут твои варианты.
В таких местах вроде надо указывать, чтобы оно не привелось сначала к double, потом обратно во float.
Еще постфиксный f полезен, когда объявлено auto
Аноним 30/11/15 Пнд 00:33:37 #134 №592128 
Аноны, сейчас джуниору реально вакансию найти, без вышки?
Аноним 30/11/15 Пнд 00:38:30 #135 №592134 
>>592128
да
http://jobs.dou.ua/vacancies/?category=C%2B%2B
Аноним 30/11/15 Пнд 00:38:59 #136 №592136 
>>592134
А в Дс? Не украина
Аноним 30/11/15 Пнд 00:41:51 #137 №592139 
>>592116
у кастится к типу X. Изначально у имеет тип Y и при вызове метода выводится 2, потом у кастится к Х и при вызове метода выводится 1, так как вызывается метод класса Х а не Y.
Аноним 30/11/15 Пнд 00:44:13 #138 №592143 
Поясните за QML. Есть ли вообще смысл использовать технологию QtQuick если не используешь нестандартные элементы и замысловатую анимацию в гуе? Среди плюсов QtQuick могу выделить лишь то, что в qtдизайнере можно рисовать разные state, это, кстати, очень круто. Среди минусов — Меню бар надо ручками вписывать (или я чего не понял), webview и тд. руками засовывать. Qt designer под QML каким-то недоделанным выглядит.
Аноним 30/11/15 Пнд 00:50:29 #139 №592147 
>>592050
Конкретно в твоем случае разницы нет, но в некоторых других случаях способ записи может повлиять, например на выбор перегрузки функции, или там шаблона http://ideone.com/6mGXCj
Литерал из одних цифр без любых других символов (типа 0) считается типа int, литерал из точки и цифр типа double. У всех остальных там свои обозначения - у float в конце f, шестнадцетеричные литералы начинаются на 0x и т.п.
Аноним 30/11/15 Пнд 00:51:35 #140 №592148 
>>592143
На мой взгляд, это дело вкуса.
На десктопе лучше традиционные Qt Widgets, на мобильных/встроенных (не десктопе, в общем) лучше QML.
Ну и да, если хочешь сделать не нативный вид - то QML удобнее.
Аноним 30/11/15 Пнд 00:52:29 #141 №592150 
>>592148
P.S. Qt Designer - это плохо. Кроме случаев совсем простого дизайна.
Аноним 30/11/15 Пнд 02:22:15 #142 №592210 
>>592143
QML охуенен. Декларативность, property bindings, вот это вот все. Сложные вещи меньшим количеством кода.
Аноним 30/11/15 Пнд 02:28:12 #143 №592217 
>>592210
this
единственный минус это js
Аноним 30/11/15 Пнд 04:32:33 #144 №592265 
>>591926
Нет, одинаково выходит.
Аноним 30/11/15 Пнд 04:34:59 #145 №592266 
>>592000
Художник, парень_работающий_со_звуком и ещё один программист несколько получше меня. Ну а на мне гейм дизайн в основном, ибо кодер с меня такой себе. В любом случае, буду вникать.
Аноним 30/11/15 Пнд 16:44:52 #146 №592568 
Я, блядь, что-то не понял.

sprite.setPosition((k - x) 24 - off_x, (i - y) 24 - off_y);

Есть вот эта строчка кода.
Игнорируйте k - x и i - y, допустим, что там ноль.
off_x и off_y у меня были unsigned int, ибо я знал, что они всегда будут положительными. Это каким-то образом мешает мне вычитать их из других значений?

Я просто охуел, долго не мог найти проблему в коде, у меня ряд спрайтов не рисовался вообще. Сделал off_x и off_y знаковыми — всё стало нормально.
По идее, допустим, off_x равен 10, а k - x = 0, в итоге из нуля вычитается 12 и функции передается результат -12.

Это что получается, если из signed вычесть unsigned, то результат будет unsigned?
Аноним 30/11/15 Пнд 16:47:34 #147 №592572 
>>592568
Говна какого-то накидал, а мы должны разбираться, да?
k, x, 24 блять, что это? Что за месиво? Иди нахуй, короче.
Аноним 30/11/15 Пнд 16:53:51 #148 №592574 
>>592572
Не рвись. Думал, что нормально описал. Раз нет, сейчас исправлюсь.

k и i - переменные для итераций цикла. x и y - начальные значения для k и i в этих циклах. Циклы вложенные, у меня проблема была именно с первыми итерациями, а в первых итерациях k - x и i - y будет давать ноль.

Поэтому мой вопрос упрощается до этого:
sprite.setPosition((0 - off_x, 0 - off_y);

То есть для первых итераций я получаю координаты элементов путем вычитания unsigned оффсета из нуля.
Аноним 30/11/15 Пнд 17:08:16 #149 №592581 
>>592574
Не знаю, как у вас получается писать такую несвязную лапшу и не путаться в ней же.
Аноним 30/11/15 Пнд 17:11:37 #150 №592583 
14488926977000.png
>>592568
>>592574
Короче, если сделать так:
unsigned int x = 12;
А затем в функцию, принимающую флоат, передать (0 - x), то функция получит пикрелейтед, а если же x у нас signed, то функция получит -12.
Аноним 30/11/15 Пнд 19:26:33 #151 №592722 
Джедаи, есть чо практического по кодам Рида-Соломона? Хочу кое что послать по радио, принять и исправить ошибки.
Аноним 30/11/15 Пнд 19:43:30 #152 №592737 
>>592722
Криса Касперски не рикамендую, у него там лютый быдлокод.
мимо математик
Аноним 30/11/15 Пнд 20:28:17 #153 №592780 
>>592737
Не хуйню сможешь порекомендовать?
Аноним 30/11/15 Пнд 20:45:40 #154 №592796 
>>592780
В книге Laws of Cryptography есть код Хэмминга с реализацией.
Аноним 30/11/15 Пнд 20:46:53 #155 №592800 
Чего ещё не в бамплимите?
Аноним 30/11/15 Пнд 21:15:21 #156 №592827 
>>592796
Код Хэмминга же для исправления одиночных ошибок.
Это не так интересно.
Аноним 30/11/15 Пнд 23:14:49 #157 №592920 
>>592827
Нихуя, он может в любое количество ошибок, в зависимости от избыточности.
Аноним 30/11/15 Пнд 23:20:32 #158 №592932 
inline
Хочу сделать инлайн функции. Но не хочу делать definition в хедере. Как правильно их писать тогда? И в хедере и в соурс-файле приписать inline?
Аноним 30/11/15 Пнд 23:32:59 #159 №592937 
Вопрос:
Может ли конструктор унаследованного класса применять инициализаторы для какого-то своего поля?
То-есть, есть класс А, есть класс B, который наследуется от A.
В классе B есть поле:
bool is_child;
Могу я создать конструктор:
B() : is_child(false) {}
Аноним 30/11/15 Пнд 23:35:29 #160 №592939 
>>592932
Никак. Откуда тебе, блядь, компилятор узнает, что вместо вызова подставить, если соурс еще не написан, например?
Аноним 30/11/15 Пнд 23:36:20 #161 №592940 
>>592937
Можно и нужно так делать.
Аноним 30/11/15 Пнд 23:38:47 #162 №592942 
>>592940
Всё, нашёл ошибку. В названии конструктора написал вместо буквы t, c. Звучание там похожее в слове, вот и ошибся ;)
Аноним 30/11/15 Пнд 23:56:08 #163 №592950 
Где обычно пишут комментарии? В хедере или там, где реализация? Или копируют и туда и туда?
Аноним 01/12/15 Втр 00:04:57 #164 №592963 
>>590823 (OP)
скажите, может ли производный класс в с++ наследовать конструктор?
Аноним 01/12/15 Втр 00:10:30 #165 №592970 
>>592932
Для этого делают отдельный файл .inl, в него пишут определения со словом inline, и инклудят его в конец .h файла
Аноним 01/12/15 Втр 00:14:37 #166 №592975 
>>592950
Вообще пушка. Если надо пояснить, зачем нужен метод/класс или как его использовать - в хедере. Если надо пояснить, почему так реализовано, то в исходнике рядом с кодом.

Комментарии нужны только для тех вещей, которые не говорят сами за себя или не очевидны.
Аноним 01/12/15 Втр 00:17:18 #167 №592976 
>>592970
>инклудят его в конец .h файла
В смысле? Получится цикличная хрень какая-то.
Например, есть класс Point. Хочу сделать несколько inline функций для этого класса, типа plus(p1, p2), minus(p1,p2) и так далее.
Если делать в другом файле, то получится, что мне придётся в point.inl файле делать инклуд point.h и в файле point.h делать инклуд point.inl файла.
Аноним 01/12/15 Втр 00:19:19 #168 №592978 
>>592975
Ну просто во всяких IDE есть, например, подсказки. Откуда они читаются? Из хедера или из соурс-файла?
Да и вообще, есть какая-то "традиция", наверняка.
Аноним 01/12/15 Втр 00:29:25 #169 №592985 
>>592978
Очевидно из хэдера. Сурса у библиотеки может и не быть - скомпилированная dll/so, к примеру.
Аноним 01/12/15 Втр 00:47:10 #170 №592992 
>>592978
brief && params
Аноним 01/12/15 Втр 01:29:20 #171 №593006 
>>592976
В inl ничего не надо инклудить, а если таки хочется(для подсветки или автодополнения), то есть include guard'ы
Аноним 01/12/15 Втр 06:44:32 #172 №593061 
14489414720290.jpg
А расскажите, кто что для себя писал, а не по техзаданию.
Аноним 01/12/15 Втр 06:45:58 #173 №593062 
>>593061
Пишу мелкие говноигры для самообучения.

При надобности пишу всякие пакеры/анпакеры архивов для ресурсов игр при ромхакинге.
Аноним 01/12/15 Втр 08:33:02 #174 №593093 
Аноны, а как в Си плюсах с мешами и булевыми операциями?
Мне надо сделать динамическое разрушение брони, с помощью prefacture map, си плюсы имеют библиотеку на это?
Аноним 01/12/15 Втр 08:41:22 #175 №593096 
>>593093
То-есть вот такое, как на 1:50
http://www.youtube.com/watch?time_continue=112&v=eB2iBY-HjYU
Аноним 01/12/15 Втр 08:43:14 #176 №593097 
>>593096
Ну и вот статья
http://matthias-mueller-fischer.ch/publications/fractureSG2013.pdf
Аноним 01/12/15 Втр 08:48:03 #177 №593099 
>>593097
Ебать там список литературы, он бы еще словари включил
Аноним 01/12/15 Втр 09:09:02 #178 №593103 
>>592963
Это не происходит автоматически, но может. Пишешь using A::A () внутри B.
Аноним 01/12/15 Втр 11:38:34 #179 №593154 
Есть у меня директории include для .hpp и src для .cpp
то бишь
..
── include
── src

У меня уже очень много файлов и там, и там. Я могу в принципе выделить в отдельные субдиректории определенные классы? Например, я делаю компонентную систему, логично ли будет сделать так:
── include
──── {хидеры }
──── System
────── { хидеры систем }
──── Component
────── { хидеры компонентов }
── src
────
──── System
────── ....
──── Component
────── ...

Или так не принято? Надеюсь, вопрос понятен.
Аноним 01/12/15 Втр 11:44:26 #180 №593156 
>>593062
Посмотреть исходники можн?
Аноним 01/12/15 Втр 15:11:18 #181 №593256 
Анончик, смотри какая проблема. Учу значит C++, и вот какая проблема - я учу тупо чтобы учить, т.е. понятия классов, наследования, stl итд итп. Т.е. как учебник, просто зубрю по сути.
А вот как это потом применять на практике уже и не знаю.
В общем что посоветуете, дабы выйти из такого тупика, няши?
Может расскажете как вы учили? Что нужно учить, чтобы можно было бы применять это на повседневной практике?
Аноним 01/12/15 Втр 16:31:52 #182 №593283 
>>593256
Ты спрашиваешь нас зачем ты учишь С++?
Ну, если тебе это не нужно, то не учи.
Аноним 01/12/15 Втр 16:35:37 #183 №593285 
>>593256
олимпиадные задачи > курсовые > свой проект

потом на работу
БЛАГАЯ ВЕСТЬ Аноним 01/12/15 Втр 16:55:12 #184 №593295 
Свершилось, братья!

Как и было предсказано Гербом, сегодня ночью вышел Update 1 для VS 2015, в который, помимо кучи других плюшек, входит полноценная поддержка gcc и clang, включая IntelliSense и все возможности отладки. Отныне можно пилить кросплатформенный софт, не отрывая руку от мышки, без какой-либо ебли с ssh-пробросами на виртуалку и прочего дерьма. Ну а гнутые выблядки со своими бомжесредами наконец окончательно перестанут вынимать хуи студиобояр из своих ртов.

Накатить обновление можно из панели управления.
Аноним 01/12/15 Втр 17:24:55 #185 №593313 
>>593295
Эта хуйня небось с трудом работает сейчас.
Аноним 01/12/15 Втр 17:38:51 #186 №593322 
>>593295
Качнул апдейт с сайт микрософта и накатил поверх своего украденного ентерпрайза.

Правда, IntelliSense в некоторых случаях всё ещё выдает ошибки, выдуманные им самим.
Аноним 01/12/15 Втр 18:22:26 #187 №593355 
14489833460700.jpg
Здарова, мужики, читаю Страуструпа уже какой месяц (с перерывами на другую литературу офк) и дошел до графики, где поясняются основы. И назрел такой вопрос, там в качестве примера используется FLTK библиотека и я не хочу её накатывать, то есть нахуй она нужна, если можно попрактиковаться с какой-нибудь более сложной и используемой (не как учебная). Подскажите в общем.
Аноним 01/12/15 Втр 18:32:32 #188 №593362 
>>593355
Как ты думаешь, она в шапке треда находится потому что учебная, или потому что она компактная и достаточная для большинства задач?
Аноним 01/12/15 Втр 18:37:35 #189 №593365 
>>593362
Только сейчас увидел, что шапку треда дополнили. Ну раз так, то пойду ставить FLTK.
Аноним 01/12/15 Втр 18:39:31 #190 №593367 
>>593154
Так и делают, обычно.

Но я люблю cpp и hpp в одну кучу, если это не библиотека
Аноним 01/12/15 Втр 18:42:10 #191 №593370 
>>593256
Надо писать что то своё. И читать код других программ и библиотек.

И вообще, платина уже, надо добавить в шапку, а то она что маленькая какаят :3
Аноним 01/12/15 Втр 19:29:54 #192 №593396 
>>593295
Сейчас подрочил clang'ом простейшие хэллоуворлды с потоками, багов пока замечено не было. Размер релизной версии получается на пару байтов больше, чем у родного компилятора. Отладка работает идеально, как на родном, включая все фичи с графиками производительности, отображением параллельных стеков и всем остальным. Я кончаю просто от этого апдейта, посоны.
Аноним 01/12/15 Втр 19:30:43 #193 №593398 
>>593396
Хуй знает, для меня ничего не изменилось, разве что смайлик пропал
Аноним 01/12/15 Втр 19:33:58 #194 №593401 
>>593396
И да, исключения пока не прикрутили, пичаль.
Аноним 01/12/15 Втр 20:16:36 #195 №593412 
ДОПОЛНИТЕ FAQ В ШАПКЕ ОТВЕТОМ НА СЛЕДУЮЩИЙ ВОПРОС:
Анончик, смотри какая проблема. Учу значит C++, и вот какая проблема - я учу тупо чтобы учить, т.е. понятия классов, наследования, stl итд итп. Т.е. как учебник, просто зубрю по сути.
А вот как это потом применять на практике уже и не знаю.
В общем что посоветуете, дабы выйти из такого тупика, няши?
Может расскажете как вы учили? Что нужно учить, чтобы можно было бы применять это на повседневной практике?
Аноним 01/12/15 Втр 20:23:32 #196 №593418 
>>593412
Нужен пункт как учить кресты? Предлагал выше https://arhivach.org/thread/125532/#590737. Можно и про это в первом и предпоследнем пункте пояснить.
Аноним 01/12/15 Втр 20:28:58 #197 №593423 
>>593396
>>593295
А чё там с неймспейсами теперь?
Аноним 01/12/15 Втр 20:57:08 #198 №593438 
>>593418
Так теперь tl;dr (кратко) и первая половина FAQ (развернуто) поясняют, как учить, не?

В игровой форме я нихуя не нашел. Было бы здорово, если бы анон дал ссылку на что-то вроде JavaRush, но только для крестов. Хотя я не уверен, что вообще существует в этом плане что-то, кроме сервисов с сотнями олимпиадных задач.
Аноним 01/12/15 Втр 20:57:52 #199 №593440 
>>593423
А что с ними? Как работали, так и работают.
Аноним 01/12/15 Втр 21:01:03 #200 №593445 
>>593438
дерьмо этот ваш жабараш
Аноним 01/12/15 Втр 21:05:48 #201 №593450 
>>593438
Теперь всё в кучу. Что-то слишком развернуто, а что-то недостаточно детально описано. Надо бы и кратко и подробно. Без лишнего, но что бы всё влезло. Вопрос и ссылка на пастебин с ответом. Так что бы ответ можно было использовать отдельно от шапки. Я сам хотел составить что-то такое, но идей кроме читай книги пиши код нету. И занят для составления шапки. codewars вроде в кресты может и помогает в практике.
Аноним 01/12/15 Втр 21:10:25 #202 №593451 
>>593440
http://habrahabr.ru/company/infopulse/blog/267781/
Аноним 01/12/15 Втр 21:11:10 #203 №593452 
>>591407
Вектор?
Аноним 01/12/15 Втр 21:56:41 #204 №593470 
14489962018950.jpg
Время дебильных вопросов, только не бейте.

Есть один мамкин пограмист и это я, знаю js, немного знаю python, хочу расширить свои познания о программировании, стать крутым парнем, понимать архитектуру, паттерны, алгоритмы, нормальное ООП и другие вещи. Я уж молчу про работу с железом, памятью и прочими ништяками.
Понятное дело в языках типа JS и вебе я от этого отрезан и даже слабо представляю себе реализацию полноценного бэкенда, да чего уж там, даже ООП не завезли! Отсюда и мое желание осилить нечто сложное и необузданное, такое как С++.

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

И мой вопросик в том, правильный ли тут будет выбор С++?
Смогу ли я осилить такие вещи как архитектурные решения, паттерны, нормальное ООП, работу с памятью и другие ништяки НЕ РАБОТАЯ на С++? Я имею ввиду, не работая за деньги, а читая тонны литературы, гугля и разрабатывая свои приложения?
Сейчас работая на жс я уже заметил, все лучшие ребята на жс которых я знаю писали раньше на подобных языках и их понимание намного лучше моего, я чувствую себя дауном аутистом среди гениев.

Подскажите посаны, не хочу въебать кучу времени и сил в никуда, но хочу расширить свои знания.
Аноним 01/12/15 Втр 22:17:43 #205 №593480 
>>593470
c# твой выбор.
Аноним 01/12/15 Втр 22:18:36 #206 №593481 
>>593470
На крестах для новичка работы нету, так что забудь об этом языке
Аноним 01/12/15 Втр 22:18:41 #207 №593482 
>>593451
А, ты про модули. Хуй знает, я еще не пробовал. Но вообще я скептически отношусь к этой затее, ибо все равно основными убийцами быстрой компиляции являются шаблоны, а с ними модули не являются волшебной таблеткой, ничем не отличаясь от обычного подхода. А десять проходов парсера по нешаблонному хэдеру считать серьезной проблемой как-то стремно в 2015 году, лол.
Аноним 01/12/15 Втр 22:20:33 #208 №593483 
>>586516 (OP)
Аноны, нужно реализовать динамическое разрушение.
Вдохновляюсь вот этой вот статьей, пишу все на крестах, можно ли там все сделать, как в этой статье?
Это работа с мешами, библиотека для работы с мешами подойдет, да?
И еще, матан знаю слабо очень, а тут что-то типа матрицы в статье.
http://matthias-mueller-fischer.ch/publications/fractureSG2013.pdf
Аноним 01/12/15 Втр 22:21:27 #209 №593484 
>>593450
>кратко и подробно
Исхитрись-ка мне добыть
То, чего не может быть.
Аноним 01/12/15 Втр 22:22:35 #210 №593486 
>>593481
Как это нету, а как тогда язык развивается то?
Или он мертв уже, вы тут всем тредом труп ебете?
Серьезно, все так хуево?
Аноним 01/12/15 Втр 22:24:34 #211 №593489 
>>593486
>для новичка
Вот в этом вся соль. Здесь сидят успешные гуру, а не новички, смекаешь?
Аноним 01/12/15 Втр 22:24:56 #212 №593490 
>>593489
А откуда возьмутся еще успешные гуру, если новичков нету?
Аноним 01/12/15 Втр 22:26:30 #213 №593491 
>>593490
Они стали успешными еще в 90-х, когда работа для новичков была, очевидно же.
Аноним 01/12/15 Втр 22:27:20 #214 №593492 
>>593482
Дык их и не ввели чтобы пробовать.
Тем не менее, даже если конпеляцию шаблонного кода это не сильно разгонит, то хоть более менее человеческую структуру библиотечному коду придаст чтоле. Вообще надо запретить нахуй все эти импорты хуимпорты везде, кроме системных библиотек и излишне тяжёлого говна и наслаждаться открытым кодом
Аноним 01/12/15 Втр 22:29:25 #215 №593494 
>>593486
Пугает тебя антоша. Вакансий и правда в 10 раз меньше мейнстримной жабы/жээса/дотнета, но и с кол-вом кадров дела обстоят аналогично.
Аноним 01/12/15 Втр 22:30:50 #216 №593495 
>>593483
Аноны, никто не знает?
Если обычную библиотеку использовать и обычные булевы операции применять, то оно прокатит?
Про алгоритм спавна спасибо автору статьи.
Но есть ли на крестах такая библиотека? Сам я такое походу не напишу.
Аноним 01/12/15 Втр 22:31:27 #217 №593496 
>>593482
И насчёт "неразгонит": поясните чтоле тупому, почему же ещё в том же D компиляция в 20 раз быстрее?
Аноним 01/12/15 Втр 22:31:55 #218 №593497 
>>593484
Ну вот. Надо как-нибудь вот так. Лаконично если те слова не нравятся.
Аноним 01/12/15 Втр 22:32:13 #219 №593498 
>>593480
Но он же майкрософтовский и особо далеко от жабы не уехал в плане применения, нэ?

>>593481
В этом то и частично мой вопрос был, так уж мне надо прям на нём работать или можно коммитить в опенсорс например и изучать новое?
Аноним 01/12/15 Втр 22:33:06 #220 №593499 
>>593494
>но и с кол-вом кадров дела обстоят аналогично.
Где статистику посмотреть?
Аноним 01/12/15 Втр 22:33:09 #221 №593500 
>>593495
Чо как маленький-то
https://github.com/search?utf8=✓&q=fracture+language%3Ac%2B%2B&type=Repositories&ref=searchresults
Аноним 01/12/15 Втр 22:34:43 #222 №593502 
>>593498
Да тебе надо как раз работать, изголяйся как хочешь и унижайся потом перед боссом на собеседовании, может поможет
Аноним 01/12/15 Втр 22:36:04 #223 №593505 
>>593500
Насчет realtime fracture, какой-то проект 2-х летней давности
Аноним 01/12/15 Втр 22:36:39 #224 №593506 
>>593498
ТЫ работать на нём хочешь или для себя выучить, но на роботу/собеседования не ходить и не зарабатывать? Без работы можно по книгам всю выучить.
Аноним 01/12/15 Втр 22:36:59 #225 №593507 
>>593499
На гитхабе хотя бы:
>language:java
>We’ve found 1,517,595 repository results
>language:js
>We’ve found 1,764,471 repository results
>language:c++
>We’ve found 465,676 repository results

Причём как минимум четверть из крестовых проектов - кирилообразныйгеймдев.
Можешь ещё проследить частоту апанья этого треда и тредов мейнстримных языков (задачка тебе тренеровочная).
Аноним 01/12/15 Втр 22:40:30 #226 №593510 
>>593507
Нихуя не понял. Я спрашивал сравнение статистики спроса/предложения новых джуниоров или тех что без опыта работы кадров на разных языков, а не количество проектов.
Аноним 01/12/15 Втр 22:42:26 #227 №593513 
>>593496
Потому что Александреску, зная тонкости анальных плясок с шаблонами, смог обойти большинство граблей, на которые наткнулись разработчики крестов и их компиляторов давным-давно. Теперь сами кресты нельзя перепилить без нарушения обратной совместимости, а зделать новый язык можно, вот и сделали.
Аноним 01/12/15 Втр 22:42:46 #228 №593514 
>>593502
Не понел тебя, лол.

>>593506
Я работаю на жс, я хочу его выучить чтобы иметь представление как работают серьезные пацанские языки, которые применяют для серьезных штук серьезные дяди, где есть полноценные ООП, на которых можно изучать алгоритмы, понимать работу с железом и подобное.
Ну и если буду в мобалй перекатываться под ios что эти знания мне помогут.
Короче, хочу познать не скриптовую сторону программирования, где всё за тебя уже сделали дяди на тех же самых С++.
Аноним 01/12/15 Втр 22:51:09 #229 №593518 
>>593514
Да. Тебе в С++, но можно и во что угодно. Не увидел вопроса и не понял почему ты выбрал кресты. Но можно учить что угодно. От архитектуры компьютера и VHDL, до администрирование линукса. Языке тоже любые подойду если только на js писал. От Lisp и Haskell до Fortran и Assembler. Кресты учить долго. Проще сначала Си, а потом и Objective-C/Swift если будешь в ios вкатываться.
Аноним 01/12/15 Втр 22:52:23 #230 №593519 
>>593510
Прямая, блядь, зависимость. Если язык востребован - больше челиков пытаются пилить портфолио и делают/копипастят всевозможные опенсорс проекты.

Давай по вакансиям:
https://www.linkedin.com/jobs/search
>8 395 вакансий на должность C++ Junior
>78 267 вакансий на должность Java Junior
Аноним 01/12/15 Втр 22:53:49 #231 №593521 
>>593519
А предложения? Сколько человек ищут работу?
Аноним 01/12/15 Втр 22:55:09 #232 №593523 
14489997094460.png
>>593519
Аноним 01/12/15 Втр 22:58:51 #233 №593526 
>>593513
Что мешает ввести исправленные шаблоны, назвав их шаблоны2, оставив старые на месте как они это сделали с hash_map?

>>593521
Хуй знает где мне это говно найти. Ты, блядь, видимо совсем тупой, если не можешь сделать выводов из имеющейся инфы.
Аноним 01/12/15 Втр 23:00:19 #234 №593528 
Аноны, а чего вообще пойти вкурить, чтобы понять, как работают эти физиксы, что они делают с мешами и все прочее, базовое?
А то я что-то не понимаю.
Аноним 01/12/15 Втр 23:00:49 #235 №593529 
>>593526
>из имеющейся инфы
Но я не могу её найти.
Аноним 01/12/15 Втр 23:04:28 #236 №593531 
>>593526
Блядь, заебало уже это говно. Потом у нас десять версий интеджеров лежит, 8 из которых устаревшие, а девятый НУ ВЫ ТАМ НЕ ИСПОЛЬЗУЙТЕ НАВЕРНОЕ ЛУЧШЕ ХОТЯ ХУЙ ЗНАЕТ.
Аноним 01/12/15 Втр 23:04:50 #237 №593532 
>>593528
Откуда всю эту инфу взять, аноны?
Посоветуйте литературу, чтобы понять о мешах/полигонах/фрактуринге
И прочем? Чтобы суметь сделать разрушения, как в PhysX или Хавоке?
Аноним 01/12/15 Втр 23:07:02 #238 №593534 
14490004222110.jpg
>>593529
МОЧЕРАТОР БЛЯДЬ! ИДИ БАНЬ УЖЕ ЭТОГО ЖИРНОГО ПИДОРА, ОН ОПЯТЬ ОБОСРАЛСЯ!
ВНЕЗАПНО кол-во погромистов на каком либо языке зависит в первую очередь от спроса на рынке. Про кол-во джунов - требования к "джуну" плюсовику немного на другом уровне, относительно всевозможных жавадебилов.
Аноним 01/12/15 Втр 23:09:05 #239 №593537 
>>593534
>>593523
Ну тут же не так.
Аноним 01/12/15 Втр 23:11:45 #240 №593541 
>>593532
И в попу такая засовывается, как же больно, блин.
Аноним 01/12/15 Втр 23:32:40 #241 №593588 
>>593528
Не сходить ли тебе в /gd/?
Аноним 01/12/15 Втр 23:53:24 #242 №593623 
>>593588
Там нет программистов почти
Аноним 02/12/15 Срд 00:36:52 #243 №593661 
>>593623
А кто там?
Аноним 02/12/15 Срд 01:24:24 #244 №593690 
Если в ламбде нужно передать значения из области видимости по ссылке, без копирования, две штуки, считается хорошим тоном их же и передать в capture (хуй знает как это дерьмо называется по-нашему), типа, [&param1, &param2], либо обойтись [&]?
Аноним 02/12/15 Срд 08:22:06 #245 №593795 
>>590823 (OP)
Годная шапка.
Аноним 02/12/15 Срд 09:07:13 #246 №593802 
>>593452
Это класс.
Аноним 02/12/15 Срд 09:10:27 #247 №593805 
>>593690
Если у тебя дохуялион локальных переменных, перед объявлением лямбды, то лучше, конечно, указать только нужные тебе.
Аноним 02/12/15 Срд 09:14:18 #248 №593807 
>>593690
>>593805
Хотя хуй знает. Кокомпилятор может сам определить что используется и что нужно захватить.
Аноним 02/12/15 Срд 09:17:55 #249 №593809 
>>593807
>В магазине общение с покупателями сведено к минимуму.
кекус, ну так пусть пиздует обратно продаваном в ашан.
Аноним 02/12/15 Срд 10:02:17 #250 №593828 
Функция может возвращать 2 параметра? На вход отправляю 1 структуру на выход получаю 2?
Аноним 02/12/15 Срд 10:05:43 #251 №593830 
>>593828
std::pair, std::tuple
Аноним 02/12/15 Срд 10:09:48 #252 №593832 
>>593830
только так? спасибо
Аноним 02/12/15 Срд 10:13:00 #253 №593834 
>>593832
Можно пару ссылок в качестве аргументов передавать.
Аноним 02/12/15 Срд 12:04:14 #254 №593874 
>>593532
>Откуда всю эту инфу взять, аноны?
Откуда же ее взять, дейстивтельно?!

http://lmgtfy.com/?q=rigid+body+simulation
Аноним 02/12/15 Срд 12:37:06 #255 №593893 
Аноны, как в сях используя windows.h просканировать файлы, которые лежат в папке с программой? Просто не хочется скармливать scandir полный путь, так как хотелось бы сделать программу более гибкой.
Аноним 02/12/15 Срд 12:42:47 #256 №593900 
>>593661
Мышкокликеры. Серьезно.
Аноним 02/12/15 Срд 12:55:45 #257 №593912 
Как векторы складывать? Как со строками чтобы было. push_back() не одного элемента, а массііва
Аноним 02/12/15 Срд 13:17:47 #258 №593922 
>>593912
http://stackoverflow.com/questions/2551775/c-appending-a-vector-to-a-vector
Аноним 02/12/15 Срд 13:41:53 #259 №593941 
>>593412
Двачую

Аноним 02/12/15 Срд 13:47:36 #260 №593945 
>>593912
http://www.cplusplus.com/reference/vector/vector/insert/
Аноним 02/12/15 Срд 13:55:16 #261 №593950 
>>593922
>>593945
Спасибо, но уже не надо. Напишите вместо меня пожалуйста функцию которая принимает int и кладёт его в множество если такого элемента там ещё нет и возвращает true, а если нот там есть, то возвращает false.
Аноним 02/12/15 Срд 13:55:59 #262 №593951 
>>593950
> а если нот там есть
а если он там есть
Аноним 02/12/15 Срд 14:24:13 #263 №593978 
>>593950
std::set::insert
Аноним 02/12/15 Срд 14:30:20 #264 №593989 
>>593978
Я пытался так делать. if(s.end()==s.find(n))s.insert(n) или что-то типа того делал. Покажи всё функцию. Как правильно?
Аноним 02/12/15 Срд 14:33:10 #265 №593998 
>>593989
> Как правильно?
s.insert(n)
Аноним 02/12/15 Срд 14:35:57 #266 №594002 
>>593989
s.insert(s.end(), n)
Аноним 02/12/15 Срд 14:41:12 #267 №594009 
>>593950
http://pastebin.com/YTttRcEf
Аноним 02/12/15 Срд 14:42:27 #268 №594010 
>>594009
Спасибо.
Аноним 02/12/15 Срд 14:43:18 #269 №594011 
>>594009
Дополню свой ответ - Если осилишь, прочитай 8, 9 и 10 главу "Языка Программирования на C++" Липпмана ссылка в оппосте.
Аноним 02/12/15 Срд 14:48:53 #270 №594016 
>>594011
>Языка Программирования C++
fix*
Аноним 02/12/15 Срд 14:51:10 #271 №594018 
Подскажите, какую книжку стоит прочесть.
Имею пару лет практики в гейдеве на плюсах, до это литературу не читал, только документацию по интересующим аспектам. Сейчас хочу заполнить пробелы, сгладить свою линию познания языка, так сказать. Какая книга лучше подойдет?
Аноним 02/12/15 Срд 14:53:54 #272 №594020 
>>594018
А что ты знаешь о C++?
Аноним 02/12/15 Срд 14:56:54 #273 №594021 
>>594020
В том-то и дело, что я не обладаю никаким структурированным знанием. Это выливается в то, что в процессе решения каких-то задач я могу быть поставлен в тупик из-за неожиданной специфики тех или иных аспектов языка. В результате я теряю много времени на то, чтоб разобраться в проблеме, в то время как какие-то общие и простые знания могли бы помочь и вовсе избежать возникновения проблемы.

Слишком абстрактно описал, но думаю, что понятно.
Аноним 02/12/15 Срд 14:58:07 #274 №594022 
>>594021
Ясно, ты нихуя не знаешь.
Читаешь https://goo.gl/kVaela , делаешь примеры и суешь в http://ideone.com , ошибки копипастишь в гугл, непонятное ищешь в предыдущих тредах, спрашиваешь в этом треде, если не нашел. Если тебя послали на хуй или не ответили, то ты спросил платину, читай предыдущие треды внимательнее. И прочитай FAQ, расположенный ниже, в нем много полезного.
Аноним 02/12/15 Срд 14:59:53 #275 №594023 
>>594022
>расположенный ниже
т.е. выше
Аноним 02/12/15 Срд 15:00:06 #276 №594024 
>>594009
Заечем тролишь ньюфага? https://ideone.com/V29Gi5
>>594018
Ну, Страуструппа попробуй, иногда советуют после нормальной книги и небольшого опыта программирования его советуют, типа проникнутся идеологией. Не знаю насколько оправдано.
Аноним 02/12/15 Срд 15:01:57 #277 №594026 
>>594024
>.second;
Что это значит?
Аноним 02/12/15 Срд 15:03:08 #278 №594027 
>>594022
Окей, спасибо, надеюсь ты не затроллил меня какой-нибудь хуйней.
>>594024
И тебе.
Аноним 02/12/15 Срд 15:03:53 #279 №594028 
>>594026
insert возвращает pair, вторым элементом ее является bool, была или не была реальная вставка.
Аноним 02/12/15 Срд 15:04:00 #280 №594029 
>>594026
Время (в секундах), которое потрачено на вставку элемента во множество. Если 0 - значит элемент не был вставлен, т.к. уже присутствует во множество, больше 0 - вставлен, т.к. отсутствовал.
Аноним 02/12/15 Срд 15:08:33 #281 №594030 
14490581132900.jpg
>>594029
Аноним 02/12/15 Срд 15:10:15 #282 №594031 
14490582152270.webm
>>594029
Аноним 02/12/15 Срд 16:22:44 #283 №594076 
Англобоги. Как по-русски сказать Template Argument Deduction. Интересует слово deduction, ведь оно значит "вычитание", но по смыслу тут скорее "вычисление" ближе
Аноним 02/12/15 Срд 16:25:02 #284 №594079 
>>594076
deduction -- "определение" тут, не думаешь?
Аноним 02/12/15 Срд 16:30:34 #285 №594083 
>>594079
Так переводится тут? Ну звучит логично, просто "определение" не видел значения такого.
да, ограничился гугл.транслейтом включая все русские переводы, английское толкование и примеры
Аноним 02/12/15 Срд 16:46:16 #286 №594088 
>>594076
Наверное будет "выведение/вывод аргументов шаблона" (на подобии "вывод формулы"), но звучит непривычно.
Аноним 02/12/15 Срд 16:57:27 #287 №594095 
>>594088
а не выведение шаблона по его аргументам? что от чего зависит? // сорь, не умею в шаблоны и не собираюсь уметь в это говно
Аноним 02/12/15 Срд 17:20:35 #288 №594113 
14490660351600.png
>>594076
Перевод от "Питера"
Аноним 02/12/15 Срд 18:01:44 #289 №594138 
>>593900
Лел, согласен с этим.
Блюпринты вместо программирования
Аноним 02/12/15 Срд 18:07:49 #290 №594147 
>>594024
Не работает. Добавляю элемент первый раз, а он говорит что этот элемент там уже есть.
Аноним 02/12/15 Срд 18:09:51 #291 №594149 
>>594113
Кстати, годный термин. Чего сразу не подумал, лол. Что за книга?

И такой вопрос. Навернул Мейерса "Эффективное использование С++". Следом хочу эффективное использование STL и потом Effective Modern C++. Так вот книгу по STL можно заменить чем-нить современным? Или она и сейчас годна? Мб вообще по диагонали прочитать с уделением внимания на эффективность и т.п.
Аноним 02/12/15 Срд 18:18:58 #292 №594167 
КОгда стоит использовать умные указатели?
Аноним 02/12/15 Срд 18:31:01 #293 №594175 
>>594167
Вопрос скорее должен быть "Когда не использовать умные указатели?". Если везде, где нет объективных причин не делать этого.
Аноним 02/12/15 Срд 18:34:02 #294 №594178 
>>594149
http://www.amazon.com/The-Standard-Library-Tutorial-Reference/dp/0321623215 вполне современная. Только учти, что в ней есть откровенные ошибки местами, но не то что бы много...
Майерса все равно почитать можно, вреда, думаю, не будет.
Аноним 02/12/15 Срд 18:35:55 #295 №594181 
>>594076
Чаще всего встречал перевод deduction в таком контектсе как "выведение". Этот вариант вполне отражает суть.
Аноним 02/12/15 Срд 18:44:39 #296 №594184 
>>594167
практически везде, где нужны обычные указатели.
Аноним 02/12/15 Срд 18:45:28 #297 №594185 
>>594149
>Что за книга?
Липпман. Язык Программирования C++
Аноним 02/12/15 Срд 18:53:09 #298 №594189 
Есть одна функция. Её нужно применять по очереди к каждому элементу массива. Внутри функции фор. Нужно делать только по одному шагу фора за вызов функции. То есть 1ый шаг к первому элементу массива и сохранить где-то промежуточный результат. Потом первый щаг ко второму элементу, потом к третьему. Далее второй шаг к первому, второй шаг ко второму. Понятно объяснил? Как такое сделать?
Аноним 02/12/15 Срд 19:08:12 #299 №594210 
>>594189
http://www.cplusplus.com/reference/algorithm/transform/
Аноним 02/12/15 Срд 19:08:48 #300 №594211 
>>594189
А, блядь, неправильно понял.
Хуй знает, нужно переписать функцию.
Аноним 02/12/15 Срд 19:09:42 #301 №594214 
>>594076
Вроде как, устоялось "вывод типов"
Аноним 02/12/15 Срд 19:09:51 #302 №594215 
>>594210
Как промежуточные значения функции для каждого элемента массива сохранять?
Аноним 02/12/15 Срд 19:10:10 #303 №594216 
>>594189
Функтор сделай, но скорее всего сама идея хуита.
Аноним 02/12/15 Срд 19:13:51 #304 №594220 
>>594216
Нормальная идея, только сегодня такое 2 раза делал.
Аноним 02/12/15 Срд 19:19:25 #305 №594226 
>>594189
Без подробностей трудно однозначно сказать. Но, если я правильно понял, ты как-то вывернул задачу на изнанку. Тому for, который у тебя в фукнции, там не место.
for (int i = 0; ...; ++i) //цикл, который, по-твоему, в функции
{
for (auto item : array) // обход массива
{
func(i, item); // порядковый номер обхода массива передается как параметр
}
}

Суть, надеюсь, понятна. Если задача требуетс такого "вывернутого" подхода как в описании, описывай подробнее.
Аноним 02/12/15 Срд 19:22:25 #306 №594229 
>>594226
Насколько я понимаю ему ленивость нужна.
Аноним 02/12/15 Срд 19:24:07 #307 №594232 
>>594229
yield ему нужен
Аноним 02/12/15 Срд 19:25:21 #308 №594233 
>>594232
иногда yield нужен, но не у это случае. в любом случае, если такой подход не подходит, пусть рассказывает откуда вообще такие странные требования взялись
Аноним 02/12/15 Срд 19:30:31 #309 №594238 
>>594233
>>594229
>>594232
>>594189

Вот вам ленивость:

const auto transformed_range = element_range | boost::adaptors::transformed(&your_function);
Аноним 02/12/15 Срд 19:34:25 #310 №594242 
>>594226
>>594229
>>594232
Вводится n чисел и надо узнать на квадрат какого числа делиться их произведение. Я искал делители каждого введёного числа и заносил их в множество. Был фор по всем n числам и вызывалась функция ищущая и запоминающая простые делители и она вылетала как только находила повторяющейся. А как только найдёт повтор, то вылетает, выводится ответ и программа закрывается. Это слишком долго поэтому нужно переделать так чтобы искать 1 делитель сразу у всех элементов массива по очереди. Функцию выворачивать не надо, а остальные советы я не понял. Проще заново переписать?













Аноним 02/12/15 Срд 19:34:46 #311 №594243 
>>594242
ой ентеры случайно поставил
Аноним 02/12/15 Срд 19:36:42 #312 №594246 
>>594242
Требования по времени работы? В зависимости от этого можно разное советовать.
Аноним 02/12/15 Срд 19:39:55 #313 №594251 
>>594242
>Проще заново переписать?
Конечно. Это не тот код, которому следует городить что-то навороченное.
Аноним 02/12/15 Срд 19:41:02 #314 №594253 
14490744629790.png
14490744629811.png
>>594246
1 секунда. Там ограничения 100 числе от 1 до 10^18. Последние тесты по времени не прошли.

Входной файл

100
4358080850434061 4588073897228953 4521453096642967 4521750645263053 4526041999120171 4624222827293921 4460977964604727 4680190972568773 4665422937666661 4418413271490871 4564358747965519 4619569346562329 4468841340083599 4806976778345129 4568034008807341 4532104845974009 4550324044093769 4348366397312281 4644752292925469 4309929777139397 4642696826942059 4542952118133859 4616159384486147 4363768063582013 4815662023183933 4570305567906139 4641312883437413 4488060715752017 4481227326640741 4417178774938697 4634581463665199 4710619364192081 4649002870937989 4418762359534267 4445585877691459 4559342499948443 4597594153851323 4416367111730923 4707728747475679 4538140313311853 4503954938983337 4505554822962757 4467556883207291 4594218780853399 4831541535322681 4304845036939441 4634952768938567 4510820614745449 4572181699054261 4506147816855691 4330344483454609 4729962288130073 4701873365315779 4694990745719189 4691550411367829 4395921018200483 4489693380791299 4705140388572017 4501423429544843 4382017357937663 4707729351155377 4612439940187987 4564267682606491 4541197946487011 4629584362836151 4769423365948849 4785591671676841 4548622691890643 4692783082139881 4502534411705641 4617764466344563 4517044024085899 4493562124159679 4367233047658219 4609695486750953 4835364392178107 4564758966243071 4598479461370427 4810142127544027 4346498800154617 4557607241899189 4852527999487921 4564353211947433 4650437126950469 4243328645060569 4651296390595711 4710458365174363 4628019431897149 4634225831285521 4521105991928549 4592206063667437 4466970060005489 4505251789967057 4765449092918929 4504008741230809 4552671515969033 4724871467895203 4648447732024823 4315953902100517 4893985153004341


Выходной файл

69509291
Аноним 02/12/15 Срд 19:53:21 #315 №594258 
>>594242
> надо узнать на квадрат какого числа делиться их произведение
Именно такое задание? Может на квадрат какого максимально возможного числа? Для твоей формулировки задания как ответ подходит число 1.
Аноним 02/12/15 Срд 19:56:51 #316 №594263 
>>594253
Сделай так, сначала используя std::max_element найди максимальный, после этого найди все простые числа до корня четвёртой степени из него (решето Эратосфена), после этого с помощью std::transform получи диапазон квадратов этих простых, после этого вычисли произведение через const auto product = std::accumulate с нужным функтором. И в конце return std::any_of(squared_primes.begin(), squared_primes.end(), [product] (auto squared_prime) {return product % squared_prime == 0u;})
Аноним 02/12/15 Срд 19:57:34 #317 №594264 
>>594258
Любое. В тесте 3 5 15 ответ может быть как 5 так и 3. Ответ минимум 2. Если ответ 1, то число красивое и надо вывести Beautiful.
Аноним 02/12/15 Срд 19:58:44 #318 №594267 
>>594263
Добавлю, что это возможно не самый умный способ. Есть люди, которые знают что-то про фактор Z/kZ, гдк k = p^2, для некоторого простого p?
Аноним 02/12/15 Срд 20:01:40 #319 №594269 
>>594263
>>594267
чё бля?
Аноним 02/12/15 Срд 20:01:40 #320 №594270 
>>594263
> до корня четвёртой степени
Почему?
>после этого вычисли произведение
Произведение чего? Там очень большие числа.

Не понял. Почему оно выдаст правильный ответ?
Аноним 02/12/15 Срд 20:06:46 #321 №594281 
>>594270
Не, я тебе наврал. Твоя правда, ты не можешь их перемножить, переполнится.

Если бы была возможность перемножить, то если тебя интересует делимость на квадрат (она равносильна делимости на квадрат некоторого простого), то нету смысла искать лишние простые до квадратного корня, т..к их квадрат будет лишь больше. Но тут я опять плохо прочёл условие. До квадратного корня, ты же не то максимальное на делимость проверяешь, а произведение всех этих. Так что про корень 4й степени, я наврал так же. Извиняй
Аноним 02/12/15 Срд 20:09:56 #322 №594286 
>>594264
Если любое то тогда попарно проверяешь НОД всех чисел, пока не найдешь любой НОД больше еденицы - его возвращаешь. Если все НОД еденица - возвращаешь еденицу. Перед этим проверяешь не является ли какой-то число квадратом - если да то возвращает корень из этого числа. Насчет быстроты не знаю, но скорее всего это будет быстрее чем любая факторизация.
Аноним 02/12/15 Срд 20:12:34 #323 №594294 
>>594281
Так что тебе искать все простые числа до корня из максимального считанного. Далее проверять каждое считанное на делимости этих простых, а потом брать такие, которые вошли два раза.
Аноним 02/12/15 Срд 20:27:27 #324 №594312 
>>594294
>искать все простые числа до корня из максимального считанного
Максимум 3 миллиарда операций. Если параллельно простые делители искать, то последний тест проходит за 65 миллионов итераций.

>>594286
Не совсем понял решение, но выглядит просто. Потом ещё подумаю. Спасибо.
Аноним 02/12/15 Срд 20:27:52 #325 №594315 
>>594286
Нихуя, такое решение не найдёт квадраты в составе одного множителя (когда множитель делится на квадрат простого, а остальные на него не делятся)
Аноним 02/12/15 Срд 20:32:44 #326 №594323 
>>594315
Этот случай имелся ввиду под "Перед этим проверяешь не является ли какой-то число квадратом - если да то возвращает корень из этого числа."
Аноним 02/12/15 Срд 20:35:54 #327 №594324 
>>594315
А да точно, может не обязательно квадратом быть. Тогда без факторизации наверно не обойтись.
Аноним 02/12/15 Срд 22:41:06 #328 №594428 
14490852663400.jpg
Недавно стал угарать по всяким модам и плагинам, которые пилятся для игр в том числе и для серверной части. (напр.: AMX Mod)
А так же всякие скриптовые языки. Меня естественно не интересует их синтаксис или ещё какая-то хуйня, а хочу узнать как вот это вот все взаимодействует с ОС и непосредственно с самой игрой. Так вот аноны, есть ли какая-то общая инфа/литература по этой части? Или это все неофициально и придется выдирать чьи-то посты с форумов для поиска? В общем реквестирую любую информацию, которая помогла бы хоть чем-то.
Аноним 02/12/15 Срд 23:01:36 #329 №594458 
>>594428
dll-инъекция?
Аноним 02/12/15 Срд 23:09:54 #330 №594471 
>>594428
А я хочу стать кулхацкером. С чего начать и что читать?
Аноним 02/12/15 Срд 23:19:10 #331 №594480 
>>594458
Наверное, да. Но только ли это? А как вообще проектируются все эти моды (не в две строки которые офк) или это делается исходя из опыта? Как взаимодействует с ОС/игрой? Столько вопросов, пиздец. Я так понимаю специализированную литературу не найдешь?
>>594471
Поясни с чем я обосрался? Я в курсе, что в тырнете есть куча статей от васянов по модам и прочей хуйне, но там все разбросано и нет общей картины, а зачастую совсем не по теме.
Аноним 02/12/15 Срд 23:22:11 #332 №594483 
>>594480
>Поясни с чем я обосрался?
Я серьёзно. Интересно же. Просто за компанию спросил. А то всё в кучу в нете и хуй пойми с чего начать и что делать.
Аноним 02/12/15 Срд 23:31:41 #333 №594503 
>>594483
Вот и я о чем, сижу-сижу, а статей много, думаю ну че за хуйня, пошел в крестотред к поцанам, захожу, а меня тут какой-то васян тролякает, ну а я че, ебать?
Аноним 02/12/15 Срд 23:38:13 #334 №594507 
>>593893
Boost filesystem.
Аноним 03/12/15 Чтв 00:03:15 #335 №594532 
>>594167
Когда борешься с оверхэдом в несколько байт от вектора.
Аноним 03/12/15 Чтв 00:21:23 #336 №594546 
Надо бы EventQueue на шаблонах сделать под компонентную систему, а я даже боюсь начинать
Аноним 03/12/15 Чтв 08:48:30 #337 №594642 
Аноны, надо отредактировать тонну больших( больше 1.4 гигабайта 1 файл) текстовых файлов и убрать лишние пробелы, как это можно сделать? Есть какие-то инструменты, которые позволяют работать с большими текстовыми файлами?
Аноним 03/12/15 Чтв 09:45:34 #338 №594647 
>>594642
sed/awk/mawk/etc
пошёл отсюда вон
Аноним 03/12/15 Чтв 12:59:54 #339 №594723 
Почаны! Помогите найти пак с примерами программ для начинающих.
Аноним 03/12/15 Чтв 13:04:01 #340 №594726 
>>594723
http://uchitel-program.ru/prikladnoe/primery/cpp/
Аноним 03/12/15 Чтв 13:29:46 #341 №594739 
>>594726
Добра тебе, анон!
Аноним 03/12/15 Чтв 15:29:41 #342 №594804 
Как запустить Event Loop в юнит-тесте Qt?
Аноним 03/12/15 Чтв 16:09:35 #343 №594836 
эй!
Если в базовом классе copy/copy assignment ctor'ы deleted, то в наследуемых вообще резона нет то же проделывать? Проверил, вроде да, но мало ли?
Аноним 03/12/15 Чтв 16:15:32 #344 №594844 
>>594286
Спасибо. НОД работает и быстро, но всего пару тестов прошло без проверки есть ли квадрат в самом числе. Как это проверить быстро? Выходит нужен код как тут >>594253 только без множества.

Вариант в параллельным поиском делителей проверил. Делает всё правильно, но долго. Как ускорить?
Аноним 03/12/15 Чтв 17:49:53 #345 №594917 
>>594471
Кстати это мне ответили на форчане.
>Получить жир и найти сумасшедшего друга, который думает, что он является сумасшедший ученый носить поддельные халат, а затем помочь ему власти его микроволновая машину времени, чтобы сохранить Qt.
Аноним 03/12/15 Чтв 18:24:52 #346 №594957 
Поясните за дефрагментацию памяти. Я создал 3 массива. Они создались рядом. Центральный удалил. Потом создал между двумя оставшимися ещё 1 поменьше. И сохронил указатель на центральный элемент. Далее изменил его размер дак только в си можно? значит я пишу на си так что он не влезает между двумя массивами и он переехал в другое место. А указатель на центральный элемент не изменился? Как это посмотреть? Как в дебагере визуализировать память программы?
Аноним 03/12/15 Чтв 19:23:23 #347 №595029 
>>594836
Лучше перестраховаться. Попытка вызвать удаленный конструктор базового класса будет только для сгенерированных конструкторов производного. Если у производного будет пользовательский конструктор копирования, и ты явно не пропишешь, какой конструктор вызвать у родителя, то у родителя вызовется неудаленный дефолтный, и ты получишь долгие часы ебли, лол.
Аноним 03/12/15 Чтв 19:29:06 #348 №595036 
>>594957
Что через realloc, что автоматически при увеличении capacity std::vector - если память переехала, все указатели на нее испортились, ибо никто не станет отслеживать, что там на нее указывает. Так что твой указатель не изменится, но разыменовывать его уже будет нельзя.

В студии включаешь отладку и открываешь вкладку "Память". В gdb и lldb для просмотра памяти есть команда x, гугли.
Аноним 03/12/15 Чтв 19:47:46 #349 №595053 
>>594836
Если удалены функции копирования в базовом классе, то компилятор не сможет создать синтезируемые функции копирования в производном классе, но ты можешь сам определить эти функции в производном классе.
Аноним 03/12/15 Чтв 20:53:25 #350 №595112 
>>593534
Серанул с вас.
Аноним 03/12/15 Чтв 21:38:17 #351 №595158 
Функция должна считать SLOC, подскажите, что не так.
https://ideone.com/jOvGaF
Аноним 03/12/15 Чтв 21:53:27 #352 №595167 
>>595158
> подскажите, что не так
ты
Аноним 04/12/15 Птн 01:00:37 #353 №595289 
14491800370610.png
Какой именно exe файл из папки c:/MinGW/bin нужно добавить в qtcreator, чтобы пользоваться им как компилятором?
Аноним 04/12/15 Птн 01:07:38 #354 №595292 
>>595289
Установи qtreator вместе с mingw и не парься
Аноним 04/12/15 Птн 01:09:07 #355 №595293 
>>595292
Я уже поставил давно creator без mingw. Мне нужно только добавить exe-шник и всё.
Аноним 04/12/15 Птн 01:53:11 #356 №595302 
14491831919670.png
>>595289
Вангую что-то из этого.

Теперь мой вопрос, как к стринге приапендить интовую пременную. да, блять, оказалось не так всё просто
ток нормальным способом
сам дошел до того, что инт ебашил в поток, а потом со стрингом пытался совокупить, вот только не помню вышло ли, но в любом случае, это мне не нравится, ваши советы.
Аноним 04/12/15 Птн 08:20:37 #357 №595328 
>>595302
std::to_string попробуй
Аноним 04/12/15 Птн 08:21:39 #358 №595329 
>>595302
std::string str = "test" + std::to_string(1337);
Аноним 04/12/15 Птн 09:28:11 #359 №595339 
>>594844
Бамп вопросу. У меня больше нет идей как решать.
Аноним 04/12/15 Птн 10:22:42 #360 №595359 
>>595339
Нужен список простых чисел от 2 до корня от максимального числа. Потом по очереди берешь простые числа и проверяешь делится ли на это число несколько из введенных чисел, или какое-то число два раза. Если нашел возвращаешь.
Пробывал такое?
Аноним 04/12/15 Птн 10:27:54 #361 №595362 
>>595359
> от 2 до корня от максимального числа
Их 50 миллионов. Я их искать долго буду, а потом ещё и делить. Плюс в память не влезут т.к. нужно 4 байта на число, а ограничения всего 131кб.
Аноним 04/12/15 Птн 11:43:34 #362 №595412 
>>595362
Сформулируй свою задачу с нуля, так, как будто ты её не формулировал вообще. Я в твоей портянке постов не разобрался.

Я мож чего подскажут, а то местные в математике не очень сильны, я так понял.
Аноним 04/12/15 Птн 12:06:21 #363 №595428 
>>595412
Как с уст снял.
Требуется условие
Аноним 04/12/15 Птн 12:14:54 #364 №595431 
>>595362
Решетом Аткина же генерируй, плюс тебе не нужно же сразу все простые. Генеришь блоками пока не встретишь первое подходящее. Конечно может и он в секунду не влезет, но я хуй знает как проверить что в разложении числа есть два повторяющихся множителя, без разложения на множетели.
Аноним 04/12/15 Птн 13:15:11 #365 №595465 
>>595431
>Решетом Аткина
Не знал о нём. Спасибо. Попробую.
Аноним 04/12/15 Птн 13:39:29 #366 №595483 
>>595293
g++ и gdb как минимум. По хорошему у тебя весь bin должен быть прописан в PATH.
Аноним 04/12/15 Птн 15:56:51 #367 №595602 
>>595293
В настройках комплекты там всякие, все легко и просто указывается
return из цикла в функции Аноним 04/12/15 Птн 19:17:05 #368 №595757 
Это очень нагло и приведет к утечке или сборщик мусора все сам правильно поймет? В программе есть функция, внутри нее цикл, которые прерывается не через break (ибо вложенный), а через return из функции. Возможно, цикл там с массивом или объектами что-нибудь делал.

И еще вопрос: какие есть дельные сайты вроде php.net, всеобъемлющие и желательно на русском? Нагуглил только cplusplus.com и cpp reference, но что-то я не понимаю даже, чем они отличаются, ну и там инглиш, да.

А, и еще один, да: что скажете об альтернативных средах разработки - Qt Creator, IDEA, вот это всё? Вроде поадекватнее лицензия, нет завязки на кококорпорации, кроссплатформа, да и весят-жрут меньше.
Аноним 04/12/15 Птн 19:19:32 #369 №595758 
>>595757
В С++ нет сборщика мусора. Но ответ на твой вопрос - ничего течь не будет, все деструкторы будут вызваны.
Аноним 04/12/15 Птн 19:22:02 #370 №595761 
>>595758
Да, я немножко путаю терминологию, наверное. Сборщик - это тот, который неиспользуемые более динамически созданные (не в статической памяти) объекты подтирает, да?
Аноним 04/12/15 Птн 19:26:21 #371 №595764 
>>595761
Да. Сборщик позволяет писать new и не париться писать delete. В С++ есть только RAII - автоматический вызов деструкторов у объектов, лежащих на стеке при потере области видимости. Это позволяет контролировать ресурсы.
Аноним 04/12/15 Птн 19:29:19 #372 №595767 
>>595764
Аноним 04/12/15 Птн 19:30:15 #373 №595768 
>>595764
Хм. А разве в этих ваших кутях и прочих фоеймворках нет реализаций new со сборщиком (ну, точнее, автоматическим освобождением памяти после разрушения объекта)? Мне говорили, что есть.
Аноним 04/12/15 Птн 19:31:41 #374 №595769 
>>595758
>В С++ нет сборщика мусора. Но ответ на твой вопрос - ничего течь не будет
Можешь объяснить вкратце, почему так? Это во всех языках или только тут? Это действительно нормальная практика? Для меня дико немножко заставлять что-то делать компилятор, прерывая его в рандомном месте, это для меня примерно как goto.
Аноним 04/12/15 Птн 19:45:27 #375 №595775 
>>595769
>Это во всех языках или только тут?
В сишке можно накосячить, там нужно чистить все вручную, я написал ниже, как.
В языках со сборкой мусора зависит от типа твоего ресурса. Память ты можешь не освобождать, сборщик подберет. Но открытый файл, сокет или мьютекс, к примеру, нужно закрыть, потому что сборщик мусора штука недетерменированная и твой мусорный объект, владеющий ресурсом, может вообще никогда не удалиться.
В С++ нет разницы между ресурсами, будь то память или файл, или сокет, или мьютекс, по выходу из области видимости будет вызван деструктор, в деструктор можно поместить логику - очистить память у std::vector и std::unique_ptr, закрыть файл у std::ofstream, разлочить мьютекс и т. п.

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

Типа
FILE * f1,f2,f3;
if(! f1 = fopen(...)) goto cleanup;
if(! f2 = fopen(...)) goto cleanup;
if(! f3 = fopen(...)) goto cleanup;
if(! f4 = fopen(...)) goto cleanup;

cleanup:
fclose(f4);
fclose(f3);
fclose(f2);
fclose(f1);
return;

В С++ это (область с cleanup:) за тебя сделает компилятор и тебе будет достаточно сделать return.

Вот почитай по поводу RAII http://ivansorokin.livejournal.com/58626.html
Аноним 04/12/15 Птн 20:01:32 #376 №595784 
Кстати поясните что такое RTTI или дайте ссылку где это простыми словами поясняют. А вики не понял.
Аноним 04/12/15 Птн 20:32:05 #377 №595810 
>>595784
В шапке есть книга Шилдта. Там всё ясно расписано. RTTI — это возможность указателя на объект предка указывать на объекты потомков.
Аноним 04/12/15 Птн 20:35:23 #378 №595819 
>>595289
Разобрался с этим. Нужно было через unistaller доустановить компоненты и не париться. Новый вопрос возник: когда я создаю новый проект, он без проблем компилится с помощью доустановленного mingw, но как использовать добавленный kit (mingw) для старого проекта(созданного до установки mingw)?
Аноним 04/12/15 Птн 20:39:52 #379 №595826 
>>595757
>что скажете об альтернативных средах разработки
Мне вот как раз вчера захотелось удобной разработки под вендой сразу с тремя компиляторами, чтобы кроссплатформенность и все дела. Выше было, что после апдейта студия начала поддерживать что-то, кроме VC++, но пока эти плагины очень сырые, и разрабатывать что-то серьезное хуй получится.

Так вот, я стал искать альтернативную IDE, чтобы была легкой, поддерживала все компиляторы и по возможности была сравнимой по удобству со студией. И результаты поисков превзошли все мои ожидания - я нашел CodeLite. Она весит всего 100 с чем-то мегабайт, работает крайне шустро, а еще в ней в два клика прикручивается clang'овское API автодополнения, которое уделывает встроенное в Qt, Eclipse и NetBeans. Конечно, по удобству она все равно серьезно уступает VS и Clion, но швабодность и небольшой размер делают ее идеальным вариантом в качестве второй/учебной IDE. Люто рекомендую, в общем.
Аноним 04/12/15 Птн 20:42:08 #380 №595832 
>>595768
>автоматическим освобождением памяти после разрушения объекта
У тебя каша в голове. Память и так освобождается при разрушении, без специальных реализаций. Проблема в том, чтобы заставить объект автоматически разрушаться. Такие надстройки есть, но они убивают производительность, поэтому гораздо лучше использовать умные указатели.
Аноним 04/12/15 Птн 20:44:52 #381 №595837 
>>595826
>Мне вот как раз вчера захотелось удобной разработки под вендой сразу с тремя компиляторами
Нахуя тебе IDE для этого? Создаешь cmake проект, в нем генерируешь проект для visual studio ("cmake -G вижуал студио"), когда нужно протестить другие компиляторы, то просто из консольки (бат файла) компилируешь и тестируешь.
Аноним 04/12/15 Птн 20:46:41 #382 №595840 
>>595810
Нет. RTTI - это именно возможность узнать "наиболее производный тип" объекта, имея указатель на тип одного из базовых. Это делается при помощи typeid или dynamic_cast, а просто указывать может что угодно на что угодно, даже без RTTI.
Аноним 04/12/15 Птн 20:48:33 #383 №595844 
RTTI - это динамическое петушение, не пользуйтесь им.
Аноним 04/12/15 Птн 20:50:37 #384 №595847 
>>595837
Мне неудобно руками править CMakeList при каждом добавлении нового файла/изменении конфига. Я же сижу под студией, все делаю оттуда. Голый CMake удобен в случае, когда у тебя уже есть готовый проект, который нужно распространять между платформами, а в рамках самой разработки не оче хочется руками все править. Сейчас вот смотрю в сторону конвертора студийных проектов в CMake-формат, попробую прикрутить его на автоматический запуск при каждой сборке в студии.
Аноним 04/12/15 Птн 20:52:44 #385 №595849 
>>595844
в крестотреде советовали его использовать для оптимизации
Аноним 04/12/15 Птн 20:56:45 #386 №595853 
14492518059690.png
>>595810
одной главы хватит или он перед этим говорит про наследование или ещё какую-то хуйню которую надо повторить?
Аноним 04/12/15 Птн 21:00:11 #387 №595854 
>>595847
На самом деле это очень удобно. Потому что cmake отлично дружит с git, diff (там не убогий xml), можно легко на языке программирования делать логику типа препроцессинга и генерации доков. А студия предлагает ползать по менюшкам (pre-build, post-build), а потом втыкать в xml в системе контроля версий, при debug/release win32/win64 это превращается в боль.
Лишние 10 секунд при добавлении нового файла тут вообще роли не играют, как будто ты файлы десятками создаешь за день.
Аноним 04/12/15 Птн 21:01:26 #388 №595856 
>>595853
Дизайн и эволюцию С++ почитай лучше по этой теме.
Аноним 04/12/15 Птн 21:01:53 #389 №595857 
>>595849
Оптимизации чего? Вообще RTTI довольно тормозная вещь.
Аноним 04/12/15 Птн 21:03:22 #390 №595859 
>>595857
>Оптимизации чего?
не уточнали. просто спросили совет и ответили

>>595856
всё книгу чтоль? и она же старая
Аноним 04/12/15 Птн 21:04:02 #391 №595861 
>>595854
А студия от такой хуйни не будет каждый раз перестраивать эти свои проектные БД, которые по 500 мегабайт?
Аноним 04/12/15 Птн 21:05:17 #392 №595863 
14492523179850.gif
>>595849
>перепутал RTTI и RAII
Аноним 04/12/15 Птн 21:10:32 #393 №595875 
14492526326080.png
>>595863
Все ещё смешно?
https://arhivach.org/thread/124637/#582880
Аноним 04/12/15 Птн 21:13:08 #394 №595879 
>>595875
Теперь еще смешнее, потому что тот хуй ту же ошибку сделал.
Аноним 04/12/15 Птн 21:14:10 #395 №595881 
>>595859
Не, главу по RTTI. А книга старая, но не бесполезная терминатор.жпг
Аноним 04/12/15 Птн 21:16:58 #396 №595889 
>>595861
Не помню проблем с этим, давно с виндой не работал. Если они есть, на самом деле ты можешь добавить файл в студию по старинке, это же сгенерированные проекты, студия-то о cmake ничего не знает. Просто строчку в CMakeLists нужно будет тоже добавить. Но в любом случае плюшки перебивают минусы.
Аноним 04/12/15 Птн 21:19:39 #397 №595892 
>>595889
Ладно, я тогда попробую в такую методику разработки. Спасибо за консультацию, братюнь.
Аноним 04/12/15 Птн 21:55:13 #398 №595920 
>>595819
Разобрался.
Аноним 04/12/15 Птн 22:05:49 #399 №595928 
>>590823 (OP)
Где мне могут помочь с лабой?
Здесь нахуй пошлют я так понимаю?.
Аноним 04/12/15 Птн 22:06:51 #400 №595929 
>>595928
А я говорил что это нужно убрать из шапки. И про макабаcode тожа убрать.
Аноним 04/12/15 Птн 22:07:48 #401 №595930 
>>595929
У меня последняя надежда на вас, гугл молчит.
Аноним 04/12/15 Птн 22:08:27 #402 №595931 
>>595930
Спрашивай. Вместо тебя писать больше 5 строк не буду.
Аноним 04/12/15 Птн 22:09:02 #403 №595933 
>>595930
С лабой тебе поможет более прошаренный одногруппник. Ты в вузе, блядь, социализируйся, ебана в рот.
Аноним 04/12/15 Птн 22:09:40 #404 №595934 DELETED
>>595933
>социализируйся
НЕ ХО ЧУ
Аноним 04/12/15 Птн 22:09:42 #405 №595935 DELETED
>>595933
Никто кроме меня не знает даже как хеллоу ворлд написать.
Аноним 04/12/15 Птн 22:10:31 #406 №595937 DELETED
>>595935
>хеллоу ворлд
В этом мы поможем. Спрашивай скорее спать скоро пойду.
Аноним 04/12/15 Птн 22:10:53 #407 №595938 
>>595931
Написать программу для определения надёжности функционирования объекта

Пусть известно, что объект может функционировать в нескольких режимах, а режим определяется значением одного определённого параметра. Известны границы изменения этого параметра для каждого режима. Для определения надёжности функционирования объекта были проведены его испытания при различных режимах, в которых определялись значение "режимного" параметра и продолжительность времени функционирования объекта. Задано требуемое время функционирования объекта. Для заданного времени требуется определить надёжность функционирования объекта для каждого режима работы, общую надёжность функционирования объекта и среднее время его функционирования.
Пусть после проведённых испытаний мы наблюдали за функционированием ещё одного объекта. Объект прекратил функционировать до истечения заданного времени. Определить вероятность каждого режима функционирования для этого объекта.
Данные испытаний записаны в файл, имеющий следующий вид:
1-я запись: требуемое время функционирования;
2-я запись: a1 a2 …ak - границы изменения параметра, определяющего режим (до a1 – первый режим, от a1 до a2 – второй, …, свыше ak – (k+1)-й режим);
последующие записи: значение параметра продолжительность функционирования.
В некоторых случаях при записи продолжительности функционирования мог произойти сбой (т.е. продолжительность функционирования может быть пропущена).

Аноним 04/12/15 Птн 22:13:14 #408 №595940 
>>595938
Нихуя не понял. Переведите.
Аноним 04/12/15 Птн 22:13:36 #409 №595942 
>>595940
Я тоже не понял, на кону стипендия.
Аноним 04/12/15 Птн 22:14:47 #410 №595943 
>>595942
Но ведь ты объективно не заслуживаешь моих налогов.
Аноним 04/12/15 Птн 22:15:23 #411 №595944 
>>595938
забыл добавить

Ссылка на лабу: http://rghost.ru/7ZJMnsGdx
Файл с данными: http://rghost.ru/6MWcmVhyx
Аноним 04/12/15 Птн 22:16:35 #412 №595945 
>>595938
Кто нибудь подобную хуйню может хотя бы нормально объяснить мне?
Я просто не понимаю что от меня хотят.
Аноним 04/12/15 Птн 22:20:18 #413 №595952 
>>595945
Задача догадаться при чём тут кресты.
>Байесовский подход к определению вероятности (надёжности)
Может в наукаче подскажут что это?
Аноним 04/12/15 Птн 22:21:06 #414 №595956 
>>595952
Препод сказал что можно и на C, и на чем угодно, но лучше на C++
Аноним 04/12/15 Птн 22:22:15 #415 №595957 
>>595956
Всё таки программу писать надо? Ладно щас перечитаю.
Аноним 04/12/15 Птн 22:22:38 #416 №595958 
>>595957
Спасибо добрый человек.
Аноним 04/12/15 Птн 22:24:43 #417 №595959 
>>595952
Откуда ты взял про формулу байеса здесь?
Аноним 04/12/15 Птн 22:25:30 #418 №595960 
>>595938
> Для определения надёжности функционирования объекта были проведены его испытания при различных режимах, в которых определялись значение "режимного" параметра и продолжительность времени функционирования объекта.
В конкретном режиме он функционирует константное время? Правильно понял?
Аноним 04/12/15 Птн 22:26:36 #419 №595961 
>>595960
Нет. "последующие записи: значение параметра продолжительность функционирования.".
Аноним 04/12/15 Птн 22:27:55 #420 №595963 
>>595938
>Определить вероятность каждого режима функционирования для этого объекта
>вероятность режима
А это что ещё значит?
Аноним 04/12/15 Птн 22:31:32 #421 №595968 
>>595963
>испытания при различных режимах, в которых определялись значение "режимного" параметра
Аноним 04/12/15 Птн 22:32:44 #422 №595971 
>>595938
Уберем лишний шум, остается:

Определить вероятность каждого режима функционирования для этого объекта.
Данные испытаний записаны в файл, имеющий следующий вид:
1-я запись: требуемое время функционирования;
2-я запись: a1 a2 …ak - границы изменения параметра, определяющего режим (до a1 – первый режим, от a1 до a2 – второй, …, свыше ak – (k+1)-й режим);
последующие записи: значение параметра продолжительность функционирования.
В некоторых случаях при записи продолжительности функционирования мог произойти сбой (т.е. продолжительность функционирования может быть пропущена).
Аноним 04/12/15 Птн 22:33:53 #423 №595974 
По сути у нас есть некоторая йоба, двигатель к примеру. Двигатель может работать на разных оборотах (разные режимы). При испытаниях мы берем кучу двигателей и запускаем их на разных оборотах. И видим, что 100 двигателей вышло из строя на 1000 оборотах (выход из строя - это когда он проработал меньше, чем время в первой строчке), 5 двигателей - на 10000 оборотах, 1 двигатель - на 100 оборотах. И далее нужно для каждого режима определить характеристики вероятности выхода из строя (мат ожидание, сигму и т. п.). Потом решить еще одну задачу - если он вышел из строя раньше времени, в каком режиме он был вероятнее всего.
Задача на теорвер короче, и с нужной формулой она решится в 3 строчки.
Аноним 04/12/15 Птн 22:34:40 #424 №595976 
>>595974
А формулы есть вроде -
>>595944
Аноним 04/12/15 Птн 22:36:31 #425 №595979 
>>595938
>объект
Моторо
>режим функционирования
Мощность
>параметр продолжительности функционирования
Время которое может работать мотор при конкретной мощности не сломавшись.

Правильно понял? Можно продолжать дальше задачу переделывать?
Аноним 04/12/15 Птн 22:37:09 #426 №595980 
>>595979
А то.
Аноним 04/12/15 Птн 22:38:49 #427 №595982 
>>595979
Да конкретика тебе не нужна. Тебе нужно применить формулу с числами типа P(выход из строя|режим), P(режим|выход из строя), P(режим), P(выход из строя), сами числа взять из таблички и проверить на тривиальных примерах.
Аноним 04/12/15 Птн 22:40:50 #428 №595984 
ПРИМЕР 1. 40 % приборов собирается из высококачественных деталей, остальные - из деталей обычного качества. В первом случае надежность прибора (вероятность безотказной работы за время Т) равна 0,90, а если прибор собрали из обычных деталей, его надежность 0,60. Прибор в течении времени Т работал безотказно. Чему равна вероятность того, что он собран из высококачественных деталей?
Решение. Возможны две гипотезы:H1 - прибор собран из высококачественных деталей; H2 - прибор собран из обычных деталей. Вероятность того, что прибор собран из высококачественных деталей равна Р(H1) =0,4 и из обычных - Р(H2) = 0,6 .
Пусть А - событие, состоящее в том, что прибор безотказно работал в течение времени Т. Тогда вероятность того, что прибор безотказно проработавший в течение времени Т, был собран из высококачественных деталей равна Р(А/H1)= 0,9 и из обычных - Р(А/H2) = 0,6. По условию задачи прибор в течение времени Т работал безотказно.
Нас интересует вероятность Р(H1/А ) , что этот прибор собран из высококачественных деталей. По формуле Байеса получаем:
Р(H1/А) = Р(H1)×Р( А / H1 )/{Р(H1 )×Р(А / H1 ) + Р(H2 )×Р( А/ H2)}=
= 0,4× 0,9 /( 0,4× 0,9 + 0,6× 0,6 ) = 0,5.

Вот в этой хуйне "качество" нужно заменить на "режим". Короче, я ненавижу теорвер и решать это не буду.
Аноним 04/12/15 Птн 22:41:27 #429 №595985 
>>595984
>Короче, я ненавижу теорвер и решать это не буду.
А как же стипендия?
Аноним 04/12/15 Птн 22:41:35 #430 №595986 
>>595984
> Короче, я ненавижу теорвер и решать это не буду
Слабак.
Чё как девка сразу?
Аноним 04/12/15 Птн 22:42:05 #431 №595987 
>>595984
>Короче, я ненавижу теорвер и решать это не буду.
Ну позязя...
Аноним 04/12/15 Птн 22:43:00 #432 №595990 
>>595985
>>595986
>>595987
Проиграл. Тредшотик нужен?
С99 блядь Аноним 05/12/15 Суб 07:53:56 #433 №596205 
std::vector<int> vec = {1, 2, 3, 4, 5, 6 };
Выдает ошибку C99. stoi нет. Дохуя еще чего нет. Как, блядь, заставить конпелятор конпелять C++ 14? IDE Dev C++, TGM-GCC 4.9.2
Аноним 05/12/15 Суб 08:01:11 #434 №596207 
>>596205
Так, туплю, не добавил команду для сборки. Другой вопрос. Почему я не могу указать размерность одномерного вектора при его определении в круглых или квадратных скобках, но для двухмерного должен указывать оба размера должен, причем именно в квадратных?
Аноним 05/12/15 Суб 08:04:33 #435 №596208 
>>596207
> Почему я не могу указать размерность одномерного вектора при его определении в круглых или квадратных скобках
http://melpon.org/wandbox/permlink/qZMDmoqpotdKHLPd
Это?
Аноним 05/12/15 Суб 08:04:51 #436 №596209 
Блядь, да я ебал. Почему я могу использовать size() для одномерного вектора, но не могу для вектора, содержащемся внутри другого вектора? Или, если могу, то как? Сука, что ж так все запутанно-то?
Аноним 05/12/15 Суб 08:06:42 #437 №596210 
>>596209
v.size(); v[0].size()

Нахуя тебе это? Если тебе нужен класс "матрица", не используй вектор внутри вектора, используй специализированные библиотеки. Вектор хуево дружит с кэшем из-за большого количества указателей, он не обязан быть прямоугольным и т. д.
Аноним 05/12/15 Суб 08:09:38 #438 №596211 
>>596208
Не, совсем не то. У меня есть вектор, содержащий строки.
При объявлении его по типу
std::vector<string> vec = {"abc","xyz"};
он объявляется, но не хочет объявляться, если я пишу vec(2) = {"abc","xyz"}; или vec[2] = {"abc","xyz"};
Но при этом если я создаю двухмерный вектор, в ячейках которого соержатся строки, мне нужно зачем-то писать vec[2][2] = { {"abc", "xyz"},{"cba", "zyx"} };
хотя компилятор мог бы точно так же и сам посчитать. И еще: size() работает для одномерного массива, но не работает для, например, vec[0], когда это двухмерный вектор и я не знаю, сколько в строчке столбцов.
Аноним 05/12/15 Суб 08:10:15 #439 №596212 
Похромисты, как мне на шиндовс перенести кьют из одной папки в другую, не похерив все пути?
Аноним 05/12/15 Суб 08:10:52 #440 №596213 
>>596210
Я таких пока не знаю...
Нахуя мне ОТДЕЛЬНЫЙ класс одномерных массивов, ОТДЕЛЬНЫЙ под многомерные, да еще и при наличии встроенных, лол? Задача-то на 150 строк.
>v[0].size()
Не работает.
Аноним 05/12/15 Суб 08:12:43 #441 №596214 
>>596211
http://melpon.org/wandbox/permlink/9t0Fc8FBR4dlKrlz
Аноним 05/12/15 Суб 08:12:47 #442 №596215 
>>596213
Зато, ВНЕЗАПНО, работает ->size()
WAT?
Аноним 05/12/15 Суб 08:15:16 #443 №596217 
>>596214
Я не вполне понимаю смысла сего действия. Это конкретно 2 строчки, а если бы было больше?
Аноним 05/12/15 Суб 08:18:40 #444 №596219 
>>596217
> Это конкретно 2 строчки, а если бы было больше?
Используй что-то вроде таблиц с индексами, а не пихай всё в один вектор.
Аноним 05/12/15 Суб 08:22:20 #445 №596222 
>>596219
Блядь, ну это же бред. Мне нужен двухмерный массив, для которого я могу использовать индексацию по [] и функцию, узнавания размера всего массива (из скольких массивов состоит) и размера каждого из элементов (из скольки элементов состоит соответствующий вложенный массив).
К слову, ->size() выдает вместо результата произвольную хуйню.
Аноним 05/12/15 Суб 08:25:51 #446 №596223 
Как объявить статическую переменную внутри класса, установив ей определенное значение ВНУТРИ этого класса (не во внешнем коде)? Например, считать количество объектов.
Аноним 05/12/15 Суб 08:28:23 #447 №596225 
>>596222
> Мне нужен двухмерный массив
Да не ебись с двумерным массивом.
Просто сделай одномерный и всё.
Аноним 05/12/15 Суб 08:32:37 #448 №596226 
>>596225
ГЕНИАЛЬНО! Как же я сам-то не додумался!
Ты, блядь, серьезно?
Аноним 05/12/15 Суб 08:33:22 #449 №596227 
>>596226
А нахуя тебе какие-то n-мерные вектора со строками, блять?
Аноним 05/12/15 Суб 08:34:37 #450 №596228 
>>596227
Может вектора разной длины, маня?
Аноним 05/12/15 Суб 08:41:32 #451 №596232 
>>596228
Мудень, блять.
http://melpon.org/wandbox/permlink/DERcBTGkCji7EKtg
Аноним 05/12/15 Суб 08:41:39 #452 №596233 
>>596213
Ты - хуй. http://ideone.com/y3BPRJ
Аноним 05/12/15 Суб 08:51:05 #453 №596235 
>>596233
Ок, теперь size работает, а при попытке вывести элемент массива на экран сосу хуй:
[Error] cannot bind 'std::basic_ostream<char>' lvalue to 'std::basic_ostream<char>&&'
Аноним 05/12/15 Суб 08:51:58 #454 №596236 
>>596232
Он не я. Но смысла твоего кода я все равно не понимаю.
>>596227
Например, массив сообщений об ошибках на разных языках.
Аноним 05/12/15 Суб 08:53:37 #455 №596237 
>>596235
Ты и дальше будет принципиально ideone не пользоваться? С чего я должен гадать, где именно ты накосячил? http://ideone.com/WIrGjK
Аноним 05/12/15 Суб 08:55:37 #456 №596238 
>>596237
Прости, понял все, тут работает, я просто не знал такого синтаксиса для двухмерных массивов кококо, в книжках про такое не пишут
Аноним 05/12/15 Суб 08:55:55 #457 №596239 
>>596237
Можешь что-нибудь сказать насчет >>596223
?
Аноним 05/12/15 Суб 08:58:09 #458 №596240 
>>596236
> Например, массив сообщений об ошибках на разных языках.
Зачем это хранить всю сразу? Дефолтно, ок, юзается английский.
Если возникает какая-то ошибка, то возвращается её номер и проверяется какой язык установлен в программе, а затем выводится текст ошибки или в лог записывается.
Аноним 05/12/15 Суб 09:01:46 #459 №596241 
>>596239
Ты путаешь объявление и определение. Объявить статическую переменную ты должен внутри класса, а вот определить ее - снаружи. Это сделано потому, что классы обычно определяются в хедере и инклудятся в множество объектных модулей, если бы можно определять статические переменные внутри класса, в каждом модуле были бы разные переменные. А сама статическая переменная должна быть одна. Поэтому объявить внутри, а вот определить - снаружи. http://ideone.com/Qne2sF
Аноним 05/12/15 Суб 09:07:14 #460 №596244 
>>596241
Мне нужна переменная, на которую можно влиять только изнутри класса, из его объектов, но она должна быть одна для всех объектов класса (как пример - количество объектов). А такая статическая переменная не только извне задается, но она вообще паблик, мне такое не подходит. Как быть?
Аноним 05/12/15 Суб 09:08:36 #461 №596245 
>>596244
Покажи свои наработки.
Мне гадать заебалось.
Аноним 05/12/15 Суб 09:12:38 #462 №596246 
>>596244
http://ideone.com/Qne2sF
Аноним 05/12/15 Суб 09:14:54 #463 №596247 
>>596245
Пытаюсь сделать у класса свойство static int id;
Присвоить ему начальное значение - нельзя, после класса его определять не труъ, ибо придется делать public static int id; а моя задача - сделать переменную, доступную только изнутри объекто класса. Твой вариант посмотрел, окей, годно, только строка 11 - это все равно определение ВНЕ класса, другой программист может ее случайно переопределить и пиздец. Логика работы должна быть примерно как у поля id в sql.
Аноним 05/12/15 Суб 09:18:45 #464 №596248 
>>596247
Другой программист может ее и в хедере переопределить, у него же такой же редактор, как у тебя. Строка 11 должна быть внутри .cpp файла, содержащего реализации методов класса. Это наоборот даже более безопасно, чем писать что-то в определении класса в хедере. Потому что исходники твоего скомпилированно объектного модуля ты давать не обязан, а вот хедер нужен.
Аноним 05/12/15 Суб 09:20:21 #465 №596249 
>>596247
Если у тебя там есть какое-то наследование, то юзай protected
Аноним 05/12/15 Суб 09:21:22 #466 №596251 
>>596249
#define class struct
#define private public
азаза
Аноним 05/12/15 Суб 09:24:00 #467 №596253 
>>596248
Хм, идейно. Если не трудно, распиши, какая вообще логика/идеология того, что совать в .h, а что в .cpp? Документацию, дружественные функции, пустые конструкторы или конструкторы копирования?
Аноним 05/12/15 Суб 09:26:04 #468 №596255 
>>596247
> Присвоить ему начальное значение - нельзя, после класса его определять не труъ, ибо придется делать public static int id;
Ну а зачем тебе ебаться с какой-то переменной.
Сделай какой-нибудь простой класс отвечающий за инкремент и декремент значения.
Аноним 05/12/15 Суб 09:28:30 #469 №596256 
>>596253
Логика такая. В С++ нет модулей. Вообще. Хедер - это по сути копипаста препроцессором текста из одного файла в другой.

Для компилятора С++ есть только .cpp файлы, которые он превращает в файлы .o, а линкер из них собирает уже исполняемый модуль.

Что туда пихать? Определения, о которых нужно знать снаружи, шаблоны (по этой причине почти весь буст - header-only), и функции, которые могут инлайниться.
Аноним 05/12/15 Суб 09:29:57 #470 №596257 
>функции, которые могут инлайниться.
Т.е. достаточно маленькие. Например, геттеры и сеттеры приватных пропертей, скорее всего нужно будет запихнуть в хедер, если, конечно, ты не используешь сокрытие реализации типа pimpl.
Аноним 05/12/15 Суб 09:32:07 #471 №596258 
>>596255
Так еще раз, переменная одна внутри всего класса, похуй, где, я же не смогу этого самого класса только один экземпляр иметь для всех объектов класса, которые кто-то другой создавать и использовать может. Пример еще раз - айди, порядковый номер каждого объекта.
>>596248
Но ведь эта строка МОЖЕТ быть и в другом месте, где сторонний программист захочет.
>>596256
>шаблоны
Эм, хм, почему? Если я делаю метод с шаблонами, я его реализацию должен держать в .h?
Аноним 05/12/15 Суб 09:33:49 #472 №596259 
>>596258
> Если я делаю метод с шаблонами, я его реализацию должен держать в .h?
Да.
Аноним 05/12/15 Суб 09:34:39 #473 №596260 
>>596259
Почему? Это же пиздец немного, а ежели я не хочу, чтобы его код видел левый хуй? Только через перегрузку методов хуярить?
Аноним 05/12/15 Суб 09:39:08 #474 №596261 
14492975480880.png
>>596260
> Почему?
Вот у него спроси почему.
Аноним 05/12/15 Суб 09:43:58 #475 №596262 
>>596258
>Так еще раз, переменная одна внутри всего класса, похуй, где, я же не смогу этого самого класса только один экземпляр иметь для всех объектов класса, которые кто-то другой создавать и использовать может.
По сути ты сейчас делаешь синглтоноподобную сущность - шаришь состояние на всю программу. Это плохо, потому что в будущем может оказаться все, что угодно (гугли по singleton is antipattern).
Заведи себе классы Yoba и YobaManager, передавай в конструктор Yoba указатель на YobaManager, и внутри YobaManager заведи свою переменную. Тогда обойдешься без синглтонов, при желании можешь иметь один глобальный manager на всю программу, а можешь все десять. http://ideone.com/yQbEj8
>Но ведь эта строка МОЖЕТ быть и в другом месте, где сторонний программист захочет.
С++ не тот язык, где есть защита от криворуких индусов. Твой злоумышленник может и #define private public написать.
>Эм, хм, почему? Если я делаю метод с шаблонами, я его реализацию должен держать в .h?
Если ты хочешь, чтобы он вызывался снаружи, из других объектных файлов, да.
>>596260
Можно в хедере объявить уже инициализированные шаблоны. https://msdn.microsoft.com/en-us/library/by56e477.aspx (zomg, MSDN), а сам код спрятать внутрь. Но пользователь твоей библиотеки не сможет объявлять новые специализации, только то, что ты предусмотрел.
Аноним 05/12/15 Суб 09:47:39 #476 №596263 
>>596261
>>596262
>С++ не тот язык, где есть защита от криворуких индусов. Твой злоумышленник может и #define private public написать.
Жестоко. И хуле делать? Шарп? Жаба? Питон?
Аноним 05/12/15 Суб 09:48:11 #477 №596264 
>>596263
Просто не программируй.
Аноним 05/12/15 Суб 09:51:30 #478 №596266 
>>596263
Писать жесткие гайдлайны по проекту и ебать за их нарушение.
Аноним 05/12/15 Суб 09:58:19 #479 №596269 
Блядьблядьблядьблядь, СУКА!
http://ideone.com/bMgx7U
Если ввести не число, случается пиздец. isNaN юзать или что? Не исключение же бросать в программе laba2.cpp
Аноним 05/12/15 Суб 09:59:10 #480 №596270 
>>596264
>>596266
->
>>596226
Аноним 05/12/15 Суб 09:59:48 #481 №596271 
>>596270
Какой-то ты мерзкий тип.
Аноним 05/12/15 Суб 10:00:55 #482 №596272 
14492988551130.jpg
>>596269
> или что?
Выводи на консоль.
Аноним 05/12/15 Суб 10:01:53 #483 №596273 
>>596272
Куда, в стдаут? Он итак засран.
Аноним 05/12/15 Суб 10:04:20 #484 №596274 
>>596269
http://ideone.com/KOTpU5
Аноним 05/12/15 Суб 10:10:49 #485 №596279 
>>596264
>>596274
Все шутки шутим?
Аноним 05/12/15 Суб 10:13:21 #486 №596280 
>>596279
Какое тебе еще поведение нужно?
Аноним 05/12/15 Суб 11:00:45 #487 №596292 
Братия во крестах. Может мне кто пояснить одну вещь? Короче, такая ХУИТА, как "Хранилище". Вот у меня есть абстрактный объект Place (место). Есть джва класса-наследника, Flat(квартира) и House(дом). Есть это ебаное Storage. Мне надо туда уметь ебашить и Флет, и Хаус. И чтобы можно было удалять, добавлять, очищать, ну прочие кириллования. Вот я конкретно залип, у меня это сторейдж динамическое. Как мне научить туда программу добавлять необходимые объекты классов? Ну понятно, массив-"пустышка" из Place, куда забиваются указатели. Но как? Операция "=" у меня чет не работает. Может мне кто конструкцию в общих чертах обрисовать? Код нинада, просто хотя бы строчки с созданием такого массива/добавлением элементов.
Аноним 05/12/15 Суб 11:01:19 #488 №596294 
>>596292
Ну или хотя бы книжку, где может этот пример хорошо разбираться.
Аноним 05/12/15 Суб 11:25:26 #489 №596307 
>>596292
Юзай какой-нибудь базовый класс и вектор шаред_птр из этих указателей.
Аноним 05/12/15 Суб 11:30:20 #490 №596310 
>>596292
>Операция "=" у меня чет не работает
Еще один даун, надеюшихся на то, что телепаты вернутся из отпуска. Код, блядь, показывай, пидарас ебаный.
Аноним 05/12/15 Суб 11:30:41 #491 №596311 
"чет не работает" - вся суть этих говноедов уровня бухгалтеров 1С.
Аноним 05/12/15 Суб 11:31:40 #492 №596312 
>>596307
Вообще не понял. Ты имеешь в виду библиотеки? Нельзя, потому что цель - именно самому и научиться подобные вещи катать.
>>596310
Пост прочитай внимательней, даун. Я прошу не окд мне править, а обрисовать структуру, как это реализовать. А не код писать. Хоть на псевдокоде.
Аноним 05/12/15 Суб 11:38:33 #493 №596320 
вы снова срались пока меня не было?
Аноним 05/12/15 Суб 11:43:55 #494 №596325 
>>596312
> Пост прочитай внимательней, даун. Я прошу не окд мне править, а обрисовать структуру, как это реализовать. А не код писать. Хоть на псевдокоде.

Тебе уже намекнули, что хранить в массиве надо указатель на абстрактный класс.

Хотя чо я распинаюсь, вести себя в интернете научись сначала. Тебя нормально попросили показать, что у тебя не выходит конкретно, поехавший.
Аноним 05/12/15 Суб 11:47:53 #495 №596326 
>>596325
Фига се намекнули. Покрыли трехэтажным, а потом рассказывают, что я себя вести не умею. Ладно, вот что есть:

void Storage:: add(Place ptr)
{

}
Storage::Storage(int size1)
{
size=size1;
Place
storage;
Place a;
storage = new Place[size];
}

Как это разрулить - я хз. Внутренне устройство Storage:

class Storage
{
Place
ptr;
int size;
Place storage[];
public:
void add(Place *ptr);
Storage();
Storage(int size1);
virtual ~Storage();
};


ЧЯДНТ? Я просто реально не врубаю структуру.
Аноним 05/12/15 Суб 11:49:46 #496 №596328 
>>596326
Книги пробывал почитать? Лафоре например.
Аноним 05/12/15 Суб 11:51:42 #497 №596330 
>>596326
https://stackoverflow.com/questions/12203878/
SOOOQUA, IDI NAHOOOY
Аноним 05/12/15 Суб 11:52:19 #498 №596331 
>>596326
Ты переизобретаешь std::vector<твой_базовый_класс*>.

Storage::Storage(int size1)
{
size=size1;
Place storage; <= вот это лишнее, ты маскируешь this->storage
Place a;
storage = new Place[size];
}
Аноним 05/12/15 Суб 11:53:24 #499 №596334 
>>596330
Я не просто так спросил код. Опытному человеку может показаться, что у него проблемы с гетерогенным вектором. Но на самом деле нет, у него проблемы с тем, что он велосипедит собственный вектор.
Аноним 05/12/15 Суб 11:55:01 #500 №596336 
>>596328
Вот книги я и просил тоже. Спасибо, взял на заметку.
>>596331
>>596330
>>596334
Ясно, я диб. После этого я смогу напрямую туда присваивать указатели?
Аноним 05/12/15 Суб 12:07:07 #501 №596353 
>>596336
Сможешь, но лучше взять std::unique_ptr или std::shared_ptr вместо голого указателя. http://ideone.com/fW7dhZ

Можно запить без ООП с помощью boost::variant:
std::vector< boost::variant<unsigned, std::string> > vec;
vec.push_back( 44);
vec.push_back( "str" );
Аноним 05/12/15 Суб 12:29:42 #502 №596363 
>>596353
Ясно, большое спасибо. Правда беда в том, что мне именно ООП и нужно.
Аноним 05/12/15 Суб 12:34:17 #503 №596365 
>>596363
Просто не еби мозги и юзай самый простой и понятный тебе пример.
Аноним 05/12/15 Суб 12:44:38 #504 №596369 
>>595971
>>595974
>>595979
>>595982
>>595984

Спасибо, теперь всё стало более понятно.
Может кто поможет с кодом на c++?
Хотя бы набросок, а дальше я сам.
Аноним 05/12/15 Суб 12:46:09 #505 №596371 
>>596369
Ясно.
Аноним 05/12/15 Суб 13:02:07 #506 №596376 
>>590823 (OP)
Поясните, как это функцию можно передать как параметр. Я еще понимаю объект с переопределенным (), но функция же не объект, или как?
Аноним 05/12/15 Суб 13:04:35 #507 №596379 
>>596376
Указатель на функцию?
Аноним 05/12/15 Суб 13:12:04 #508 №596382 
>>596376
> но функция же не объект, или как?
Функтор же.
С помощью лямбд.
С помощью указателя на функцию.
При помощи std::function
http://melpon.org/wandbox/permlink/bPpZI6FkMJuERi3q
Аноним 05/12/15 Суб 13:22:46 #509 №596386 
>>596379
Ага. Теперь хоть понятно, что гуглить.
Аноним 05/12/15 Суб 13:33:57 #510 №596388 
Ну, аноны! Буфер не чистится! Я ему чисти-чисти, а он не чистится. cin.get(), cin.ignore(cin.rdbuf()->in_avail());, cin.clear(); - похуй, если ввести строку, его нечеловечески залагает, а если считывать посимвольно, он так и будет для каждого символа перепечатывать всю хуету.

http://ideone.com/bMgx7U
Если ввести не число, случается пиздец. isNaN юзать или что? Не исключение же бросать в программе laba2.cpp
Аноним 05/12/15 Суб 13:52:09 #511 №596399 
>>596388
Попробовал еще while (cin.peek() != EOF);, тоже нихуя, без толку.
Аноним 05/12/15 Суб 13:54:49 #512 №596401 
>>596388
А cin.clear() и потом cin.sync() вроде даже работает. Почему тогда все остальные попытки очистить ни к чему не приводили?
Аноним 05/12/15 Суб 14:05:05 #513 №596409 
>>596388
И заодно объясните, почему я не могу определить вот такую функцию std::cin::clearStream {
std::cin.clear();
std::cin.sync();
}
Типа динамически низзя, только наследованием?
Аноним 05/12/15 Суб 14:06:50 #514 №596410 
>>596409
Вот что бывает, когда первый язык - плюсы
Аноним 05/12/15 Суб 14:17:04 #515 №596415 
>>596410
Да в том-то и дело, что нет, я просто захотел добавить метод классу динамически, что в этом преступного?
Аноним 05/12/15 Суб 14:19:43 #516 №596416 
>>596415
Захоти мануал почитать, чтобы понять, как классы и неймспейсы в плюсах работают
Аноним 05/12/15 Суб 14:21:51 #517 №596417 
>>596416
Так виноват первый язык или все-таки плюсы, лол? Я понял уже, что так нельзя, мне интересно, почему нельзя.
И почему >>596401
Аноним 05/12/15 Суб 14:48:47 #518 №596429 
Эй, мужики, а посоветуйте книгу по ассемблеру.
Я как-то месяца два-три назад читал Калашникова, но там пиздец как скучно.
Есть какие-нибудь, где есть ебля с памятью и присутствуют ассемблерные вставки, чтобы на крестах можно было какую-нибудь хуйню наклепать?
Аноним 05/12/15 Суб 15:00:42 #519 №596434 
>>596415
> просто захотел добавить метод классу динамически, что в этом преступного?
Тогда нельзя будет провести статический анализ правильности вызовов методов. У с++ статическая система типов, следовательно типы должны быть определены статически.
Аноним 05/12/15 Суб 15:05:29 #520 №596437 
>>596434
Понял, спасибо. Скажешь что-нибудь насчет странностей с очисткой ввода?
Аноним 05/12/15 Суб 21:50:00 #521 №596719 
В общем, хедеры Страуса с графикой не хотят компилиться по-хорошему, но сама библиотека FLTK работает отлично.
Вопрос анону, читавшему Страуструпа, можно ли перепрыгнуть на пару (или одну?) главу вперед, где уже начинается работа с библиотекой FLTK. Или же прочитать все подряд, просто без выполнения заданий?
На счет ошибок при компиляции я нагуглил и стало известно, что у него там какой-то хуйни наворочено, а править сам неизвестный мне код я не буду.
Аноним 05/12/15 Суб 21:56:13 #522 №596720 
>>596719
НЕЛЬЗЯ
ПРИДЕТ ВАСИЛИСК И УБЬЕТ ТЕБЯ НАХУЙ
ПОТОМУ ЧТО ТЫ НЕ СДЕЛАЛ МЕДАЛЬОН НА FLTK
Аноним 05/12/15 Суб 22:06:28 #523 №596726 
>>596720
Ладно, я понял. Просто ВДРУГ там что-то очень важное для понимания, а я возьму так и пролистаю главу-две.
Аноним 05/12/15 Суб 22:10:50 #524 №596730 
>>590823 (OP)
Много гайдов прочитал, но так и не допёр.
Как правильно распаковать и скомпилировать boost?
Скачал я архив с официального сайта
распаковал в папку c:\boost
Затем через командную строку вызвал сначала bootstrap. bat
затем набрал b2 toolset=msvc-12.0 variant=debug link=shared threading=multi runtime-link=shared address-model=64 stage

Всё верно сделал? Слишком быстро всё скомпилировалось, несмотря на то, что комп слабый.
Из переменных пользователя исчезла запись BOOST_PATH = с:\boost\boost_1_59_0 (которую я сам внёс). Почему тогда QtCreator обнаруживает папку boost_1_59_0? (в инклюде после "boost/")
Аноним 06/12/15 Вск 00:16:41 #525 №596791 
бамп
Аноним 06/12/15 Вск 00:55:45 #526 №596812 
>>596791
>518
>бамп
Аноним 06/12/15 Вск 01:00:16 #527 №596817 
>>596812
Там должно было быть написано тест.
Аноним 06/12/15 Вск 03:05:20 #528 №596891 
Чего интересного можно придумать с openCV? Захотелось разобраться с этой либой, параллельно делая что-то незатейливое на основе нее.
Машграф, отсечение невидимых треугольников и пиздец. Аноним 06/12/15 Вск 08:48:39 #529 №596944 
Анон, спасай меня пожалуйста. Пытаюсь делать прогу по машграфу, сурс - книжка древнего голландского пидора-Аммерала, нихуя не получается. Нарисовал кубик - окей. Нарисовал кубик из треугольников - окей. Пытаюсь сделать отсечение невидимых треугольников хотя бы для выпуклой фигуры (кубик) и ловлю бушлат, так как вместо невидимых, отсекается какая-то левая херня. Для каждого треугольника на экране имею мировые xyz каждой его точки, видовые xyz каждой точки (с учетом расположения камеры) и экранные xy каждой точки (с учетом удаления наблюдателя от плоскости экрана). Пытался считать через все типы координат C и D плоскости и сравнивать их с нулем - хуй, результат для них обоих один и тот же (что логично), но совсем не тот, что в книжке (что уже не очень). Помогайте. Может есть для такого случая готовый, вери изи алгоритм на 10 строчек? Или может посмотрите мой говнокод и исправите ошибку? (как-то стремно в нет выкладывать в открытую, лаба все-таки, потом еще препод приебется насчет уникальности) Ну или хоть дайте совет, как быть.
Аноним 06/12/15 Вск 09:39:09 #530 №596950 
>>596944
https://en.wikipedia.org/wiki/Weiler–Atherton_clipping_algorithm
https://en.wikipedia.org/wiki/Sutherland–Hodgman_algorithm
Аноним 06/12/15 Вск 13:01:11 #531 №597026 
14493960718380.jpg
>>596944
Ах вот ты где, сука.
Аноним 06/12/15 Вск 13:03:39 #532 №597029 
>>597026
Мимо.
Аноним 06/12/15 Вск 13:06:13 #533 №597032 
>>597026
>>597029
Расскажите мне в чём заключается шутка?
Аноним 06/12/15 Вск 13:58:06 #534 №597066 
(C)atch хорош для тестирования, или есть что-то годнее?
Аноним 06/12/15 Вск 14:23:00 #535 №597090 
>>597032
Типа препод из Вышки, типа злой. Хуйня, любой Вестяк или Бауманцы ему на клык накидают как по ебанутости, так и по уровню подготовки.
Аноним 06/12/15 Вск 14:40:46 #536 №597100 
>>597090
Не только вышки, но и ВМК. Спецсеминар у него говно, лаба говно, но гранты пилятся с рекордной скоростью.
Аноним 06/12/15 Вск 14:54:58 #537 №597110 
>>597100
Где они сейчас не пилятся. Мдя. Мой препод не может мне объяснить, как сделать это говно, но требует, чтобы я сделал это сам. Такие дела.
Аноним 06/12/15 Вск 15:07:07 #538 №597124 
Как оценивается сложность алгоритма и вот это все. Я так понимаю в ВУЗах проходят на специальности, да? Читаю Страуса и он там затронул тему. Есть какая литература что ли по этому делу?
Аноним 06/12/15 Вск 15:51:11 #539 №597166 
14494062710350.png
>>597124
Седжвик. А вообще тебе книги по алгоритмам, а не крестам надо. Тут даже вроде кидали новую книгу кармена на 200 с чем-то страниц. Книга говно, но в первых главах это поясняют. она на пике
Аноним 06/12/15 Вск 15:54:55 #540 №597168 
>>597166
Спасибо, почитаю.
>А вообще тебе книги по алгоритмам, а не крестам надо.
Я не преследовал цель учить алгоритмы, пока что только синтаксис. Но раз на этой стадии Страуструп решил заговорить о сложности алгоритмов, то почему бы мне не порыть этот материал глубже.
Аноним 06/12/15 Вск 16:10:26 #541 №597188 
че там с перекатом?
Аноним 06/12/15 Вск 16:11:23 #542 №597191 
>>597188
скоро очень скоро
Аноним 06/12/15 Вск 16:13:40 #543 №597197 
НОВЫЙ ТРЕД
https://2ch.hk/pr/res/597189.html
https://2ch.hk/pr/res/597189.html
https://2ch.hk/pr/res/597189.html
Аноним 06/12/15 Вск 18:07:46 #544 №597331 
>>597100
>>597100
Ты с ВМК? Расскажи что-нибудь про лабораторию компбютерной графики. Хотел пойти туда на магистратуру.
>лаба говно
Не знаю, но постоянно натыкаюсь на каких-нибудь успешных чуваков, работающих в нвидиа после всей этой движухи.
Аноним 14/12/15 Пнд 14:54:54 #545 №603145 
>>590823 (OP)
Как заставить qmake сожрать специальные символы(не цифробуквы) в директориях?
comments powered by Disqus

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