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

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

 Аноним 16/11/15 Пнд 22:23:55 #1 №581583 
14477018357970.jpg
"Пусть мир в декларативность обратился,
Остались своей скверне мы верны.
И где тебе абстракций строй явился,

Лишь байты нам отчетливо видны, -
Промолвил он, - как близоруким людям;
На жизнь в страданьи мы обречены,

Но веру вашу принимать не будем:
Как не поймет церковной чистоты
Развратный содомит, погрязший в блуде,

Так ваши парадигмы нам чужды".


FAQ:

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

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

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

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

Литература:

Для нюфань:
Учебники для начинающих. Все примерно одинаковой годноты, читать имеет смысл только какой-нибудь один, который больше приглянется.
Стэнли Липпман, Жози Лажойе и Барбара Му - Язык программирования 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)
Ариндам Мукерджи - Learning Boost C++ Libraries (на ангельском) (2015) - https://goo.gl/b0gPN1

Ссылки:

Годный блог, в котором все просто и понятно тян не нужны кококок борщ - 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++/
Видео с CppCon (на ангельском) - http://www.youtube.com/user/CppCon/videos/
Большой FAQ по C++ (на ангельском) - https://isocpp.org/wiki/faq/

Куда писать код:

Под шиндошс удобно использовать 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) и работать в ней.

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

Софт и библиотеки:

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

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

Йоба-набор библиотек, способный удовлетворить даже самые скотские фантазии - http://www.boost.org
Библиотека для удобной высокоуровневой работы с сетью (ахтунг! утягивает за собой boost, openssl и даже Аллаха) - https://casablanca.codeplex.com
Простая в обращении библиотека для работы с графикой и аудио - http://www.sfml-dev.org

И многое другое - http://en.cppreference.com/w/cpp/links/libs

Памятка:

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

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

Старший брат: >>579550 (OP)
Предыдущий: >>574713 (OP)
Аноним 16/11/15 Пнд 22:25:00 #2 №581584 
Предыдущие треды на архиваче:
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/
Аноним 17/11/15 Втр 00:15:46 #3 №581659 
>>581583 (OP)
Сап, страусята. Скоро сессия и значит пора начинать делать СВОЙ ПРОЕКТ, вместо решений задач "создайте два класса и напишите к ним по два конструктора" на семинарах, я выбрал один цельный проект, который бы эти все задачи бы включал. И заодно забил на семинары сказав, что в конце года покажу все это вот.

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

P.S. Язык менять нельзя, писать только на цпп.
P.P.S Прошу прощения за пунктуацию, она у меня хромает.
Аноним 17/11/15 Втр 00:19:46 #4 №581665 
>>581659
Если с минимумом ебли, то libcurl. Она написана на сях, но без проблем компилируется и используется с крестовым компилятором. В твоем случае нужно будет написать простейший коллбэк, который схороняет полученные от сайта байты туда, куда тебе нужно в string, или что там у тебя еще. Собственно запрос инфы делается буквально в пять строчек. Рикамендую такую либу.
Аноним 17/11/15 Втр 11:24:49 #5 №581837 
Э, я думал тут уже будет новая шапка
Аноним 17/11/15 Втр 12:17:31 #6 №581868 
>>581837
Пока закрутился, блоги никак не соберусь структурировать. А про куте не накидали достаточно инфы для параграфа. В общем, постараюсь к следующему, если все гладко пойдет.
Аноним 17/11/15 Втр 12:24:43 #7 №581873 
Почему в списке книг нет Дейтелов?
Аноним 17/11/15 Втр 12:25:02 #8 №581874 
14477523024820.jpg
Почему в списке книг нет Дейтелов?
sageАноним 17/11/15 Втр 12:25:48 #9 №581875 
>>581874
Это что, золотой пост?
Аноним 17/11/15 Втр 14:20:06 #10 №581930 
>>581875
Платиновый
Аноним 17/11/15 Втр 15:26:46 #11 №581996 
Дело очень серьёзное. Нужно вкатиться за 3 месяца в олимпиадное программирование почти с нуля. Нужен хороший курс. В нём должна быть теория, сборник задач, возможность проверить своё решение онлайн и пояснение в задачам если не смог решить. Нашёл codeforces, но там нет теории, а если есть, то я не понял как пользоваться поэтому сложно подобрать задачу на нужную тему.
Аноним 17/11/15 Втр 16:58:27 #12 №582054 
14477687071180.jpg
>>581996
>Дело очень серьёзное
>олимпиадное программирование
Аноним 17/11/15 Втр 17:33:44 #13 №582068 
>>581583 (OP)
С ОП-пика проиграл. bump, чтобы все видели
Аноним 17/11/15 Втр 18:25:47 #14 №582090 
>>582068
Выглядит как говно, как будто дальше кора ходить не стоит, но ведь на самом деле это не так.
Аноним 17/11/15 Втр 18:54:21 #15 №582121 
>>582054Посмеялись и хватит. По теме есть что?
Аноним 17/11/15 Втр 19:04:01 #16 №582136 
14477762414600.jpg
>>582090
Аноним 17/11/15 Втр 19:06:17 #17 №582144 
>>581996
Любой отдельно взятый курс - хуита. Ищи сам, копайся в десятках разных курсов, книг, статей. Гугли нужную тему под задачу, или задачи под тему, и так далее.
Аноним 17/11/15 Втр 19:07:25 #18 №582147 
>>582144
Как я узнаю по какой теме задача?
Аноним 17/11/15 Втр 19:13:50 #19 №582160 
>>582147
Стоп. Не отвечай. Это тупой вопрос. Лучше ответь на этот. Где найти темы задач? Список самых популярных алгоритмов с задачами на них. Так чтобы учить всё в правильном порядке и ничего не пропустить.
Аноним 17/11/15 Втр 19:17:19 #20 №582161 
>>582160
Поиск элемента в массиве
Аноним 17/11/15 Втр 19:19:17 #21 №582167 
>>582161
Список самых популярных тем.
Аноним 17/11/15 Втр 19:23:17 #22 №582169 
>>582090
Да ладно, неужели boost девчину не хочется взять за бюст?
Аноним 17/11/15 Втр 19:40:31 #23 №582176 
14477784320140.jpg
>>582167
Я особо не разбираюсь, но думаю подборку из двадцати задачек ты не найдешь. Решай выборочно из категорий http://acm.timus.ru/problemset.aspx
Особенно налегай на задачи на структуры данных, графовые задачи и строковые алгоритмы.
Аноним 17/11/15 Втр 19:44:57 #24 №582182 
>>582176
Это же список задач.
Аноним 17/11/15 Втр 19:46:11 #25 №582184 
Как вообще пишутся кроссплатформенные приложения без всяких Qt? Как вообще Qt и подобные кроссплатформенные либы это делают?

Ладно, с виндой и линуксом понятно. Всякие #ifdef _WIN32 и #ifdef __linux__, дальше просто #include нужных системных библиотек.

Но что делать с макосью? Их Cocoa не работает на C++, только Obj-C. Их Metal не работает на C++, только Obj-C. Obj-C код компонуется в либу, а потом функции вызываются оттуда? Какие-то более хитрые инструменты препроцессора? Как это достигается?
Аноним 17/11/15 Втр 19:50:04 #26 №582190 
>>582182
>структуры данных, графовые задачи и строковые алгоритмы
Аноним 17/11/15 Втр 19:53:17 #27 №582199 
>>582190
Ну это же сборник. А где разбор задачи?
Аноним 17/11/15 Втр 19:56:57 #28 №582204 
>>582199
В интернете блядь, я же сказал что 20и задачек с их разбором тебе не хватит.
Аноним 17/11/15 Втр 20:04:40 #29 №582210 
>>582184
> Их Cocoa не работает на C++
Вообще-то работает. Всплывают, конечно, подводные камни, в основном из-за нескольких вариантов objc_msgsend и необходимости понимать какую вызывать. Но скорее всего используют библиотеку. Ну или интерфейс пишут нативный - основа приложения (модели) на плюсах (например), а UI на обжективе, часть проекта же можно написать на плюсах, часть на обжективе.
Аноним 17/11/15 Втр 20:29:07 #30 №582228 
14477813475520.jpg
Здравствуй анон. Лабу сдавать уже завтра а я нихуя не понял и вобще тупой дебил, но это единственный предмет в моей шараге и я очень прошу помочь. Есть несколько алгоритмов решения задачи о рюкзаке. Не мог бы ты написать комментарии к ним для даунов вроде меня?
http://pastebin.com/G5bE7BMj
http://pastebin.com/eRV41asS
http://pastebin.com/CQzEzwab

Это просто ужасно, я ничего не понимаю в c++.
Аноним 17/11/15 Втр 21:12:47 #31 №582283 
>>581996
купи Кормена и прочитай
Аноним 17/11/15 Втр 21:18:19 #32 №582295 
>>581659
>>581665
Кэп грит, что есть плюсовый бинд - curlcpp
Аноним 17/11/15 Втр 21:33:31 #33 №582302 
14477852118660.png
>>582283
Ничего если отрывками читать буду? Сначала первую главу потом потом 20уя затем пятую. Тема с пика мне пока нахуй не нужна.
Аноним 17/11/15 Втр 21:37:39 #34 №582303 
>>582302
пика я такого не помню, но у меня старое издание
читать там надо было 2-5 главы обязательно в начале (алгоритмическая сложность и прочий матан), а потом уже можно было в разнобой
Аноним 17/11/15 Втр 21:38:49 #35 №582305 
>>582303
Спасибо.
Аноним 17/11/15 Втр 21:40:51 #36 №582306 
>>582228
ЭТО НОРМА, такую отвратительную байтопортянку ни один вменяемый человек не поймёт.
Аноним 17/11/15 Втр 21:41:57 #37 №582308 
>>582306
Я нашёл там сортировку пузырьком и неиспользуемые переменные. Это норма?
Аноним 17/11/15 Втр 22:08:43 #38 №582325 
Это нормально - допускать ошибки в legacy говнкодерском проекте, который теперь срочно пишешь ты?
Аноним 17/11/15 Втр 22:38:04 #39 №582343 
Вижу, кому-то печёт от успешности Qt. Ведь на самом деле она фитоняша, а жируха - это boost.
Аноним 17/11/15 Втр 22:45:03 #40 №582352 
>>581583 (OP)
>пик
А CodeBlocks?
Аноним 17/11/15 Втр 22:46:47 #41 №582356 
>>582352
Это IDE, а не библиотека.
Аноним 17/11/15 Втр 23:16:11 #42 №582390 
>>582343
>Вижу, кому-то печёт от того, как много собачьего дерьма валяется повсюду. Ведь на самом деле собачье дерьмо - фитоняша, а жируха - это несвежий понос.
Аноним 17/11/15 Втр 23:18:50 #43 №582399 
>>582390
Согласись, собачье дерьмо лучше несвежего поноса.
Аноним 17/11/15 Втр 23:19:21 #44 №582402 
>>582343
на самом деле, жируха — это winapi, но всем похуй
Аноним 17/11/15 Втр 23:19:57 #45 №582404 
>>582402
а stl — анорексичка
Аноним 17/11/15 Втр 23:20:20 #46 №582405 
>>582399
>собачье дерьмо лучше несвежего поноса
Я бы так не сказал. Доводилось попробовать все.
Аноним 17/11/15 Втр 23:23:24 #47 №582412 
>>582402
на самом деле, жируха — это MFC, но всем похуй
Аноним 17/11/15 Втр 23:25:26 #48 №582413 
>>581665
>>582295
Спасибо загуглю. Черный ящик это конечно хорошо, но хотелось бы понять как это все устроено в цпп, хотя бы совсем в общих чертах. То есть как реализуется подключение к серверу, делается запрос и т.д.

>>581996
Скиену гугли, но по сути теория там мало нужна. Нужно тупо ебашить задачи.
Аноним 18/11/15 Срд 00:01:17 #49 №582460 
>>581996
Не использовать плюсы в олимпиадном программировании.
>>582413
>То есть как реализуется подключение к серверу, делается запрос и т.д.
К сожалению, в std нет функций для работы с сетью, так что это зависит от платформы (или же от библиотеки) что ты используешь.
Аноним 18/11/15 Срд 00:01:40 #50 №582464 
>>582460
>К сожалению, в std нет функций для работы с сетью
P.S. В с++17 обещают добавить.
Аноним 18/11/15 Срд 00:35:01 #51 №582500 
>>582460
>нет функций для работы с сетью
Всё правильно, байтослесари не должны использовать сеть, их задача дрочить байтики и искать элемент в массиве.
Аноним 18/11/15 Срд 01:54:17 #52 №582573 
14478008579030.jpg
>>581996
Informatics.mcme . Начинать с раздела про поиск, и дальше по порядку. В каждом из разделов есть теория и задачи по возрастанию сложности. Параллельно рекомендую пройти физтеховский курс по комбинаторике на курсере, и какой-нибудь курс по алгоритмам.
Аноним 18/11/15 Срд 01:56:27 #53 №582576 
>>581996
А вобще за 3 месяца ты только хуй пососёшь скорее всего, максимум сможешь решать простенькие задачи на реализацию и несложную идею. Алгоритмы ты применять за 3 месяца не научишься.
sageАноним 18/11/15 Срд 02:28:16 #54 №582585 
>>582500
Иди, приготовь мне AbstractSingletonProxyFactoryBean, маня.
Аноним 18/11/15 Срд 02:33:10 #55 №582586 
>>582295
У меня подозрение, что он хуево работает, или не обновляется, или еще что-то. Я смотрел в его сторону, но не использовал, хоть и не могу вспомнить, почему.
Аноним 18/11/15 Срд 02:40:45 #56 №582593 
14478036458180.png
>>582585
>этот подрыв портвешкового байтоговнарика
Аноним 18/11/15 Срд 14:16:14 #57 №582805 
Есть ли какие-нибудь учебники/уроки, как пользоваться FLTK? А то посоветовали, как простую графическую библиотеку, а нихуя не понятно.
Аноним 18/11/15 Срд 14:44:11 #58 №582819 
>>582356
Ядро С++ и Qt тоже не библиотеки.
Аноним 18/11/15 Срд 14:47:35 #59 №582820 
>>582593
Перечитай памятку в оппосте.
Аноним 18/11/15 Срд 14:51:48 #60 №582824 
>>582573
Спасибо. То что надо.
Аноним 18/11/15 Срд 15:07:13 #61 №582838 
>>582805
Возьми что-нибудь получше и более распространенное, например Qt, GTK или wxWidgets.
Аноним 18/11/15 Срд 15:08:12 #62 №582840 
Крестаны. Подскажите где че по оптимизации почитать или задачки какие-то? Возможно на собес скоро пригласят, но я понял, что никогда код не оптимизировал в тырпрайсе, только поверхностные знания есть
Аноним 18/11/15 Срд 15:10:29 #63 №582847 
посоны, кто-нибудь юзал плюсовые интерпретаторы? cint или cling?
Аноним 18/11/15 Срд 15:11:51 #64 №582849 
14478487118990.png
14478487119011.png
14478487119012.png
>>581583 (OP)
Делаю по инструкции из шапки (Пустой проект и мой файл *.cpp). VS 2010. Приклеплейтед, что я делаю не так?
Аноним 18/11/15 Срд 15:15:10 #65 №582854 
>>582840
Первое правило оптимизации: не оптимизируй раньше срока и поиска узких мест.
Второе правило оптимизации: оптимизируй сначала алгоритм.
Третье правило оптимизации: оптимизируй работу с сетью/файлами/БД и т.п. (кеширование, буферизация и т.д.).

Ну а вообще есть эффективное использование с++, например.
Аноним 18/11/15 Срд 15:18:26 #66 №582857 
>>582849
переустанови студию
алсо, студия хоть для плюсов установлена?
Аноним 18/11/15 Срд 15:22:14 #67 №582862 
14478493343320.png
>>582857
Просто установил и всё. При первом включении выбрал С++. Странно 2015 отказалась устанавливаться, 2013 тоже, а десятая установилась.

Пустой консольный проект тоже не робит.
Аноним 18/11/15 Срд 15:27:49 #68 №582867 
>>582854
Это всё понятно. Мейерса читаю как раз, но там скорее best practices.
Интересен опыт в нахождении узких мест.
Аноним 18/11/15 Срд 15:30:15 #69 №582868 
>>582867
Профилированием же.
Аноним 18/11/15 Срд 15:34:55 #70 №582872 
>>582868
А на глаз как?
мимопроходил
Аноним 18/11/15 Срд 15:37:58 #71 №582876 
>>582805
http://www.fltk.org/doc-1.3/basics.html
Она ж простая, если ты в глаза не будешь долбится и прочитаешь таки доки.
Аноним 18/11/15 Срд 15:45:19 #72 №582879 
>>582872
Профилированием на глаз. Как ещё?
Аноним 18/11/15 Срд 15:45:28 #73 №582880 
>>582872
На глаз трудно оценить производительность по нескольким причинам:
1) Надо быть истинным экспертом, чтобы точно знать какой код сгенерируется. (Например, разные компиляторы могут сделать функцию как встроенной, так и нет. А так же различная оптимизация вызовов рекурсивной функции).
2) Часто используются библиотеки и, будучи незнакомым с ними, нельзя точно сказать, насколько они производительны.

Ну а на глаз:
1) Вынести расчеты из циклов, которые можно.
2) Использование RTTI.
3) Создание потоков, вместо пула (если не единичный раз).
Аноним 18/11/15 Срд 15:46:49 #74 №582882 
>>582880
> 1) Надо быть истинным экспертом, чтобы точно знать какой код сгенерируется. (Например, разные компиляторы могут сделать функцию как встроенной, так и нет. А так же различная оптимизация вызовов рекурсивной функции).
-S флаг подрубить и попыриться в машинный код, а? Там и видно что и как оптимизируется.
Аноним 18/11/15 Срд 15:50:55 #75 №582886 
>>582882
А это считается "на глаз"?
В чем тогда проблема прописать какой-нибудь -pg и потом gdb пройтись?
Аноним 18/11/15 Срд 16:05:42 #76 №582900 
>>582880
Ладно, тогда так поставлю вопрос: Какие задачи по оптимизации могут спросить на собесе?
если ты тот анон, который мне изначально ответил
Аноним 18/11/15 Срд 16:14:19 #77 №582904 
>>582900
Честно говоря - даже не представляю.
Сколько собеседований было, вопросов по оптимизации не встречал (разве что вопросов в стиле "А всегда ли алгоритм со сложностью O(n*log(n)) быстрее O(n^2)?")
Аноним 18/11/15 Срд 16:21:26 #78 №582908 
>>582904
Уточню.
Собеседований для энтерпрайза, что подразумевает использование готовых алгоритмических библиотек.
Были вопросы по поводу оптимизации различных алгоритмов или структур данных, для этого могу посоветовать традиционный квартет для с++:
1) Кнут. Искусство программирования.
2) Кнут. Конкретная математика (математический аппарат для анализа алгоритмов).
3) Кормак. Алгоритмы, построение и анализ (теория алгоритмов).
4) Седжвик. Алгоритмы на с++ (тут уже практические особенности реализации на с++ )
Аноним 18/11/15 Срд 18:01:33 #79 №582984 
>>582908
>Седжвик
Роберт и Боб одинаковые имена?
Аноним 18/11/15 Срд 18:05:55 #80 №582989 
>>582984
А при чем здесь Боб?
Роберт в данном случае.
Аноним 18/11/15 Срд 18:12:04 #81 №582994 
>>582989
Соавтор/консультант его в введении/предыстории бобом называет.
Аноним 18/11/15 Срд 18:56:37 #82 №583039 
Погромисты выручайте, есть два файла, в одном фигуры точеные, в другом визитор дроченый…
Вообщем не работает, что делать
[CODE]
//shapes.h

#include "visitors.h" - так зацикливает включения
class ShapeVisitor; - так знаяет так обращаться к методу visitLine
class Shape
{
public:
virtual void Accept(ShapeVisitor) = 0;
};

class Line: public Shape
{
public:
Line(int x1 = 0, int y1 = 0, int x2 = 0, int y2 = 0);
void Accept(ShapeVisitor
visitor) { visitor->visitLine(this); }
private:
int _x1, _y1;
int _x2, _y2;
};
[/CODE]

[CODE]
//visitors.h
#include "shapes.h" - так зацикливает включения
class Shape; - так знаяет так обращаться к методам shape и наследников
class ShapeVisitor
{
public:
virtual void visitLine(Line) = 0;
};

class LoadSaveVisitor : public ShapeVisitor
{
public:
enum mode{
save,
load
};
LoadSaveVisitor(FILE
fileName, mode);
void visitLine(Line);
private:
FILE
_file;
mode _mode;
};
[/CODE]
Аноним 18/11/15 Срд 18:57:22 #83 №583040 
>>583039
>так не знает как обращаться
фикс
БЛОГИ ДЛЯ ШАПКИ Алёна 18/11/15 Срд 18:59:49 #84 №583041 
14478623894180.jpg
ребята, читал статью на eax.me
Сама статья не всем будет интересна, но зато там 10 актуальных не заброшенных блогов о PR.
И большая часть - CPP Ориентированные :

http://eax.me/first-programming-language/
Аноним 18/11/15 Срд 19:12:21 #85 №583045 
14478631418620.jpg
Что можно почитать современного за template-design?
Есть пара старых книг: Александреску да templates the complete guidе. Первая давно прочитана, а на вторую боюсь потратить время
Аноним 18/11/15 Срд 19:37:41 #86 №583061 
>>582849
Читаешь Липпмана? Я тоже недавно начал ее читать, сегодня дочитал 11 главу. Можешь обращаться за советами к vk.com/dvoshlol .
Аноним 18/11/15 Срд 19:42:34 #87 №583067 
>>582862
>Странно 2015 отказалась устанавливаться, 2013 тоже, а десятая установилась.
У тебя либо xp, либо старая ревизия семёрки. Упдейт неизбежен, не сопротивляйся и дай мс-у вставить в тебя свой ключ на 10.

Остальные проблемы находятся тут: https://www.google.ru/search?client=opera&q=the+cl+task+failed+unexpectedly&sourceid=opera&ie=UTF-8&oe=UTF-8
Аноним 18/11/15 Срд 19:44:44 #88 №583070 
>>583045
>современного
Дык, там ничего особенно нового не появляется. Ну, именно чего-то такого, что сделало бы всю старую лит-ру неликвидом. 1-2 фишечки всегда вычитаешь в сети, общая суть не изменится.
Аноним 18/11/15 Срд 19:46:27 #89 №583071 
>>583070
Ничего себе ничего современного!
Variadic templates, магия с decltype - это называется "ничего"?!
Аноним 18/11/15 Срд 19:50:01 #90 №583076 
>>583071
>1-2 фишечки
Аноним 18/11/15 Срд 19:56:43 #91 №583091 
>>583076
Которые добавляют массу возможностей.
Аноним 18/11/15 Срд 19:59:32 #92 №583095 
>>583091
>всегда вычитаешь в сети
Аноним 18/11/15 Срд 20:01:57 #93 №583100 
>>583070
Но зато сам язык развивается, а вместе с ним и новые способы организации появляются. Даже в тех же ranges сфинае-изъебства выглядят неизъебствами.

Аноним 18/11/15 Срд 20:06:34 #94 №583108 
>>582819
>Qt
>не библиотека
Ты охуел?
Аноним 18/11/15 Срд 20:10:33 #95 №583112 
>>583108
Не библиотека, а фреймворк.
Не пту, а колледж
Аноним 18/11/15 Срд 20:52:48 #96 №583142 
>>583112
А ещё IDE. Только на оппике сравниваются библиотечки.
Аноним 18/11/15 Срд 20:59:01 #97 №583148 
В бусте етсть тригонометрия?
Аноним 18/11/15 Срд 21:00:36 #98 №583151 
>>583148
Тебе math.h мало?
Аноним 18/11/15 Срд 21:06:56 #99 №583157 
>>583142
Ты ебанутый?
Аноним 18/11/15 Срд 21:13:56 #100 №583162 
>>583151
Ну чтобы сходу были векторы и функции для них, нормализация, кроспродукт, дотпродукт. Матрицы там и тдд.
Пожалуй это уже не тригонометрия, но это то, что мне нужно.
Аноним 18/11/15 Срд 21:15:23 #101 №583166 
>>583157
А ты нет?
Аноним 18/11/15 Срд 21:16:13 #102 №583169 
>>583162
Ну погугли, должно быть.
Аноним 18/11/15 Срд 21:19:34 #103 №583173 
>>583169
Ну спс, от души.
Аноним 18/11/15 Срд 21:26:02 #104 №583182 
>>583173
Обращайся.
Аноним 18/11/15 Срд 21:45:51 #105 №583197 
>>583157
Ну я к гуй-фреймворку не приравниваю ide.
Аноним 18/11/15 Срд 21:49:12 #106 №583200 
>>583197
Он наверно про qt creator.
Аноним 18/11/15 Срд 21:56:18 #107 №583208 
>>583162
http://www.boost.org/doc/libs/1_59_0/libs/numeric/ublas/doc/
Аноним 18/11/15 Срд 22:03:49 #108 №583217 
>>583200
Внезапно, Qt Creator - IDE для крестов, написанная на Qt, но не являющаяся её частью. Челик доказывает что:
>А ещё IDE
Аноним 18/11/15 Срд 22:04:50 #109 №583218 
>>582908
Если я правильно понимаю твой тырпрайз, то нахер им "оптимизации" усрались. Глагное сделай хоть как-то работающий код, а железа докупить не проблема.
Аноним 18/11/15 Срд 22:05:52 #110 №583219 
>>583218
В тырпрайзе плюсов вообще мало, разве что поддержка всякой крудообразной хуиты 2007-го с++ буилдера.
Аноним 18/11/15 Срд 22:08:54 #111 №583221 
>>583218
Но ведь это неэффективно.
Аноним 18/11/15 Срд 22:11:21 #112 №583224 
>>583218
Ага особенно для мобилок и дров.
Аноним 18/11/15 Срд 22:13:04 #113 №583225 
>>583219
Смотря где.
Два года назад, на моей первой работе, я работал в РТИ и мы там писали вполне типичные энтерпрайз приложения на крестах (Qt в частности).
Правда, там целевой платформой был линукс.
Аноним 18/11/15 Срд 22:57:29 #114 №583258 
14478766490310.jpg
Братишки, хочу отказаться от Qt, потому что он жируха.
Но тогда встает вопрос о гуе: на чем его пилить? Есть ли отдельная исключительно гуёвая библиотека, чтобы можно было пилить няшные формочки так же просто, как и в qt?
Аноним 18/11/15 Срд 23:03:20 #115 №583268 
>>583162
Armadillo, внезапно OpenCV, eigen
Boost не бери, лебо говно.
Аноним 18/11/15 Срд 23:07:45 #116 №583272 
>>582984
Да, хоть и странновато, лол.
Аноним 18/11/15 Срд 23:09:56 #117 №583276 
>>583045
b.atch.se доставит, базарю.
Еще гугли template metaprogramming tricks, например. Я не помню точный адрес этого блога, но там чувак на шаблонах сделал ассемблер времени компиляции.
Аноним 18/11/15 Срд 23:10:13 #118 №583277 
Когда мне нужен, а когда не нужен буст?
Аноним 18/11/15 Срд 23:11:43 #119 №583280 
>>583162
OpenCV имеет это все, хотя вообще это говно ебаное. Но мэйнстрим.
Аноним 18/11/15 Срд 23:12:27 #120 №583281 
>>583258
FLTK возьми.
Но тот же Qt прекрасно подходит, если честно, не знаю почему ему так называют.
Аноним 18/11/15 Срд 23:12:33 #121 №583282 
>>583258
Ты как шлюха, которая хочет променять своего лампового куна на ёбыря поинтереснее.
Аноним 18/11/15 Срд 23:13:17 #122 №583285 
>>583277
Нужен когда с ним удобнее или вообще невозможно без него. Или когда в стандартной библиотеке не хватает способов взаимодействия программы с внешним миром типа чтения зипов.
Аноним 18/11/15 Срд 23:13:41 #123 №583287 
>>583277
Это как с еблей в жопу. Ты долго сопротивляешься, не хочешь подключать это говно и шквариться. Потом обстоятельства берут верх, ты подключаешь ее ради какой-нибудь фичи. И потом уже начинаешь получать удовольствие и все проблемы решать бустом, а обратного пути нет.
Аноним 18/11/15 Срд 23:16:05 #124 №583292 
>>583287
Бля. Я только недавно начал анально мастурбировать. В прямом смысле. Наверно больше пробовать не надо.
Аноним 18/11/15 Срд 23:27:40 #125 №583303 
>>582994
>>582994
Боб и Роберт - это одно имя.
Аноним 18/11/15 Срд 23:28:02 #126 №583304 
>>583292
А я бросил. Буста тоже избегаю.
Аноним 18/11/15 Срд 23:28:44 #127 №583306 
>>583303
Ну пиндосы тупыыые.
Аноним 18/11/15 Срд 23:29:18 #128 №583308 
>>583277
Буст - это трейдмарк, там много либ разного качества. С++14 самые качественные уже перекочевали в стандарт. UBLAS - говно.
Аноним 18/11/15 Срд 23:29:48 #129 №583309 
>>583306
Почему же? Вячеслав - Слава. Николай - Коля. Тоже не очень логично, на первый взгляд.
У меня был более наглядный пример, но я его забыл. Вспомню - отпишу.
Аноним 18/11/15 Срд 23:30:29 #130 №583312 
Александр - Саша - Шура
ВОТ ТУПЫЫЫЫЕ
Аноним 18/11/15 Срд 23:30:56 #131 №583313 
> C++ тред
> Боб и Роберт - это одно имя.
> бросил анально мастурбировать
> Ну пиндосы тупыыые.
Ахуеть. Даже в бэ возвращаться не хочется.
Аноним 18/11/15 Срд 23:32:31 #132 №583316 
>>583309
Одно официальное или деловое, а второе повседневное. А у них боб тоже может быть официальным наверно.
Аноним 18/11/15 Срд 23:35:47 #133 №583320 
14478789473020.jpg
>>583313
Аноним 18/11/15 Срд 23:35:55 #134 №583321 
>>583316
>>583313
Дебил, Боб - сокращение. Что тебя не устраивает? Пиздуй обратно в свой /b/, откуда ты прилез.
Аноним 18/11/15 Срд 23:36:50 #135 №583324 
Ни разу не слышал Роберта Марли.
Аноним 18/11/15 Срд 23:40:40 #136 №583330 
>>583324
Лол. Теперь буду так его называть. Но я ещё ни разу в жизни не говорил о нём.
Аноним 18/11/15 Срд 23:47:51 #137 №583351 
>>583324
>>583321
Это же американцы, их имена вообще ничего не значат.

Боб может и в паспорте быть. Еще Роб.

William может быть Will или Bill.

Есть такие, которым не нравится определенный вариант своего имени, иногда даже этот вариант в паспорте числится.
Возврат массива из функции Аноним 18/11/15 Срд 23:49:08 #138 №583355 
Блядь, я затрахался возвращать из функции указатель на массив, везде не забывая все эти звездочки и амперсанды. Можно ли как-то возвратить значение по ссылке, чтобы хотя бы во внешнем коде не ебаться с этим бредом?
Ну типа
http://pastebin.com/JjLSwTFx
Я хз, передавать в функцию ссылку на массив как-то тупо, вспоминаются времена Паскаля. Очищать память вне функции еще пиздецовее, вообще быдлокод какой-то. Я так понимаю, это как-то через вектора можно сделать, но я типа только начал учиться и не дошел до этого, но не иметь возможности вернуть массив для меня недопустимо.
Аноним 18/11/15 Срд 23:51:43 #139 №583360 
>>583355
Берешь std::vector
Радуешься
Аноним 18/11/15 Срд 23:54:42 #140 №583370 
>>583351
Есть американский аналог имени Сергей? Или произносить кося под француза?
Аноним 18/11/15 Срд 23:55:45 #141 №583372 
>>583221
Не эффективно с точки зрения бизнеса и прибыльности или твоего манямирка?
Аноним 18/11/15 Срд 23:58:25 #142 №583376 
14478803054290.png
Аноним 19/11/15 Чтв 00:00:23 #143 №583382 
>>583360
> Я так понимаю, это как-то через вектора можно сделать, но я типа только начал учиться и не дошел до этого
>>583370
Серж, только это не под француза, а под латинянина.
Аноним 19/11/15 Чтв 00:03:25 #144 №583385 
>>583360
P.S.
НЕЛЬЗЯ возвращать из функции ссылку на стековую переменную.
Возвращай либо по значению, либо константную ссылку.
Аноним 19/11/15 Чтв 00:04:32 #145 №583386 
>>583382
> Я так понимаю, это как-то через вектора можно сделать, но я типа только начал учиться и не дошел до этого

const std::vector<int> &getVector() {
std::vector<int> vec = {1, 2, 3, 4, 5, 6 };

return vec;
}
Аноним 19/11/15 Чтв 00:08:53 #146 №583392 
>>583386
Ты вот думаешь, я много понял в этом пиздеце?
Почему const? Зачем & перед именем функции (то есть, зачем именно ссылка, почему с обычным массивом так нельзя и почему без ссылки, по значению нельзя)?
Как с этим работать во внешней программе? Надо ли потом вручную память от этого чистить? Господи, какое же задротство, нервы, сука.
Аноним 19/11/15 Чтв 00:13:26 #147 №583398 
>>583392
Программирование - ну не твое, братан...
Аноним 19/11/15 Чтв 00:15:39 #148 №583400 
>>583398
Спасибо на добром слове, вот только в пыхе, жабе и где угодно еще у меня таких проблем не возникает, хотя занимался я ими раньше. Мб старею. Это не к теме срача, объясни пожалуйста, почему все именно так убого, ёбнуто, как оно есть, почему нельзя проще и логичнее; и как с этим жить? Ну или хотя бы работать.
Аноним 19/11/15 Чтв 00:17:12 #149 №583403 
>>583392
Ты бы основы тогда для начала подучил.

const std::vector<int> & - тип, возвращаемой функцией (константная ссылка на std::vector<int> )

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

Память чистить не надо т.к. это std::vector, динамический массив, который сам управляет памятью.

А вообще - иди и читай учебник нормальный с 0, у тебя нет знаний основ.
Аноним 19/11/15 Чтв 00:20:11 #150 №583407 
>>583400
>почему нельзя проще и логичнее
Потому что это с++, он выигрывает в производительности и гибкости т.к. меньший уровень абстракции
Аноним 19/11/15 Чтв 00:25:34 #151 №583414 
>>583403
>const std::vector<int> & - тип, возвращаемой функцией (константная ссылка на std::vector<int> )
Это я понимаю.
>& - в данном случае обозначение ссылки
Это тоже, я не понимаю, почему
1) нельзя так же возвращать обычный массив? "Просто потому что"?
2) нельзя вернуть этот вектор по значению?
>const - т.к. ссылка должна быть константной, это продлевает жизнь переменной
Этого не понимаю. Куда продлевает, зачем, насколько, на что это влияет?
>Память чистить не надо т.к. это std::vector, динамический массив, который сам управляет памятью
Ок, понял, до этого просто не дошел еще.
>>583407
Это общие слова. Не вполне понимаю, как возможность вернуть ссылку на область памяти вместо ссылки на ячейку памяти или указателя на область памяти влияет на производительность.
Аноним 19/11/15 Чтв 00:44:49 #152 №583433 
>>583386

const std::vector<int> &getVector()
{
>static const std::vector<int> vec{ 1, 2, 3, 4, 5, 6 };

return vec;
}

Это если вам статическая константа нужна. А вообще, вам нужно constexpr в Global scope:

constexpr int ints[6]{ 1, 2, 3, 4, 5, 6 };
Аноним 19/11/15 Чтв 00:52:11 #153 №583439 
>>583433
Ну это уже вообще пиздец.
Аноним 19/11/15 Чтв 00:52:48 #154 №583441 
>>583414
>>const - т.к. ссылка должна быть константной, это продлевает жизнь переменной
>Этого не понимаю. Куда продлевает, зачем, насколько, на что это влияет?
Он, наверное, имел в виду RVO, но написал хуйню. Константная ссылка ничего не продлевает. Тот пример должен возвращать просто std::vector<int>.
Аноним 19/11/15 Чтв 00:57:07 #155 №583445 
>>583308
Ну, разработчики иде не шибко поспевают за стандартами.
Аноним 19/11/15 Чтв 01:03:54 #156 №583447 
>>583441
>Константная ссылка ничего не продлевает
ньюфаг закукарекал, иди стандарт учи, пидор
Аноним 19/11/15 Чтв 01:04:11 #157 №583448 
>>583441
http://en.cppreference.com/w/cpp/language/lifetime

>Тот пример должен возвращать просто std::vector<int>
И в случае присваивания, будет копирование ВСЕГО.
Или же ты предлагаешь еще и про семантику перемещения рассказывать?
Аноним 19/11/15 Чтв 01:07:08 #158 №583449 
>>583448
P.S.
>1) нельзя так же возвращать обычный массив? "Просто потому что"?
Увы, но да. Можешь выделять память динамически, но тогда придется самому следить за ее очисткой.
>2) нельзя вернуть этот вектор по значению?
Ответил чуть выше - будет произведено копирование вектора, что долго.
На самом деле нет, в std::vector поддерживается семантика перемещения и копирования в данном случае не будет, просто взял простой пример, но он получился неудачным
>Этого не понимаю. Куда продлевает, зачем, насколько, на что это влияет?
http://en.cppreference.com/w/cpp/language/lifetime
Аноним 19/11/15 Чтв 01:07:29 #159 №583450 
>>583447
>>583441
>Константная ссылка ничего не продлевает
пидор гнойный, читай великих, мразь подноготная: http://herbsutter.com/2008/01/01/gotw-88-a-candidate-for-the-most-important-const/
Аноним 19/11/15 Чтв 01:14:06 #160 №583454 
>>583449
>Ответил чуть выше - будет произведено копирование вектора, что долго.
Эм, а так что будет, если не копирование? Переадресация на ту память? Как из внешней программы с такой функцией работать, приведи пример вызова и использования полученного массива, пожалуйста.
Аноним 19/11/15 Чтв 01:24:26 #161 №583460 
>>583454
Черт.
Извини, это я ошибся.
Надо так, в идеале.

std::vector<int> getVector() {
std::vector<int> vec = {1, 2, 3, 4, 5, 6 };

return vec;
}

const std::vector<int> &data = getVector();

Извини, поздно, голова не соображает уже.

В общем, суть в том, что при выходе из "зоны видимости", стековые переменные автоматически уничтожаются.
Поэтому, если возвращать из функции ссылку на стековую переменную, будет плохо т.к. ссылка вполне реально может быть невалидной и будет UB.
Аноним 19/11/15 Чтв 01:27:23 #162 №583462 
>>583460
>Надо так, в идеале.
не в идеале, а если не будет потом изменять эти данные.

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

Чуть подробнее объясню код.

std::vector<int> getVector() {
std::vector<int> vec = {1, 2, 3, 4, 5, 6 }; // тут мы создали вектор, который в себе содержит данные

return vec;
}

const std::vector<int> &data = getVector(); // тут мы просто ссылаемся на данные, но не можем их изменять, поэтому ссылка должна быть константной!

std::vector<int> data = getVector(); // в этом случае, данные можем изменять как хотим т.к. они скопируются, что может быть долго.

Пойду лучше спать, а то огибаюсь и несу глупость.

Опять дам совет: прочти хороший учебник, который покажет основы.
Аноним 19/11/15 Чтв 01:38:27 #163 №583469 
>>583400
Дык пхп и проще, ё-маё.
Аноним 19/11/15 Чтв 01:41:21 #164 №583472 
>>583460
>Поэтому, если возвращать из функции ссылку на стековую переменную, будет плохо т.к. ссылка вполне реально может быть невалидной и будет UB.
А если, как в данном случае, возвращать значение, все будет хорошо и в основной программе не нужно вектор делать константным? И ссылку тоже не нужно?
>Опять дам совет: прочти хороший учебник, который покажет основы.
Да я читаю понемножку, но по с++, похоже, НЕТ хороших учебников. Что Шилдт, что Прата, что Страуструп - они говно, они огромные и бестолковые, я не готов ждать до 500ой страницы, чтобы узнать, что в С++ таки тоже есть нечто похожее на динамические массивы и с ними можно по-человечески работать, это тупо и неэффективно. Не важно, читаешь ты самоучитель по иностранному языку, языку программирования или чему-то еще, ты после прочтения 100 вводных страниц уже точно должен знать основы, а нормальные массивы и нормальная работа с ними, как бы это не называлось, это основа-основ в любом языке. Здесь же я, читая "хорошие книжки", прочитав половину не знаю ничего и ничего толкового написать не могу сравнить хотя бы с книжкой по С K&R, где хоть и мутно, но прочитав, ты можешь все. А пролистав всю книжку, не понимаю кучу постоянно встречающихся моментов. Ни в жабе, ни в пыхе, нигде такого нет. Если ошибаюсь - подскажи эту хорошую книжку.
Аноним 19/11/15 Чтв 01:43:41 #165 №583473 
>>583472
>Не важно, читаешь ты самоучитель по иностранному языку, языку программирования или чему-то еще, ты после прочтения 100 вводных страниц уже точно должен знать основы
Тут очень хорошее сравнение можно привести: есть "мгимошные" учебники или курс Петрова, где ты начинаешь говорить на языке с ходу, а есть школьные учебники, где ты на 263ей странице знакомишься со структурой глагола.
Аноним 19/11/15 Чтв 03:12:01 #166 №583502 
>>583472
Серьезно, будет очень охуенно, если кто-то подскажет такую книжку.
Аноним 19/11/15 Чтв 03:17:50 #167 №583506 
>>583472
Люто двачую. Мне интересны ФАКТЫ, СТРУКТУРИРОВАННАЯ ИНФОРМАЦИЯ и может НЕМНОГО говна, чтоб разбавить это всё. У горы воды с переменными вхождениями ключевых элементов — удел художественной литературы. Я бы может и почитал художественную книжку о программировании, но не когда твоя первостепенная цель — получить хорошее знание языка.
Аноним 19/11/15 Чтв 03:45:54 #168 №583512 
Если в разных файлах какой-нибудь .h или .cpp инклюдится несколько раз, он ведь в реальности прилинкуется лишь единожды? Если нет, то как избежать дублирования?
Само по себе указание using namespace std в библиотеке влияет на что-нибудь? Удобство, скорость работы, еще что-то? А то ебал я везде std:: подписывать. Но меня напрягает, что это может повлиять на нэймспейс того места, куда линкуется данная библиотека. Может есть какой-нибудь аналог, работающий в пределах файла?
Аноним 19/11/15 Чтв 03:57:19 #169 №583513 
Почему я не могу сделать cout << "а равно " + a;
? Что на этот-то раз ему не нравится? C++ не умеет сложить строку с числом без посторонних функций?
Аноним 19/11/15 Чтв 04:51:24 #170 №583520 
>>583512
>Само по себе указание using namespace std в библиотеке влияет на что-нибудь?
Не влияет до тех пор, пока имена элементов из разных пространств не начнут пересекаться.
Аноним 19/11/15 Чтв 04:52:04 #171 №583521 
>>583513
cout << "а равно " << а;

Программист не умеет сложить строку с числом в с++.
Аноним 19/11/15 Чтв 04:57:59 #172 №583522 
>>583521
>сложить строку с числом
>вместо сложения вывел строку затем число
Ох уж эти байтоговнарики
Аноним 19/11/15 Чтв 04:59:15 #173 №583523 
>>583522
Он и хотел сделать вывод, судя по его формулировке.
Аноним 19/11/15 Чтв 05:00:05 #174 №583524 
>>583522
Толсто.
Аноним 19/11/15 Чтв 05:49:34 #175 №583527 
>>583472
Вот как ни странно, Дизайн и эволюция С++ позволяет прочувствовать, что же курил автор, и проблем будет меньше.
Аноним 19/11/15 Чтв 06:52:11 #176 №583536 
>>583472
>>583502
>C++
>через сто страниц знать основы
1-8 пдфки отсюда http://cmcmsu.no-ip.info/2course/ При условии, что ты знаешь C.
Но нирикамендую, такой подход порождает иллюзию знания языка, тогда как тысячи нюансов пройдут мимо тебя.
Аноним 19/11/15 Чтв 06:59:47 #177 №583537 
>>583512
>прилинкуется лишь единожды?
По умолчанию прилинкуется столько раз, сколько встретится, для одного раза нужно #pragma once или include guard.
>влияет на что-нибудь?
Откроется портал в Данию, из него вылезет Бьерн и долго будет ебать тебя в жопу. Включать целые пространства имен - плохой тон, из-за этого легко получить коллизию и выстрелить себе в ногу. Пиши using std::имясущности для каждого имени, которое ты используешь. И да, в .h файлах нельзя делать даже так, в них ты должен квалифицировать каждое имя как std:: без всяких using'ов, либо вынести его использование в .cpp и уже там использовать using.

Теперь, блядь, иди и добавь во все хэдеры #pragma once, а using'и все удали из них, я проверю.
Аноним 19/11/15 Чтв 07:00:08 #178 №583538 
>>583392
Делай без const и & же.

Зы не знал, что можно возвращать ссылку на стек. Пздц
Аноним 19/11/15 Чтв 07:10:43 #179 №583540 
>>583538
std::vector<int> getVector () {
return { 1, 2, 3 };
}

int main () {
std::vector<int> v = getVector();
std::cout << v[0];
}


Я щитаю, вот так надо делать. Остальные варианты здесь кидают, видимо, чтобы вопрошавшего потралить.

Нормальный компилятор это должен превратить в cout << 1 без всякого копирования итд
Аноним 19/11/15 Чтв 07:14:43 #180 №583541 
>>583538
Ее и нельзя возвращать, тот хуй сразу UB получит. Несколько тредов назад же писали про это, но нет, блядь, на те же грабли, на те же грабли. Саттера читаем, но не глазами, а жопой. "Слышу звон, да не знаю, где он, блядь".

Еще раз: ВОЗВРАЩАТЬ ССЫЛКУ НА СТЕК НЕЛЬЗЯ. МОЖНО ПРИСВОИТЬ CONST- ИЛИ RVALUE-ССЫЛКЕ ВРЕМЕННЫЙ ОБЪЕКТ, ЕСЛИ САМА ССЫЛКА ХРАНИТСЯ НА СТЕКЕ.

[code lang="cpp"]
const int & a = 5; //можно
const int & b = [] {return 5;} (); //можно
const int & c = [] () -> int & {int x = 5; return x;} (); //гроб гроб кладбище UB
[/code]
Аноним 19/11/15 Чтв 07:53:13 #181 №583546 
>>583447
>>583450
Сам ты пидор. Ненавижу таких воннаби-экспертов как ты, которые обладают поверхностными и посредственными знаниями, но уже поливающих других своим говном (лол, это блядь даже не ссылка на стандарт, а просто очередной сраный блог пост)

Чувствуешь разницу между const T& a = f() и const T& f()? В первом случае временная переменная уже есть в скоупе на стеке или в регистре и lifetime легко продлевается. Во втором случае из функции возвращается ссылка на объект, который в ней создан и соответственно должен быть где-то уничтожен. Как по-твоему вызывающая функция догадается вызвать деструктор? У тебя может быть две функции, для одной нужно вызвать деструктор, для другой нет, и колсайт может динамически вызвать одну из них. Что тогда?

См. пример http://ideone.com/yR1nOS
Лол, у меня это говно даже не без ворнингов компилируется.
> a.cc:16:12: warning: returning reference to temporary [-Wreturn-local-addr]

P.S. Ваше уже написали, что ты не прав.

>>583448
> И в случае присваивания, будет копирование ВСЕГО.
Есть RVO. В простых случаях компилятор может заинлайнить создание объекта и никаких копирований не будет.
> Или же ты предлагаешь еще и про семантику перемещения рассказывать?
Ну да. Если ты хочешь вернуть объект из функции без копирования, то это и есть перемещение. В крайнем случае можно выделить память на куче и вернуть какой-нибудь std::unique_ptr.
Аноним 19/11/15 Чтв 09:35:53 #182 №583565 
>>583448
Вектор - 12 байт. Скопируется только 12 байт. На 64битной может быть 24 байта.
Аноним 19/11/15 Чтв 09:36:43 #183 №583566 
Кресты давно не трогал надо повторить и особенно надо найти основные алгоритмы и структуры данных в стандартной библиотеке. Они же на кучу заголовочных файлов разбросаны и в стандарте по одному их искать и повторять слишком долго. Может есть книга по этой теме? Или глава посвящена в каком-нибудь учебнике типа прата или страуструпа?
Аноним 19/11/15 Чтв 09:41:04 #184 №583567 
>>583566
На cppreference всё вроде более-менее в одной кучке.
Аноним 19/11/15 Чтв 09:49:59 #185 №583569 
>>581583 (OP)
> Лишь байты нам отчетливо видны,
> Современный C++ весьма далек от языка, которым он был в 1998 году.
> Так ваши парадигмы нам чужды
> C++ один из наиболее выразительных и мощных языков, позволяющий использовать большинство существующих парадигм.
Аноним 19/11/15 Чтв 10:01:50 #186 №583578 
14479165109690.png
>>583566
Аноним 19/11/15 Чтв 10:05:05 #187 №583582 
14479167054830.png
>>583569
Аноним 19/11/15 Чтв 10:07:02 #188 №583585 
>>583566
>Николаи Джоссатис - C++. Стандартная библиотека (2012) - https://goo.gl/PEyiMH
Аноним 19/11/15 Чтв 10:17:27 #189 №583593 
>>583541
>>583546
Да, признаю, тут я знатно ошибся.

>>583565
Не-не-не, на размер вектора смотреть не надо, внутри него указатель на данные, так что sizeof в данном случае ничего не скажет.

>Есть RVO. В простых случаях компилятор может заинлайнить создание объекта и никаких копирований не будет.

То есть? Про это подробнее, не слышал.

>Ну да. Если ты хочешь вернуть объект из функции без копирования, то это и есть перемещение.

Перемещение - когда передаем владение одним объектом другому.
Например, в том же векторе, целевому указателю присваиваем значение исходного, а исходный обнуляем.
Аноним 19/11/15 Чтв 10:24:42 #190 №583600 
>>583593
>Есть RVO. В простых случаях компилятор может заинлайнить создание объекта и никаких копирований не будет.
>То есть? Про это подробнее, не слышал.

Прочитал. Это работает только с простейшими случаями.
Аноним 19/11/15 Чтв 11:24:31 #191 №583672 
14479214716520.png
>>583439
В чём пиздец-то?

Ты скажи, ты скажи, чё те надо, чё те надо, может дам, может дам, чё ты хошь, чё ты хошь.
Аноним 19/11/15 Чтв 11:29:32 #192 №583683 
>>583565
Когда копируется вектор, копируется не только его шапка, но и содержимое. Проверить очень просто: создай std::vector<int> v{ 1, 2, 3}; Скопируй его в функцию, там к нему допиши четвёрку, сделай в этой функции вывод всех его элементов.

Потом вызови эту функцию, а потом сделай вывод всех элементов в исходном скоупе с std::vector<int> v{ 1, 2, 3};

Ты не поверишь, но вывод будет такой:
1 2 3 4
1 2 3
Аноним 19/11/15 Чтв 11:53:14 #193 №583720 
>>583578
>>583585
Целая книга за много. Или вы там только часть прочитать предлагаете?
Аноним 19/11/15 Чтв 12:47:06 #194 №583770 
>>583720
Изучая с++, нельзя обойтись небольшими частями: будет недопонимание некоторых моментов и ошибки.
Аноним 19/11/15 Чтв 13:52:31 #195 №583815 
>>583770
Да я основы знаю. Учить его я не собираюсь. На cppreference всё в разнобой. Алгоритмы в одном заголовочном файле, каждая структура данных в отдельном. Например только сейчас узнал что в стандартной библиотеке есть функция для комбинаторики. Может мне тогда не учебник нужен, а какой-нибудь справочник?
Аноним 19/11/15 Чтв 14:17:38 #196 №583831 
>>583472
>>583506
>>583502
читайте стандарт языка, мудилы)))
Аноним 19/11/15 Чтв 15:04:44 #197 №583882 
>>583472
Я сейчас попробую объяснить, почему учебники по с++ такие большие и сложные.

Во-первых, попробуй A Tour to c++ (http://www.stroustrup.com/Tour.html)

Во-вторых, дело в том, что с++ ОЧЕНЬ сложен как я язык и особенностей полно (спор выше о времени жизни и ссылках это наглядно показал), поэтому без детального изучения и понимания основ языка не получится хорошо на нем писать.
Аноним 19/11/15 Чтв 15:30:44 #198 №583906 
Пиздец какой-то, нихуя не понимаю, как расти над собой дальше, работы по крестам в моей мухосрани нет, свои проекты как-то не срослись. Хочется выпилиться уже.
Аноним 19/11/15 Чтв 15:32:12 #199 №583908 
>>583906
Переезжай.
Ищи работу удаленно (реально, но маловато вакансий по плюсам, где можно так работать).
Вновь пытайся свои проекты поднять.

Смени язык.
Аноним 19/11/15 Чтв 15:36:46 #200 №583912 
Учу кресты первую неделю. Когда vector, а когда array использовать? Про обычные массивы забыть?
Аноним 19/11/15 Чтв 15:42:43 #201 №583919 
>>583912
vector - когда массив динамический или размер узнается в run time.
array - когда размер узнается в compile time.
Аноним 19/11/15 Чтв 15:45:23 #202 №583922 
>>583919
P.S. Примеры

int data[10]; // тут надо std::array<int, 10> data, вместо 10 может быть const int N = 10; или любое выражение, известное на этапе компиляции.

int n;
int *data;
std::cin >> n;
data = new int[n];
...
delete[] data;

Вот тут надо использовать std::vector
Аноним 19/11/15 Чтв 15:45:49 #203 №583923 
>>583919
Вектор объявленный в функции создаются в куче с указателем на него в стеке, а array на стеке? Тогда векторы можно большими делать, а массивы нет?
Аноним 19/11/15 Чтв 15:47:13 #204 №583926 
>>583908
А из проектов только трешовые рогалики да гуйня на Qt.
Аноним 19/11/15 Чтв 15:47:31 #205 №583927 
>>583923
Да, совсем забыл про это сказать.
Аноним 19/11/15 Чтв 15:49:34 #206 №583929 
>>583926
Как ни странно, но это лучше, чем ничего.
По крайней мере, соискатель со своими проектами > соискателя без них (если брать работу).
Аноним 19/11/15 Чтв 15:49:49 #207 №583930 
>>583927
Что будет плохого если я вектор буду использовать как статический массив?
Аноним 19/11/15 Чтв 15:52:55 #208 №583935 
>>583930
оверхед же
Аноним 19/11/15 Чтв 15:53:05 #209 №583936 
>>583930
Как выше заметили, vector работает через указатель на кучу, а память для array выделяется на стеке, что быстрее, вроде, даже в компайл тайме.
ну и вектор избыточен для статического массива.
Аноним 19/11/15 Чтв 15:53:58 #210 №583937 
std::array не нужен, по инстансу на каждый размер, сишные массивы проще и нужнее.
Аноним 19/11/15 Чтв 15:56:36 #211 №583938 
>>583937
Размер одинаков, выделяются на стеке, оверхеда нет, но array обладает рядом свойств, недоступных обычному массиву, например, итераторы и информация об размере.

http://en.cppreference.com/w/cpp/container/array

Аноним 19/11/15 Чтв 15:59:13 #212 №583939 
>>583929
Что, даже мои органайзеры и графический редактор для пиксельарта лучше чем ничего? Мне стремно выносить их из приватного репозитория.
Аноним 19/11/15 Чтв 16:00:25 #213 №583941 
>>583939
Не выноси. Не выходи из комнаты. Не общайся с людьми. Зачем тебе это всё?
Аноним 19/11/15 Чтв 16:00:41 #214 №583943 
>>583939
Конечно.
Как минимум это показывает что у тебя есть опыт практической разработки и твои ошибки.
Аноним 19/11/15 Чтв 16:03:46 #215 №583945 
>>583939
Лол. А по калькулятору статью на хабр писать собираюсь, а ты в приватных репозиториях свои проекты прячешь.
Аноним 19/11/15 Чтв 16:04:44 #216 №583947 
>> А по калькулятору статью на хабр писать собираюсь
вся суть хабродетей
Аноним 19/11/15 Чтв 16:06:31 #217 №583949 
>>583943
Сукапздц.
Ладненько, сейчас хоть ридми запилю нормальный и открою .-.
Попробую пошерстить на предмет удаленки. По ходу, двощ верит в меня больше, чем я сам.
Аноним 19/11/15 Чтв 16:06:42 #218 №583950 
>>583947
Так ведь калькулятор (сложный) - это непростая задача.
Построение дерева вызовов, парсинг функций и т.п.
Аноним 19/11/15 Чтв 16:07:15 #219 №583952 
>>583949
Посмотри какой-нибудь мойкруг, там я находил много вакансий удаленных.
Аноним 19/11/15 Чтв 16:07:21 #220 №583953 
>>583936
>память для array выделяется на стеке, что быстрее
А если в статической области памяти его создавать?
Аноним 19/11/15 Чтв 16:09:29 #221 №583958 
>>583950
Раз об этом речь зашла, тогда реквестирую инфу как писать свистоперделочные калькуляторы.
Аноним 19/11/15 Чтв 16:10:16 #222 №583959 
>>583953
А какая разница в данном случае?
Фактически, std::array - этот обычный статический массив, но с дополнительными возможностями без оверхеда.
Аноним 19/11/15 Чтв 16:13:14 #223 №583960 
>>583938
То есть в С++, грубо говоря, есть сишный массивы, есть array, а есть вектор? Охуеть. Думал, что из нововведений только вектор, для чтений байтовой последовательности из файла использовал сишный массив в качестве буфера, но это, видимо, не лучший вариант.

Ньюфаг.
Аноним 19/11/15 Чтв 16:13:22 #224 №583961 
>>583959
куча: долго создавать много места
стек: быстро создавать мало места
статическая память: как тут?
Аноним 19/11/15 Чтв 16:20:23 #225 №583964 
>>583961
>статическая память: как тут?
Пиздуй изучать асм и пе-формат.
Аноним 19/11/15 Чтв 16:21:19 #226 №583965 
>>583961
Занять сколько влезет места с момента запуска программы и до её завершения же.
Аноним 19/11/15 Чтв 16:21:58 #227 №583967 
>>583960
std::array был добавлен в с++11, в последнее время стараются уйти от использования "голых" указателей и массивов.

>>583961
Дело в том, что статические и глобальные объекты создаются на этапе компиляции, так что об этом не стоит переживать.
Аноним 19/11/15 Чтв 16:23:08 #228 №583969 
>>583967
>Дело в том, что статические и глобальные объекты создаются на этапе компиляции, так что об этом не стоит переживать.
И память там тоже не может кончиться как в куче?
Аноним 19/11/15 Чтв 16:23:50 #229 №583971 
>>583969
Тебе скорее конпелтор не даст слишком много зарезервировать
Аноним 19/11/15 Чтв 16:23:58 #230 №583972 
>>583967
Вот оно что. Блин, а мне они понравились, лол. Ну их же всё равно оставят для совместимости с сишечкой? И вообще, вон у меня fread и frite требовали указатель на массив в качестве первого параметра. Будет ли оно работать с чем-то, кроме сишног стандарта массива?
Аноним 19/11/15 Чтв 16:27:29 #231 №583974 
>>583972
Не использовать fread/fwrite и пользоваться потоками.
Ну и да, всегда можно преобразовать указатель на переменную к char (пример ниже, естественно, где-то в коде открывается файл и задается х).

int x;
std::ofstream file;
file.write(reinterpret_cast<char
>(&x), sizeof(x));
Аноним 19/11/15 Чтв 16:28:11 #232 №583975 
>>583974
Черт.
Вместо char там должен быть char звездочка
Аноним 19/11/15 Чтв 16:34:17 #233 №583983 
>>583950
А прикинь, написать программу, которая будет брать все файлы на твоей пекарне, переводить имена на китайский и выстраивать ярлыки так, чтобы они напоминали твое ебло, взятое с вебкамеры. Такая-то непростая задача, но статья об ее решении никому нахуй не сдалась, ибо троллейбус из хлеба. Статья на хабре должна быть полезной, а не просто о сложной вещи, высосанной из пальца, смекаешь?
Аноним 19/11/15 Чтв 16:35:52 #234 №583988 
>>583983
А ты думаешь, что разработать калькулятор, который по функциональности может конкурировать с каким-нибудь вольфрамом - это простая и высосанная из пальца задача?
Хоть я и сомневаюсь, что там калькулятор такого уровня.
Аноним 19/11/15 Чтв 16:40:36 #235 №583995 
>>583988
За грамотную статью по реализации символьного интегрирования алгоритм Риша и вот это все я бы и сам ему отсосал. Инфы-то нихуя нет, сраный Стивен закрыл исходники, а в доках одна хуйня. Но он-то пилит тривиальнейшую поделку с арифметическими действиями, которая даже как учебное пособие не может быть интересна, ибо на хабре таких статей от школьников уже дохуя. А написать что-то уровня вольфрама это нихуя не шутки, там въебывать придется.
Аноним 19/11/15 Чтв 16:41:46 #236 №583998 
>>583995
Ну а вдруг, неизвестно же, что там.
Аноним 19/11/15 Чтв 17:55:18 #237 №584066 
Почему я не могу сделать cout << "а равно " + a;
? Что на этот-то раз ему не нравится? C++ не умеет сложить строку с числом без посторонних функций?

>>583521
Ты серьезно, блядь? Нет конкатенации строк, нет сложения строк, мне каждый раз хуярить эти нелогичные угловые скобки через шифт место плюса (особенно, если на русском языке пишу)?
Ну ок, а если я хочу сначала сгенерировать строку из строки, числа, пробела, числа, еще строки и еще числа, а вывести ее где-нибудь потом, мне как быть?
Аноним 19/11/15 Чтв 17:58:26 #238 №584072 
>>584066
Ты выводишь данные в поток, дебил. Какой нахуй русский язык? Плюс тоже через шифт ставится, вот это поворот.

Сложение строк, внезапно, есть, но ты какой-то пиздецки тупой.
Аноним 19/11/15 Чтв 18:00:25 #239 №584074 
>>584072
>Сложение строк, внезапно, есть, но ты какой-то пиздецки тупой.
Ну и как его осуществить?
>Ну ок, а если я хочу сначала сгенерировать строку из строки, числа, пробела, числа, еще строки и еще числа
>Ты выводишь данные в поток, дебил. Какой нахуй русский язык?
Ты какой-то слишком агрессивный. Русский, русский язык. Через смененную локаль. В строке русские символы.
>Плюс тоже через шифт ставитс
На твоей кастрированной клавиатуре может быть.
Аноним 19/11/15 Чтв 18:01:11 #240 №584076 
>>584074
Нумпадодебик плс
sageАноним 19/11/15 Чтв 18:04:45 #241 №584079 
>>584066
Что должно получиться в результате сложения строки с числом? Какой-то абстрактный "универсальный тип"? Не выйдет-с, динамической типизации не завезли, любителям оверхедов предлагается пердолиться с полиморфными классами. Или должна получиться строка? Допустим, но по каким правилам преобразовывать число в строку? Какая система счисления, какое форматирование? Язык не будет диктовать тебе какой-то единственный правильный способ, ты должен выбрать это сам. Поэтому либо используй std::to_string для явного преобразования числа в строку с нужными тебе параметрами, а потом уже конкатенируй сколько влезет, либо пихай их в поток по отдельности и не выебывайся.
Аноним 19/11/15 Чтв 18:06:25 #242 №584082 
Привет, аноны. Дрочу в универе си плаз плаз и встала задачка такая:
нужно создать МАТРИЦУ СТРУКТУР. Т.е. есть структура типа: фамилия, год рождения, стаж работы (данные о работнике) и этих структур должно быть n на n штук. суть задачи в их сортировки, с чем я справлюсь на изиче, у меня проблема в МАТРИЦЕ СТРУКТУР. как бы я не ебался - что-нибудь да ломается. Помогите, молю, второй день сижу на этой хуйне.
sageАноним 19/11/15 Чтв 18:07:46 #243 №584083 
14479456664320.png
>>584074
>русский язык
Аноним 19/11/15 Чтв 18:08:56 #244 №584086 
>>584083
Доставь где под речь гопника стилизовано
Аноним 19/11/15 Чтв 18:09:34 #245 №584088 
14479457740290.jpg
>>584086
Аноним 19/11/15 Чтв 18:09:46 #246 №584090 
>>584076
Обосрался - обрекай.
>>584079
Очевидно же, блядь, что СТРОКА.
>Допустим, но по каким правилам преобразовывать число в строку? Какая система счисления, какое форматирование? Язык не будет диктовать тебе какой-то единственный правильный способ, ты должен выбрать это сам
По любым, это незначительно в 99% случаев, параметры стандартные, отброс лишних нулей справа, десятичная система, округление произвольное.
Аноним 19/11/15 Чтв 18:10:14 #247 №584091 
14479458142560.png
>>584074
Аноним 19/11/15 Чтв 18:11:23 #248 №584095 
>>584090
Обрекаю тебе на анальное кровотечение, как ты и просил.
Аноним 19/11/15 Чтв 18:12:53 #249 №584097 
>>584088
>main()
кек
Аноним 19/11/15 Чтв 18:17:58 #250 №584103 
>>584091
>toString
>одинарные кавычки с одним символом внутри (чтоб варнинги не словить)
Блеск.
Аноним 19/11/15 Чтв 18:21:30 #251 №584106 
14479464904210.jpg
>>584082
bump
Аноним 19/11/15 Чтв 18:23:19 #252 №584108 
>>584106
Хуле ты бампаешь? За тебя все равно не будут писать. Кода не показал, только "бля посоны нихуя не работает". Вообще пушка.
Аноним 19/11/15 Чтв 18:23:53 #253 №584109 
14479466330460.png
>>584103
Никаких варнингов, строка из одного символа тоже прекрасно прибавляется. С to_string проблем не вижу, прекасная функция, не зря её добавили. Работая со стрингами вместо массива чаров вполне адекватным считаю её использование вместо привычных преобразование инт > чар.
Аноним 19/11/15 Чтв 18:28:56 #254 №584117 
>>584109
Ясно, видимо, надо написать свою функцию для преобразования произвольного числа элементов в строку. 2015 год, изобретаем конкатенацию.
Аноним 19/11/15 Чтв 18:29:54 #255 №584118 
>>584108
>>584108
так бля хоть наводку дайте
Аноним 19/11/15 Чтв 18:31:05 #256 №584120 
>>584117
Но ведь строчки и так прекрасно складываются, дебил. to_string используется только для преобразования типов.
Аноним 19/11/15 Чтв 18:31:53 #257 №584121 
>>584117
Ублюдок, мать твою, ты о std::accumulate слышал, нет? Иди, идиот, учить ее и всю стандартную библиотеку, ты, говно, жопа!
Аноним 19/11/15 Чтв 18:32:54 #258 №584123 
>>584118
Берешь структуры и без задней мысли делаешь из них двумерный массив.
Аноним 19/11/15 Чтв 18:34:16 #259 №584124 
>>584121
> std::accumulate
Что-то я не вполне понимаю его.
>>584120
Приятно познакомиться, соковня.
Я понимаю это, преобразование типов можно было и автоматически осуществлять по наиболее универсальному правилу.
Аноним 19/11/15 Чтв 18:35:16 #260 №584125 
>>584082
>как бы я не ебался - что-нибудь да ломается
Чинить пробовал? А искать ошибки? Ты на какую кнопочку программу запускаешь? На компьютере драйвера все установлены?
Аноним 19/11/15 Чтв 18:35:36 #261 №584128 
>>584124
>не понимаю
Ну так читай Джоссатиса, сука, или хотя бы вот эту схему наверни.
https://hsto.org/files/c40/e33/f35/c40e33f357e143a0832a648b32506696.png
Аноним 19/11/15 Чтв 18:36:14 #262 №584130 
>>584124
>Я понимаю это, преобразование типов можно было и автоматически осуществлять по наиболее универсальному правилу.
))
Аноним 19/11/15 Чтв 18:36:15 #263 №584131 
>>584123
матрица n на n. размер неизвестен.

http://pastebin.com/jf6fB85Q

вот пробовал вот так сделать, но ругается компилятор, говорит я тупой не отрицаю
в чем косяк?
Аноним 19/11/15 Чтв 18:37:52 #264 №584133 
>>584131
У тебя нет матрицы.
Аноним 19/11/15 Чтв 18:39:18 #265 №584138 
>>584131
Пиздец
Аноним 19/11/15 Чтв 18:39:24 #266 №584140 
>>584131
Приходишь ты такой в деканат, как люди из твоих структур. Тебе присваивают номер, выдают студак и указывают комнату в общаге. Ты идешь туда, а общагу еще не построили. Улавливаешь аналогию?
Аноним 19/11/15 Чтв 18:40:44 #267 №584144 
>>584131
Почему имя и год у тебя на английском, а стаж ты не загуглил, сделав говна вместо этого? У меня после универа в дальнейшем отвалились все, кто так делал, а я вышел молодцом, ибо не делал говна.
Аноним 19/11/15 Чтв 18:41:06 #268 №584146 
>>584140
>>584138
>>584133
да я понял ебана в рот, грузите так, как будто я тут сижу выебываюсь какой я прошаренный в этом вашем СИ. Мне он то по сути нахуй не сдался, так как не основной предмет, но препод ебнутый считает иначе. вот и дрочу эти задачи сижу уже второй семестр.
>>584144
экспириенс бро
Аноним 19/11/15 Чтв 18:41:32 #269 №584147 
>>584146
Какой же предмет у тебя основной?
Аноним 19/11/15 Чтв 18:42:14 #270 №584149 
>>584130
Так это сделано в любом языке для людей, а не для пердоликов в трех свитерах.
>>584128
Ну я типа только начал учить кресты, мне рано в эту схему вникать.
Аноним 19/11/15 Чтв 18:42:20 #271 №584151 
>>584140
>Ты идешь туда, а общагу еще не построили
Там должен быть знак с надписью "одноместный сарай с названием общага стоит здесь" и сарай на одного студента.
Аноним 19/11/15 Чтв 18:43:08 #272 №584152 
>>584147
Изобразительное искусство.
Аноним 19/11/15 Чтв 18:44:45 #273 №584153 
>>584149
Ну так уебывай в свой язык для людей, что ты здесь забыл, если ты ПРОТИВ ГИБКОСТИ?
Аноним 19/11/15 Чтв 18:46:44 #274 №584158 
>>584079
>>584153
Каков пердомаксимализм, а! Если язык предоставляет удобные конструкци, значит он уже что-то обязательно диктует, навязывает...как будто нельзя сделать по-своему, если уж захочется запердолиться.
>>584153
Если бы кьют, ue4 , мармелад и прочее были под человеческий язык, я бы к этому некроговну и не притронулся даже.
Аноним 19/11/15 Чтв 18:46:59 #275 №584159 
>>584124
>автоматически осуществлять по наиболее универсальному правилу
На очередном заседании комитета стандартизации ISO WG21 было установлено, что большая часть программ на C++ являются хэллоуворлдами. В связи с этим была принята новая версия стандарта, названная C++15. Стандарт был сокращен на 1364 страницы и теперь состоит из единственного требования: любая программа на C++ должна в точности совпадать с:
[code lang="cpp"]
#include <iostream>
int main () { std::cout << "Hello, world!" << std::endl; return 0;}
[/code]
Аноним 19/11/15 Чтв 18:47:59 #276 №584160 
>>584158
Толсто.
Аноним 19/11/15 Чтв 18:48:38 #277 №584162 
>>584152
- Почему у вас segmentation fault?
- Я так вижу!
Аноним 19/11/15 Чтв 18:51:20 #278 №584164 
>>584131
worker mat[10][10];
Аноним 19/11/15 Чтв 18:51:42 #279 №584165 
>>584159
В твоем примере больше кретинизма, чем в проблеме выше:
>#include <iostream>
Подрубать стандартные функции автоматически не умеем.
>std::cout
>std::endl;
Самые используемые поточно-консольные команды, которые никто не использует в других пространствах имен, надо писать как уебан или подрубать стандартное - лишние строки
>точкисзапятымиточкисзапятымиточкисзапятыми
>INT main, когда он уже последние лет 20 инт.
> Бессмысленные двойные угловые скобки через шифт вместо плюса или точки
>куча символов для простого переноса строки
>быдлокодные фигурные скобки вместо читаемых табуляций
Аноним 19/11/15 Чтв 18:52:15 #280 №584166 
>>584160
Сказать нечего?
Аноним 19/11/15 Чтв 18:52:19 #281 №584167 
>>584140
>общагу еще не построили
Когда ты учишься на ВМК, это реальность, лол.
Аноним 19/11/15 Чтв 18:54:55 #282 №584172 
>>584165
>ПУСТЬ ВСЁ ЗА МИНЯ ДЕЛАЕТСЯ КАРОЧИ ШОП ПРОСТА КНОПКУ НАЖИМАЕШЬ И ТАМ УЖЕ ПИЗДАТО ШОП БЫЛО НУ А ЕСЛИ МНЕ ШОТА ДРУГОЕ НАДО ТО НАДО СДЕЛАТЬ ШОП МОЖНА БЫЛА АБОЙТИ ВСЮ ЕТУ АВТОМАТИКУ И СДЕЛАТЬ КАК МНЕ НАДО КАРОЧЕ ХОЧУ ПИЗДАТУЮ ГИПКАСТЬ СОВМЕСТИТЬ С АВТОМАТИКОЙ ШОП ОНО ЗА МЕНЯ ДУМАЛО
Нахуй иди.
Аноним 19/11/15 Чтв 18:56:23 #283 №584174 
>>584165
Кстати я тут мимо проходил и подумал. Что будет если написать скриптовый язык программирования который легко конвертируется в С++ а от туда компилируется и так же легко конвертируется в js и от туда запускается или просто интерпретируется без конвертации в js. Велосипед? Есть применения? Скриптодети одобрят?
Аноним 19/11/15 Чтв 18:56:28 #284 №584175 
>>584165
>внезапно понадобилось заменить консольный вывод на гуй
>в крестах меняешь одну строку
>в языке с ВСТРОЕННОЙ ПОДДЕРЖКОЙ ВВОДА-ВЫВОДА начинаешь полнотекстовые замены всех вызовов
Ну да, охуенно, ничего не скажешь.
Аноним 19/11/15 Чтв 18:58:34 #285 №584177 
>>584165
> Бессмысленные двойные угловые скобки через шифт вместо плюса или точки
Ты имеешь настолько мало знаний, что не осознаешь, насколько это разные вещи.

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

>Подрубать стандартные функции автоматически не умеем.
Аналогично. Иногда нужно, иногда не нужно. Почему оно дожлно быть автоматизировано? То есть ты хочешь, чтоб тебе АВТОМАТИЗИРОВАЛО это дерьмо. В таком случае, я буду вынужден отключать что-то вручную вместо того, чтоб просто НЕ ВКЛЮЧАТЬ. Ты туп.

>куча символов для простого переноса строки
Ну ебашь \n, никто не против.

>быдлокодные фигурные скобки вместо читаемых табуляций
Бессмысленная придирка.
Аноним 19/11/15 Чтв 18:59:55 #286 №584180 
>>584124
>Я понимаю это, преобразование типов можно было и автоматически осуществлять по наиболее универсальному правилу.

Охуенчик. Добавляю число к концу строки, добавляется 1 char с его двоичным кодом % 256 или char'ы с кодами цифр?

А если первый вариант, что насчёт знакоопределённости: reinterpret в unsigned или что вообще? А ты знаешь, кстати, что char знаконеопределён по стандарту (а по факту знаковый, что сплошная головная боль)?
Аноним 19/11/15 Чтв 19:01:08 #287 №584181 
>>584180
Ну, в выводе можно ставить +char, дабы использовать число, а не код числа.
Аноним 19/11/15 Чтв 19:02:14 #288 №584182 
>>584181
>ещё 1 ебануты костыль чтобы оправдать другой
Аноним 19/11/15 Чтв 19:15:21 #289 №584196 
>>584181
Не понял. Ты на мои вопросы ответь.
Аноним 19/11/15 Чтв 19:16:27 #290 №584197 
>>584172
Обосрался - обтекай.
>>584174
Кому надо - юзают луа, питон и прочее.
Указатели и STL ты не сконвертишь.
>>584175
ОДНУ? Пруфы будут? Берешь сейчас исходники любой консольной утилиты и одной строчкой цепляешь гуй. го
>>584177
Ну да, аргумент к человеку, какие-то бестолковые выебоны.
>Которые могут быть нахуй не нужны в других пректах, а значит автоматическое их подключение — вред.
Если не используются, значит не подключаются, что ж ты тупой-то такой?
>Аналогично. Иногда нужно, иногда не нужно. Почему оно дожлно быть автоматизировано?
Потому что используется. Значит нужно. Иначе смотри предыдущий пункт.
>Ну ебашь \n, никто не против.
Я этого не говорил, клоун.
>Бессмысленная придирка.
Два лишних нажатия шифта каждый блок кода и стимулирование развития быдлокодеров без представлений о красоте. Найс.
>>584181
Больше лишнего говна вместо одного символа!
Аноним 19/11/15 Чтв 19:16:32 #291 №584198 
>>584196
Я не он, он только рвётся на месте.
Аноним 19/11/15 Чтв 19:17:15 #292 №584199 
>>584197
>Я этого не говорил, клоун.
Что ты несешь, ебанутый?
Аноним 19/11/15 Чтв 19:20:16 #293 №584201 
>>584197
auto & output = std::cout заменяешь на auto & output = TvoyaMamka::getGui ()
Аноним 19/11/15 Чтв 19:21:46 #294 №584202 
>>584201
Не компилируется ни один из примеров.
Аноним 19/11/15 Чтв 20:09:52 #295 №584238 
Два часа назад возвращался с работы домой и местный уютный чатик засрали.

Господа, будьте культурны и постарайтесь объяснять чужие ошибки и как правильно делать.
Аноним 19/11/15 Чтв 20:12:06 #296 №584239 
>>584238
>АНОН, СДЕЛАЙ
>Ты даже не старался, наверни учебников
>СДЕЛАЙ, БЫСТРАБЛЯДЬ!
Аноним 19/11/15 Чтв 20:50:13 #297 №584273 
>>584199
>>584201
И опять подрывы. Эх, что может быть слаще подрывания экспертного состава /pr длиной в два дня? Столько синдрома утенка и защиты манямирков, а ведь написали бы пару тысяч строчек на питоне, и ни у кого бы не хватило мозгов что-то кукарекать про диктовку или гибкость. Ладно, пожалуй, хватит, было жирно, но нажористо. Всем спасибо.
>>584238
Извини, анон, я сам не ожидал, что аккуратные указания на недостатки некропараши вызовут столько бугурта.
Аноним 19/11/15 Чтв 20:53:38 #298 №584277 
Около месяца назад навернул себе VS community с офф.сайта, там сказанно, что это бесплатно. Так какого черта сейчас он говорит мне о окончании платного периода? Что делать? Алсо, посоветуйте какую-нибудь ИДЕ на замену.
Аноним 19/11/15 Чтв 20:55:03 #299 №584279 
>>584277
clion
Аноним 19/11/15 Чтв 20:55:47 #300 №584280 
>>584279
Спасибо, попробую.
Аноним 19/11/15 Чтв 20:57:12 #301 №584281 
>>584279
Эх, вот тут сразу сказанно о пробном периоде в 30 дней.
Аноним 19/11/15 Чтв 20:57:51 #302 №584282 
>>584277
IDE различных много, лично я пользуюсь Qt Creator, единственное - там надо хитро настраивать компилятор для сишных проектов.

>>584279
Он платный (хоть и есть бесплатная подписка для студентов).
Аноним 19/11/15 Чтв 21:00:07 #303 №584285 
>>584273
>недостатки некропараши
Потому что недостатки - это плата за низкий уровень абстракции.

Безусловно, код на каком-нибудь питоне будет лаконичнее и короче, но он не будет таким производительным (что важно в некоторых задачах) и некоторые грязные хаки (особенно касаясь работы с памятью) будут недоступны.
Аноним 19/11/15 Чтв 21:01:03 #304 №584286 
>>584273
Напроецировал.
Аноним 19/11/15 Чтв 21:01:43 #305 №584289 
>>584277
Ты что, блядь, правильный дохуя? А ну быстро ебанул ентерпрайз с торрентиков и активировал краденым ключом.
Аноним 19/11/15 Чтв 21:07:05 #306 №584294 
>>584083
Это же мамин сыч одиночка на пике?
Аноним 19/11/15 Чтв 21:07:54 #307 №584296 
>>584277
VScommunity и есть бесплатная версия.
Просто авторизуйся на аккаунт МС внутри ИДЕ.
Я сам это говно юзаю раз в две недели для учебы.
Аноним 19/11/15 Чтв 21:23:58 #308 №584310 
>>584296
Ох, спасибо! Я снова могу юзать его. Думал, что микрософты будут ругаться на другую учетку на компе.
Аноним 19/11/15 Чтв 21:30:38 #309 №584319 
14479578389140.png
Это норма или лучше без запятой, а с телом цикла писать?
Аноним 19/11/15 Чтв 21:39:04 #310 №584325 
>>584319
Норм.
Проверка на условие и тут же изменяется переменная.
) Аноним 19/11/15 Чтв 22:10:42 #311 №584349 
https://youtu.be/sftqHBYF2F0
Аноним 19/11/15 Чтв 22:13:47 #312 №584353 
Есть байтовый массив, как через cout вывести значения на экран в шестандцатеричном виде, а не в десятичном? Через printf могу задавать форматирование, а через cout как?
Аноним 19/11/15 Чтв 22:16:28 #313 №584357 
>>584353
cout << hex << a;

А вообще гугли.
Аноним 19/11/15 Чтв 23:05:17 #314 №584386 
>>584325
Неопределённый порядок выполнения из-за этого может быть? А если и в левой части через запятую писать?
Аноним 19/11/15 Чтв 23:35:04 #315 №584416 
>>582283 задавал вопрос про олимпиадное программирование за 3 месяца
>>582908 эта литература вроде тоже подходит

Взял значит кармена и седжвика. Прочитал первые 2 главы и содержание обоих. Остальное пролистал. И там немного не то. Не очень похоже на учебник по олимпиадному программированию. Алгоритмы есть и очень подробно, а в начале очень упорно разбирают их оценивание и анализ. Но хотелось что-то от простого к сложному. Сначала простые алгоритмы вроде задача с рюкзаком или найти выход из лабиринта, а потом чуть сложнее как алгоритм дейкстры. А то на это уйдёт слишком много времени. Есть что-то на этот случай или продолжать одну из книг?
Аноним 19/11/15 Чтв 23:41:52 #316 №584420 
>>584416
Тогда и гугли задачник по олимпиадному программированию.
И да, за 3 месяца вряд ли успеешь до нормального уровня подготовиться.
Увы, но олимпиады (по большей степени) по программированию, это просто заботать бОльшую часть алгоритмов.
В любом случае, с++ плохо подходит для олимпиадного программирования.
Аноним 19/11/15 Чтв 23:47:32 #317 №584424 
>>584420
>Тогда и гугли задачник по олимпиадному программированию.
Тогда нужен список задач тоже от простого сложному. Его реквестил, но дали книги.
>И да, за 3 месяца вряд ли успеешь до нормального уровня подготовиться.
У меня уже есть опыт 3 года хуепинания, но я очень лениво готовился.
>Увы, но олимпиады (по большей степени) по программированию, это просто заботать бОльшую часть алгоритмов.
Но это да согласен. Но благодаря сайту что дали выше смогу хоть задачи по тэгу нужному искать и практиковаться.
>В любом случае, с++ плохо подходит для олимпиадного программирования.
Самый быстрый и большая stl. Выбор или он или паскаль.

Ещё кто-нибудь даст совет?
6.12303e-016 вместо 0 Аноним 20/11/15 Птн 00:00:06 #318 №584430 
В результате последовательного выполнения тригонометрических операций иногда получается такая хуета вместо 0. Я знаю про std::setw, знаю про способы округления, речь не об этом. Это абсолютно тот же ноль, просто криво выведенный из-за ограниченных возможностей по точному расчету или это все-таки какое-то очень маленькое число, отличное от нуля? Если сложить его с любым числом, в результате получится это число, но вот если его умножить на что-то, будет уже не 0.
Аноним 20/11/15 Птн 00:01:21 #319 №584431 
14479668818200.png
>>584420
> с++ плохо подходит для олимпиадного программирования
Аноним 20/11/15 Птн 00:03:52 #320 №584432 
>>584430
http://en.cppreference.com/w/cpp/types/numeric_limits/epsilon
Аноним 20/11/15 Птн 00:06:46 #321 №584434 
>>584424
> >Тогда и гугли задачник по олимпиадному программированию.
> Тогда нужен список задач тоже от простого сложному. Его реквестил, но дали книги.
Заходишь на http://acm.timus.ru/ или http://codeforces.com или http://topcoder.com тысячи их и решаешь. Что неясно?
Аноним 20/11/15 Птн 00:10:06 #322 №584435 
>>584424
В частности на тимусе задачи упорядочены по сложности: http://acm.timus.ru/problemset.aspx?page=all&sort=difficulty
Аноним 20/11/15 Птн 00:10:25 #323 №584436 
>>584434
>список задач
Список тем. С чего начать и в каком порядке проходить. А это сборники задач где всё вперемежку.
Аноним 20/11/15 Птн 00:17:59 #324 №584441 
14479678794860.png
>>584435
Там задачи по сложности, а не их темы. Зачем мне много раз подряд решать задачи на одну простую тему? На http://informatics.mccme.ru/ есть такое разделение по тэгам, но в каком порядке их делать. Например у каждой темы на пике есть ещё подтемы которые тоже разной сложности и пока слишком сложные учить не надо. И при этом нужно по не многу из каждой темы учить.
Аноним 20/11/15 Птн 00:18:29 #325 №584442 
>>584432
Ну, я не понял, если честно. При каких таких условиях какой-нибудь арктангенс должен эпсилон вернуть вместо нуля?
Аноним 20/11/15 Птн 00:20:14 #326 №584443 
>>584442
Впрочем, у меня в любом случае не С11
Аноним 20/11/15 Птн 00:23:39 #327 №584445 
>>584442
Твой вопрос был:
> Это [...] ноль [или] все-таки какое-то очень маленькое число, отличное от нуля?
Ответ: сравнивай с эпсилон. Если fabs(x)<epsilon, то считай, что ноль.
>>584443
> Впрочем, у меня в любом случае не С11
Это тред про C++, но даже в C есть эти же самые константы, просто под более ортодоксальным интерфейсом: http://en.cppreference.com/w/cpp/types/climits
Аноним 20/11/15 Птн 00:29:08 #328 №584448 
>>584441
> Там задачи по сложности, а не их темы.
Какой вопрос, такой и ответ.
Со списком тем сложнее. Порядок тем зависит от того, как глубоко в каждую ты готов погружаться.
Как вариант, здесь http://e-maxx.ru/algo/ алгоритмы внутри каждой темы упорядочены по сложности. Можешь пробежаться по «элементарным» из каждой темы, потом по более сложным и так далее.
Аноним 20/11/15 Птн 00:35:41 #329 №584451 
>>584448
>алгоритмы внутри каждой темы упорядочены по сложности
Уже находил, но не понял что там они как-то отсортированы.
> Можешь пробежаться по «элементарным» из каждой темы
Там такого нет. Только общий случай.

Значит можно там разбирать 1 задачу, а потом гуглить эту тему и искать ещё задачи? Спасибо.
Аноним 20/11/15 Птн 00:44:21 #330 №584456 
>>584451
>> Можешь пробежаться по «элементарным» из каждой темы
> Там такого нет.
Нет, есть. Конечно, не абсолютный порядок, но алгоритмы там определённо сгруппированы.
> Алгебра (23)
> элементарные алгоритмы (20)
> Функция Эйлера и её вычисление
> Бинарное возведение в степень за O (log N)
> ...
> Графы (51)
> элементарные алгоритмы (4)
> - Поиск в ширину [TeX]
> - Поиск в глубину

> Значит можно там разбирать 1 задачу, а потом гуглить эту тему и искать ещё задачи?
Задачи по теме ты легко найдёшь. От каждой темы тебе нужно знать теорию и алгоритмы. Пробелы в первом обнаружишь, когда будешь разбираться во втором.
Аноним 20/11/15 Птн 00:50:54 #331 №584458 
>>584456
>Нет, есть.
Точно не заметил. Только в первых темах и мало. Ещё не нашёл основных структур данных как стэк или куча, а только какие-то неизвестные мне названия. Их отдельно искать? И что значит [TeX]?
Аноним 20/11/15 Птн 01:02:11 #332 №584463 
>>584458
Да, там структуры данных посложнее.
На алголист http://algolist.manual.ru/ есть и стек и куча (куча — в статье про пирамидальную сортировку).

Где-то в одном месте должно быть всё изложено, более структурированно… например… в Кормене.

[TeX] — это, грубо говоря, язык разметки, чтобы PDF-ки с формулами и графиками делать а ещё он полон по Тьюрингу
Аноним 20/11/15 Птн 01:08:44 #333 №584466 
>>584463
Спасибо. То что надо. Осталось только найти сайт где по темам задачки искать можно и отправлять решения на проверку. Что-то типа графы>поиск кратчайшего пути>поиск в ширину. Что-бы быстрее задачки гуглить. Знаешь такой?
Аноним 20/11/15 Птн 01:14:18 #334 №584468 
>>584466
Вот, например: http://informatics.mccme.ru/course/view.php?id=6
Аноним 20/11/15 Птн 01:20:31 #335 №584471 
>>584445
Якобы больше. В 3.5 раза. Ты уверен, что это что-то значит?
Аноним 20/11/15 Птн 01:22:01 #336 №584472 
>>584468
Это уже советовали. А ещё есть? Знаю что одного достаточно, но на всякий случай.
Аноним 20/11/15 Птн 01:30:44 #337 №584475 
Как разделить целую переменную на целую, чтобы это было нормальное деление, а не целочисленное?
Аноним 20/11/15 Птн 01:32:53 #338 №584476 
>>584472
На тимусе можно отбирать задачи по тегам. http://acm.timus.ru/problemset.aspx?space=1&tag=graphs
Аноним 20/11/15 Птн 01:33:35 #339 №584477 
>>584475
x * 1. / y
Аноним 20/11/15 Птн 01:37:18 #340 №584479 
>>584476
А где список тэгов?
Аноним 20/11/15 Птн 01:40:18 #341 №584480 
14479728185620.png
>>584479
Нашёл. Там их слишком мало. Я среди них буду 2 год искать Матричная теорема Кирхгофа. Нахождение количества остовных деревьев за O (N3).
Аноним 20/11/15 Птн 01:41:10 #342 №584481 
>>584475
Скастить одну из них в double.
Аноним 20/11/15 Птн 01:43:31 #343 №584482 
>>584481
double(x)/y? Может x не влесть в double? Что тогда делать?
Аноним 20/11/15 Птн 01:55:02 #344 №584487 
Почему корректно работает только при а<6?
При больше ведет себя так, как если бы а было = 5.
Как исправить?
[code]
double rrround(double number, int a)
{
long temp = pow(10, a);
return round(number*temp)/temp;
}
[/code]
Аноним 20/11/15 Птн 01:55:53 #345 №584488 
>>584487
Ну типа округление до скольких-то там после запятой
Аноним 20/11/15 Птн 02:05:32 #346 №584491 
Эээ... Почему не работает break(3); ?????
Как выйти из тройного вложенного цикла? Не флагом же и не goto...
Аноним 20/11/15 Птн 02:26:54 #347 №584494 
>>584491
http://stackoverflow.com/questions/1257744/can-i-use-break-to-exit-multiple-nested-for-loops/1257776#1257776
Аноним 20/11/15 Птн 02:30:56 #348 №584497 
>>584494
Класс...
>>584487
Что об этом скажешь?
Аноним 20/11/15 Птн 02:44:19 #349 №584501 
14479766599380.png
Что, блядь, за хуйня у меня происходит?
На тестовых файлах всё нормалньо работало, но внезапно наступил обосрамс. Я уже наговнокодил костылей, дабы найти косяк, но так и не осилил.

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

В g положил результаты операций fread и write.
То есть я считал в буфер, а затем из него записал в файл 32788 байт.

И тут же на скрине мы видим, что конечный размер файла НИХУЯ НЕ СОВПАДАЕТ, да и в самом файле часть данных не совпадает. Где проблема? Что я упускаю?

Сильно за говнокод не бейте, я ньюфаг.
Аноним 20/11/15 Птн 02:54:38 #350 №584503 
>>584482
Целочисельный тип всегда влезет в double. Может потеряться точность (проебутся младшие разряды), но на результат это не повлияет, так как он записывается же в тот же дабл с потерей точности. Если нужна точность то нужно цеплять библиотеки с большими числами/точностью.
Аноним 20/11/15 Птн 03:04:52 #351 №584505 
>>584501
Пиздец, вот уж неожиданность.

Проблему решил:
http://stackoverflow.com/questions/1586421/why-is-fwrite-writing-more-than-i-tell-it-to

Нужно использовать wb для записи, а не w, дабы работать с файлом как с двоичным, а не текстовым. Теперь понятно, почему на тестовых примерах всё и так работало — не попадались байты совпадающие с кодом перевода строки.
Аноним 20/11/15 Птн 03:08:51 #352 №584507 
>>584487
round почему-то возвращает float и в него больше знаков после запятой не влазит.
Аноним 20/11/15 Птн 03:18:41 #353 №584508 
>>584507
>>584505
>>584501
Не превращай тред в свой свитор.
Аноним 20/11/15 Птн 03:19:54 #354 №584509 
>>584508
Я всего два поста написал сегодня за целый день.

>>584501
>>584505
Аноним 20/11/15 Птн 03:42:28 #355 №584511 
Чем отличается uint8_t от unsigned __int8?
Аноним 20/11/15 Птн 04:29:23 #356 №584517 
>>584282
>бесплатная подписка для студентов
Пруфы?
Аноним 20/11/15 Птн 04:31:18 #357 №584519 
>>584277
Лол, я поставил летом Enterprise, спустя 90 дней оно кукарекнуло, что триал кончился. Кракена нигде не нашел, решил от безысходности ввести ключ, найденный в гугле. И шо бы ви думали? Оно его съело и нормально работает. Видимо, мелкомягкие просто вырубили DRM, лол.
Аноним 20/11/15 Птн 04:31:52 #358 №584520 
>>584511
uint8_t - стандартный тип из stdint.h, а __int8 - compiler specific. С точки зрения компилятора различий нет.
Аноним 20/11/15 Птн 04:32:41 #359 №584521 
>>584386
Не может, запятая добавляет точку следования.
Аноним 20/11/15 Птн 10:21:43 #360 №584565 
Целую ночь ебусь со сраными векторами в А*.
Где-то жесткий проеб с возвратом копий вместо настоящих объектов, у меня уже башка горит.
Аноним 20/11/15 Птн 10:26:34 #361 №584567 
>>584491
>Как выйти из тройного вложенного цикла?

Снова платина. И снова я предлагаю использовать такое разбиение на функции, в котором у тебя не более 1-го вложенного цикла (т.е. 1 внешний, 1 внутренний).

Тогда твои 3 или 4 цикла разобьются как раз на 2 функции. Прервать внешний цикл в любой момент можно при помощи return; прервать внутренний цикл (чтобы продолжить внешний) можно при помощи break;

Продолжить внутренний цикл (перейдя к проверке условия), как обычно, можно при помощи continue;
Аноним 20/11/15 Птн 10:30:29 #362 №584571 
Лучше безопасный goto добавить, как в джаве.
Аноним 20/11/15 Птн 10:33:15 #363 №584572 
>>584571
Кстати не пользуюсь goto и исключениями. Это плохо?
Аноним 20/11/15 Птн 10:43:58 #364 №584576 
>>584572
Аналогично. Исключения с оверхедом и гото с уб сосут члены вместе со своими мамашами.
Аноним 20/11/15 Птн 11:01:24 #365 №584582 
>>584576
Почему это с уб? Случаи уб четко специфицированы, если ты не будешь пытаться войти в блок, а просто выйдешь из цикла, то ничего плохого не будет.

Но вообще, если у тебя десять, блядь, вложенных циклов, то это плохая архитектура. Поэтому ящитаю охуенным, что нет break с меткой и тому подобного - хуево спроектированная программа должна вызывать страдания и желание саморазвиваться.
Аноним 20/11/15 Птн 11:59:52 #366 №584599 
>>584517
https://www.jetbrains.com/student/
В свое время (около 4 месяцев назад) получил по скану студенческого за ~3 дня.
Лицензия на год, думаю, что можно продлить.
Аноним 20/11/15 Птн 12:10:58 #367 №584605 
>>584599
А у них ведь эта хуйня по подписке, типа как у Creative Cloud, а не как у мелкомягких в Dreamspark? И через год пропадет возможность не только обновиться, а вообще работать, да?
Аноним 20/11/15 Птн 12:15:11 #368 №584607 
>>584277
Я просто нажимаю "продлить лицензию" всякий раз, как исчезает зелёная иконка. Да, надо быть залогиненным.
Аноним 20/11/15 Птн 12:15:16 #369 №584608 
>>584605
Честно - даже не представляю.
Многопоточность или хуй знает что Аноним 20/11/15 Птн 14:26:17 #370 №584679 
Сап. Для моей проги нужно, что бы я ввел, скажем, строку, но если во время ввода я нажму какую-то клавишу, то произойдет отмена ввода. Я так понимаю, что после запроса строки мне нужно еще отслеживать нажатия клавиш, но как, если консолька ждет мою строку? Аноны, поясните чо да как и почему я долбоеб и должен идти на хуй.
Аноним 20/11/15 Птн 14:35:34 #371 №584682 
>>584679
Пиши свою функцию для ввода строк, которая умеет в отмену, или удовлетворись обработкой Ctrl+C.
Аноним 20/11/15 Птн 14:43:10 #372 №584683 
Почему корректно работает только при а<6?
При больше ведет себя так, как если бы а было = 5.
Как исправить?
[code]
double rrround(double number, int a)
{
long temp = pow(10, a);
return round(number*temp)/temp;
}
[/code]
>>584507
И как быть?
>>584567
Это как? Если задача - вывести таблицу значений функции трех переменных, например?
Аноним 20/11/15 Птн 14:53:56 #373 №584692 
>>584683
Видимо, выводишь через std::cout.
Он почему-то обрезает для double число цифр, можешь установить их количество методом precision(точность);

std::cout.precision(10);
Аноним 20/11/15 Птн 15:21:49 #374 №584709 
>>584682
Написать функцию я смогу, скорее всего. Но это не то вовсе. Мне необходимо именно параллельно все это делать.
Аноним 20/11/15 Птн 15:29:22 #375 №584714 
>>584683
>Это как? Если задача - вывести таблицу значений функции трех переменных, например?

Там у тебя будет всего 1 цикл.
Аноним 20/11/15 Птн 15:58:56 #376 №584745 
>>581583 (OP)
int p1 = nullptr;
std::cout << p1 << p1 << std::endl;
>Ошибка сегментирования (сделан дамп памяти)

В чём ошибка или так и должно быть?
Аноним 20/11/15 Птн 16:00:38 #377 №584750 
>>584745
int p1 = nullptr;
std::cout << p1 << p1 << std::endl;*

быстрофикс
Аноним 20/11/15 Птн 16:01:34 #378 №584751 
>>584750
сука звёздочки не показываются
Аноним 20/11/15 Птн 16:02:26 #379 №584753 
>>584745
int p1 = nullptr;
std::cout <<
p1 << p1 << std::endl;
Аноним 20/11/15 Птн 16:04:14 #380 №584755 
>>584745
короче звёздочки перед первыми двумя p1
Аноним 20/11/15 Птн 16:10:27 #381 №584769 
>>584745
Ты пытаешься вывести содержимое невалидного указателя.
Конечно так и должно быть.
sageАноним 20/11/15 Птн 16:18:07 #382 №584786 
>>584424
>Ещё кто-нибудь даст совет?

Съеби.
Аноним 20/11/15 Птн 20:05:17 #383 №585000 
>>582904
>"А всегда ли алгоритм со сложностью O(n*log(n)) быстрее O(n^2)?"
Правильный ответ - нет не всегда?
Аноним 20/11/15 Птн 20:48:39 #384 №585031 
Как насчет включить в шапку, там пиздатые уроки по плюсам от компьютерсайнс?
https://stepic.org/
Аноним 20/11/15 Птн 21:33:45 #385 №585069 
>>585000
Молодец
Аноним 20/11/15 Птн 21:39:09 #386 №585074 
>>585031
Не сайт, а какое-то тормознутое говно.
А про уроки не скажу. Может быть, действительно хороши, но там надо регистрироваться.
Но обычно, все эти курсы -- шлак для школьников.
Аноним 20/11/15 Птн 21:42:22 #387 №585079 
>>585074
Ну тогда и закрой ебало, если даже в регистрацию не умеешь.
Аноним 20/11/15 Птн 21:42:33 #388 №585080 
>>584709
Запили хэндлер на ctrl-c (SIGINT) как сказал вот этот >>584682
http://en.cppreference.com/w/cpp/utility/program/signal
Аноним 20/11/15 Птн 22:34:44 #389 №585117 
>>584714
Продемонстрируй.
Аноним 20/11/15 Птн 22:59:25 #390 №585144 
14480495657420.png
>>582228

http://pastebin.com/Cx7Nf7ip
Попробуй это.
Генерация ошибки Аноним 20/11/15 Птн 23:23:30 #391 №585183 
Как идиологически правильнее делать сабж в крестах?
Допустим, я пишу либу для внешнего использования, допустим, в ней есть функция, возвращающая результат от деления первого аргумента на второй, то есть действительное число. При этом, надо убедиться, что второй аргумент не ноль, а если он ноль, то вместо результата вернуть false и текст ошибки. Какую-то константу ошибки не зарезервировать, ибо область значений функции - все множество действительных чисел. Делать try-catch извне нельзя, юзер может об этом и не знать. И как быть? union, где один из элементов - структура ошибки с фолсом и текстом? Тогда в if будет проверки делать неудобно (в идеале делать что-то вроде if (func(a,b)) { //...
} else {
//ошибочка такая-то
}
Аноним 20/11/15 Птн 23:31:26 #392 №585195 
>>585183
Тут два решения:
1) Исключения бросать.
2) Передавать переменную, в которой хранится результат

bool success;
int result = func(a, b, &success);

if(success == true && result) {
}
Аноним 20/11/15 Птн 23:33:51 #393 №585203 
>>585080
Вот спасибо. Я понял, вероятно, что мне делать. Попробую осуществить
Аноним 20/11/15 Птн 23:44:32 #394 №585218 
>>585195
1) - Уныло, нагружать пользователя лишней инфой.
2) Еще ебанутее, имхо. Хотя да, вариант, в принципе. Но тогда надо передавать ЕЩЕ одну переменную, которая будет содержать текст ошибки, если он есть. Сам понимаешь, как это стремно.
Почему нельзя сделать результатом работы структуру или объединение, содержащее ожидаемый результат и структуру (или что-то еще), содержащую результат работы (тру-фолс) и текст ошибки?
Аноним 20/11/15 Птн 23:45:01 #395 №585220 
>>585218
Хотя это наверное лишнее использование памяти...
Аноним 20/11/15 Птн 23:57:58 #396 №585234 
>>585218
Потому что тебе придется городить лишнюю структуру и пользователю, вместо интуитивно понятного пользования функцией, придется работать через эту структуру.
Аноним 21/11/15 Суб 00:10:24 #397 №585242 
Как начать мочь в с++?
Аноним 21/11/15 Суб 00:24:29 #398 №585253 
>>585234
Это неудобно? А что должна возвращать функция в случае ошибки?
Аноним 21/11/15 Суб 00:24:41 #399 №585254 
>>585218
В случае чисел у double есть ещё NaN и +-INF
Аноним 21/11/15 Суб 00:28:46 #400 №585257 
>>585253
Конечно.
Вот ты представь себе
> в ней есть функция, возвращающая результат от деления первого аргумента на второй

И тут пользователь хочет проверить результат
if( func(a, b) < 5.) {
doSomeWork();
}

а если возвращать структуру, то так не получится, что делает ОЧЕНЬ неудобным.
Я за вариант передачи дополнительной переменной, которая служит индикатором успеха операции (всегда можно перегрузить, чтобы была функция с возможность проерки и без).
Аноним 21/11/15 Суб 00:46:10 #401 №585264 
>>585254
Поясни. Разве это не просто константы, которые теоретически не могут быть достигнуты при обычных расчётах?
Есть что-нибудь такое для строк, например? Или вообще как-то возвращать false вместо результата?
>>585257
>то так не получится
ПОЧЕМУ не получится? структура.переменная или юнион?
>Я за вариант передачи дополнительной переменно
Да, годно, если бы была одна переменная, необязательная для передачи, с текстом ошибки. Если она непустая - значит ошибка. Но не хочется каждый раз эту переменную мутить. Нельзя же вроде сделать необязательно переменную по ссылке. Или можно? И что должна возвращать такая функция в случае неудачи? Рандомную строку? Просто return; ?


Аноним 21/11/15 Суб 01:06:18 #402 №585278 
>>585264

>то так не получится
ПОЧЕМУ не получится? структура.переменная или юнион?

Чтобы сравнивать структуру с каким-либо значением, придется реализовать операторы сравнения.

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

>Нельзя же вроде сделать необязательно переменную по ссылке.
Почему нельзя? Можно спокойно.
Аноним 21/11/15 Суб 01:19:40 #403 №585288 
>>585278
>Чтобы сравнивать структуру с каким-либо значением, придется реализовать операторы сравнения.
Не структуру, элемент структуры. Ну вроде if(structName.error) - так нельзя разве?
Аноним 21/11/15 Суб 02:27:15 #404 №585310 
>>585278
А если результат работы объекта, например?
Как вообще стандартные библиотечные функции для себя этот вопрос решили?
Аноним 21/11/15 Суб 03:05:35 #405 №585315 
>>584692
Почему precision - метод в cout, а setw - отдельная функция? В чем тут логика?
Аноним 21/11/15 Суб 03:08:15 #406 №585316 
>>584567
>Прервать внешний цикл в любой момент можно при помощи return;
Нельзя нихуя. Набираю - ошибка, а если return(1) - это прекращает работу всей main. Не закидывать же цикл в функцию.
Аноним 21/11/15 Суб 03:09:15 #407 №585317 
>>585316
>Не закидывать же цикл в функцию.
Именно это и делать. Если функция сделал всё необходимое, то выходишь из неё, осуществляя заодно и прерывание всех циклов.
Аноним 21/11/15 Суб 03:32:57 #408 №585320 
>>585317
Жестоко. Лучше уж через goto, так хоть память не тратится.
Аноним 21/11/15 Суб 03:50:47 #409 №585322 
>>585315
чтобы у таких мамкиных погромистов, как у тебя, был выбор через что устанавливать точность -- через метод или модификатор.
Аноним 21/11/15 Суб 03:51:36 #410 №585323 
>>585242
Живёшь, живёшь, и внезапно можёшь.
Аноним 21/11/15 Суб 03:52:41 #411 №585324 
>>585220
Байтик потратил и приуныл. А джава-макаки метры-гигабайты нагибают и им норм.
Аноним 21/11/15 Суб 03:53:26 #412 №585325 
>>585183
исключение брось
Аноним 21/11/15 Суб 03:53:32 #413 №585326 
>>585322
Хейтер.
>>585323
Двачаю, я так и смог. Когда-то давно проходили всякие паскали, когда ещё был студентотой. Потом, когда в жизни возникали какие-то задачи — я реализовал их на дельфи, ибо не было времени разбираться с чем-то другим. Потом время освободилось, а задач меньше не стало — поставил студию, поковырялся в основах, разобрался в основах и начал реализовать свои задачи уже на плюсах. Уже после этого занялся чтением соответствующей литературы.
Аноним 21/11/15 Суб 03:55:48 #414 №585327 
>>585324
Проиграл.
Аноним 21/11/15 Суб 05:41:22 #415 №585336 
>>585183
Еще можно сделать отдельную функцию проверки аргументов, которую можно вызвать перед делением.

А вообще, какая-то тупизна проверять за пользователя библиотеки деление на ноль.
Аноним 21/11/15 Суб 05:42:20 #416 №585339 
>>585336
Ну, это же просто пример, проверять может придется не только.
Аноним 21/11/15 Суб 05:45:49 #417 №585340 
>>585320
Делай inline функции, будет тебе счастье.
Аноним 21/11/15 Суб 09:56:56 #418 №585358 
>>585340
Опять же - инлайнить ли функцию за тебя решает конпелятор, если даже использовать __forceinline и будет какое нибудь макакачанье с матанами-сортировками и куча заинлайненого говна - куча инлайнов тоже не факт что поможет в оптимизации.
https://ideone.com/bXrZfP
В таком безобидном гото ничего страшного таки нету.
Аноним 21/11/15 Суб 10:12:29 #419 №585361 
>>584491
Или goto, или лямбда http://stackoverflow.com/a/33174736 (лучше goto)
Аноним 21/11/15 Суб 10:19:23 #420 №585363 
>>585316
>Не закидывать же цикл в функцию.
Ты, твою мать, вообще читал, что я написал в том сообщении?

Кроме того, даю наводку: существуют void функции.
Аноним 21/11/15 Суб 10:23:27 #421 №585365 
>>585117
>Продемонстрируй.
Ты издеваешься или что? у тебя есть n координат (x, y, z), каждой сопоставлено n значений f(x, y, z)

for (unsigned int j = 0; j < n; ++j)
std::cout << x[j] << ' ' << y[j] << ' ' << z[j] << ' ' << f(x[j], y[j], z[j]) << '\n';
Аноним 21/11/15 Суб 10:24:50 #422 №585367 
>>585365
Т.е. каждой координате сопоставлено по 1 значению функции, всего n.
Аноним 21/11/15 Суб 14:00:39 #423 №585425 
Я у мамы анси-сишник, но так сложилось исторически, что мне нужно разобраться с кодом на плюсах.
Для затравки: что использовать заместо 'gets()'?
Аноним 21/11/15 Суб 14:13:11 #424 №585430 
>>585425
cin.getline, список методов cin смотри тут http://www.cplusplus.com/reference/istream/istream/
Аноним 21/11/15 Суб 14:17:56 #425 №585431 
>>581583 (OP)
Крестобляди, зачем вы живёте вообще?
(Автор этого поста был предупрежден.)
Аноним 21/11/15 Суб 14:35:35 #426 №585439 
>>585430
Спасибо.
Аноним 21/11/15 Суб 14:44:43 #427 №585446 
Мне так хочется заняться питоном, но заранее знаю, что параша :с
Помогите мне отговорить себя
Аноним 21/11/15 Суб 14:48:23 #428 №585448 
>>585446
Пробегись по кодекадеми и успокойся.
Аноним 21/11/15 Суб 14:53:55 #429 №585454 
>>585448
Что ты имеешь ввиду?
Аноним 21/11/15 Суб 15:15:44 #430 №585478 
>>585431
Наша религия говорит нам делать так.
Аноним 21/11/15 Суб 15:17:31 #431 №585483 
>>585425
Поссал тебе в ротешник. Труъ сяшники знают, что gets() опастна.
Аноним 21/11/15 Суб 15:25:03 #432 №585489 
>>585483
Он рисковый сишник.
Аноним 21/11/15 Суб 15:50:14 #433 №585508 
Котаны, посоветуйте исключительно практической инфы по fixed point.
Сложение, вычитание, умножение, деление, преобразование fixed <-> float.
Аноним 21/11/15 Суб 15:52:53 #434 №585509 
>>585431
Ты охуел? Самый адекватный язык на данный момент, стандарт улучшается охуевшими темпами
Аноним 21/11/15 Суб 15:57:50 #435 №585512 
>>585509
Двачую. С++ давно уже приблизился к скриптовым языкам по удобству, и при этом превосходит их по скорости.
Аноним 21/11/15 Суб 16:50:23 #436 №585555 
>>585512
Ну это неправда. Одни std::unique_ptr<Impl> pimpl чего стоят для сокрытия реализации, потому что классы - это значения, а не ссылки.
Аноним 21/11/15 Суб 16:51:15 #437 №585557 
Крестаны, есть ли в природе нормальная система сборки, как cargo в расте/cabal в хаскеле/dub в d/gems в раби? Чтобы хотябы приблизительно была возможность работать под прыщами и спермой и тащить либы откуда нибудь с гитахаба?
Аноним 21/11/15 Суб 17:36:32 #438 №585601 
>>585557
CMake в 90% случаев
Аноним 21/11/15 Суб 17:44:05 #439 №585614 
14481170459390.png
никак не могу привыкнуть к таким форам. and В нём можно использовать? И почему тут не while?
Аноним 21/11/15 Суб 17:44:20 #440 №585615 
>>585601
>запросил систему сборки, тянущую либы и тд
>посоветовали генератор файлов проектов
Аноним 21/11/15 Суб 17:44:39 #441 №585617 
>>585555
Ну, pimpl нужна только для ускорения компиляции же. А с автоматическим использованием кучи ты получишь замедление в рантайме, такие дела.
Аноним 21/11/15 Суб 17:46:07 #442 №585621 
>>585614
>И почему тут не while
Потому что автор - васлий.
>and В нём можно использовать?
Нет, тут это видимо макрос задефайненый на &&.
Аноним 21/11/15 Суб 17:46:11 #443 №585622 
>>585512
Распарсь мне строку на слова разделёные пробелами.
Аноним 21/11/15 Суб 17:47:30 #444 №585626 
>>585614
Бывает, что условия меняются, часть фора удаляют, и получается вот такая хуйня. Но в твоем случае прозреваю, что код писал кто-то далекий от крестов and вместо && на это указывает, так никто не пишет и не дочитавший мануал до while, лол.
Аноним 21/11/15 Суб 17:49:32 #445 №585629 
>>585621
Какой макрос, бля? 2.6/2, Alternative tokens. Все легитимно по стандарту, на случай, если текстовый редактор не любит специальные символы.
Аноним 21/11/15 Суб 17:49:49 #446 №585630 
14481173892000.png
>>585626
> не дочитавший мануал до while, лол
Ожидал такого ответа.
Аноним 21/11/15 Суб 17:51:47 #447 №585633 
>>585629
>2.6/2, Alternative tokens
Так можно писать? Только в форе или везде?
Аноним 21/11/15 Суб 17:54:35 #448 №585636 
>>585633
Везде.
Аноним 21/11/15 Суб 17:57:09 #449 №585642 
14481178298370.jpg
>>585630
Или как вариант петушок хотел выебнуться, как пишут !~x, while (x++ = y++), и тому подобное. Пикрелейтед.
Аноним 21/11/15 Суб 18:07:57 #450 №585647 
>>585622
[code lang="cpp"]
struct Parser
{
std::vector <std::string> Words {1};

void operator () (char curr)
{
if (' ' != curr)
Words.back () += curr;
else
Words.emplace_back ();
}
}

//...

std::string str;

auto Result = std::for_each (std::begin (str), std::end (str), Parser {});
[/code]
Аноним 21/11/15 Суб 18:11:31 #451 №585649 
>>585615
Какой ты дебил, иди нахуй.
Аноним 21/11/15 Суб 18:12:06 #452 №585651 
>>585647
Молодец. А теперь на скриптовом языке.
Аноним 21/11/15 Суб 18:16:25 #453 №585653 
>>585651
sdelatPizdato (str)?
Любителям выебнуться встроенными в ядро функциями рекомендую эту статью: https://goo.gl/8kwOs7
Аноним 21/11/15 Суб 18:22:09 #454 №585658 
>>585653
Эта функция не обязательно должна быть встроена. Просто на некоторых язаках это делать проще и можно справиться одной строчкой.
Аноним 21/11/15 Суб 18:28:03 #455 №585664 
>>585658
И здесь тебе никто не мешает одной строчкой сделать, если следовать духу языка и вместо генерации слов-подстрок итерировать по исходной строке. Берешь find и рекурсивно применяешь с пробелом. Способов очень много, разница в том, что твой скриптоязык диктует единственный правильный способ передачи этих слов, а тут ты вынужден СТРАДАТЬ ОТ ВЫБОРА.
Аноним 21/11/15 Суб 18:32:16 #456 №585666 
>>585649
Ты сам дебил сука, мамка у тебя сдохнет коль пиздеть бушь. Давай по теме аргументированно, членососина.
Аноним 21/11/15 Суб 18:34:04 #457 №585668 
>>585664
Кстати вот в прикреплённом треде на скале написали. выглядит гораздо удобнее чем новый класс ради 1 функции писать.

object Main extends App {
"so snoo leey".split(" ").foreach(println)
}
Аноним 21/11/15 Суб 18:44:10 #458 №585674 
>>585668
boost::split.
Аноним 21/11/15 Суб 18:52:01 #459 №585680 
>>585615
На крестах это и правда делают через CMake:
https://cmake.org/cmake/help/v2.8.8/cmake.html#module%3aExternalProject
http://stackoverflow.com/a/8153795/1203558
Аноним 21/11/15 Суб 18:55:51 #460 №585683 
>>585615
cmake+apt-get, тяжелое детство, деревянные игрушки
Аноним 21/11/15 Суб 20:42:23 #461 №585780 
Я пытался запилить A*, делал по псевдокоду из википедии.Я уже третий час бьюсь и пытаюсь понять, почему эта хуита проверяет даже заведомо невыгодные ветки.
И я нихуя не могу понять, почему так... Это беда.
Аноним 21/11/15 Суб 20:56:23 #462 №585787 
РЫБЯТ
Помогите с задачкой за спасибо

Для чисел от 1 до 1000 найти сотни, в которыйх есть внутреннее повторение (например 122, 133, 144, 677 и т.д.)

Вывести в Мемо
Аноним 21/11/15 Суб 20:59:45 #463 №585790 
14481287856730.png
Подскажите, на что ругается компилятор, вроде все ввел, как в примере с некоторыми изменениями.
Аноним 21/11/15 Суб 21:20:29 #464 №585811 
>>585790
Точки вместо запятых, например
Аноним 21/11/15 Суб 21:22:45 #465 №585817 
>>585508
Ну так че епта, одни салаги в треде?
Никто не пояснит, как мне float в fixed (16.16) наябнуть?
Аноним 21/11/15 Суб 21:23:37 #466 №585818 
14481302170430.png
>>585811
Точно, спасибо, не разглядел в учебнике из-за плохого скана. Еще ругнулся:
Аноним 21/11/15 Суб 21:29:38 #467 №585827 
>>585817
>наябнуть
Бульбаш что ли? А что там наябывать, 1-я ссылка в гугле.
Аноним 21/11/15 Суб 21:36:28 #468 №585835 
>>585818
t2.nomerAbonenta или что ты там хочешь выводить.
Аноним 21/11/15 Суб 21:40:37 #469 №585842 
>>585818
Судя по всему, ты хотел вывести сразу весь номер, составив его из трёх пунктов. В любом случае писать cout << t2 не получится, если только не перегрузить <<. Поэтому скорее всего тебе нужно писать в cout, как в написано в cin.
Аноним 21/11/15 Суб 21:41:11 #470 №585844 
>>585658
> Эта функция не обязательно должна быть встроена.
Моё мнение — в конце 2015 года должна.
Аноним 21/11/15 Суб 21:46:53 #471 №585853 
>>585827
По первым ссылкам в гугле обитают теоретики. У них нихуя не работает.
Аноним 21/11/15 Суб 21:53:07 #472 №585859 
>>585818
Какой же у вас тут пиздец с синтаксисом.
мимо сишник
Аноним 21/11/15 Суб 21:54:47 #473 №585862 
>>585844
Мнение долбоеба, который учит программирование второй день по книжкам, никого не интересует.
Аноним 21/11/15 Суб 21:56:30 #474 №585866 
>>585859
))
Аноним 21/11/15 Суб 21:57:00 #475 №585868 
>>585844
C++ - немного не тот язык, который делался для удобства разработки как скала и разные функциональные язычки. И с этим легаси твоих требований он выполнять не начнёт.
Аноним 21/11/15 Суб 22:35:44 #476 №585901 
>>585835
>>585842
Да сразу весь номер, спасибо, разобрался!
Аноним 21/11/15 Суб 23:03:42 #477 №585921 
>>585630
Вот ето дичь
Аноним 21/11/15 Суб 23:23:16 #478 №585932 
Сделали бы Си с классами и похожим на java сигтаксисом и либами.
Цены бы не было.
Аноним 21/11/15 Суб 23:26:01 #479 №585935 
>>585932
Зачем?
Аноним 22/11/15 Вск 00:07:08 #480 №585958 
>>585935
Простота джавы + производителтность си.
Аноним 22/11/15 Вск 00:35:10 #481 №585966 
>>585958
Ну, хорошо.
Теперь расскажи нам, как можно добиться производительности си и обеспечить такой же уровень простоты, как в джаве (значит, повысить уровень абстракции).
Аноним 22/11/15 Вск 02:04:27 #482 №585996 
>>585868
> C++ - немного не тот язык, который делался для удобства разработки как скала и разные функциональные язычки.
Не вижу принципиальных отличий join и split от std::accumulate и std::generate. Только потому, что все привыкли, что в крестах нет этих функций, не значит, что это хорошо. Это плохо. И тем более не стоит кичиться тем, что их нет ко-ко-ко кресты не скриптопараша ко-ко-ко у нас даже string split не встроен в ядро ко-ко-ко
Тем более если вы пишите
> С++ давно уже приблизился к скриптовым языкам по удобству, и при этом превосходит их по скорости.
(С чем я согласен.) Почему бы тогда не сделать часто используемую и нужную функцию в язык?
> И с этим легаси твоих требований он выполнять не начнёт.
Почему? Технически он и сейчас выполняет с функцией strtok. Всего-то нужно стандартизовать идиоматичную «обёртку» на итераторах.

>>585862
:-) Ну ты же не поленился ответить, значит интересует. И нет, не угадал.
Аноним 22/11/15 Вск 02:09:47 #483 №585998 
>>585996
И ещё, если join и split недостаточно общие для <algorithm>, то можно их назвать intersperse и splitWith по примеру хаскеля.
Аноним 22/11/15 Вск 02:13:55 #484 №585999 
>>585998
Хуйню написал. В крестах join должен быть как accumulate, но вставлять разделитель между элементами.
Аноним 22/11/15 Вск 03:25:15 #485 №586030 
Аноны, посоветуйте какие-нибудь 2d игровые движки на крестах. UE4 не предлагать, нужно что-то довольно простое, с упором на программирование, что-то похожее на libgdx.
Аноним 22/11/15 Вск 03:27:27 #486 №586031 
>>586030
Allegro, например. Алсо, вот полезный список:
https://en.wikipedia.org/wiki/List_of_game_engines
Аноним 22/11/15 Вск 04:08:57 #487 №586039 
>>585996
> Почему бы тогда не сделать часто используемую и нужную функцию в язык?
Что ты имеешь ввиду? Язык это всего лишь синтаксис и семантика.
Паттерны Аноним 22/11/15 Вск 04:51:00 #488 №586041 
Анон, мне для устройства на работу мечты срочно нужно вникнуть в основы сабжа. Есть на примете какая-нибудь книжка или викиучебник, да хоть видеоуроки, где просто, доступным русским языком, без задроства, будет показан каждый паттерн, а при нем - краткое описание, что, зачем, какие проблемы устраняет, зачем придумывался, какие плюшки сулит, внешний вид на плюсах и главное - какой-нибудь жизненный пример, где будет показано, какой же этот паттерн охуенный и как все стало круто.
Аноним 22/11/15 Вск 05:52:30 #489 №586046 
>>585996
>Ну ты же не поленился ответить, значит интересует. И нет, не угадал.
У тебя логикопроблемы.
Аноним 22/11/15 Вск 06:46:06 #490 №586052 
>>585996
accumulate и generate не встроены в ядро, это часть стандартной библиотеки. split нет, потому что она противоречит идее stl - работе с функторами и итерированию по коллекциям.
Аноним 22/11/15 Вск 12:22:25 #491 №586134 
Есть ли в c++ возможность автоматических действий с матрицами? Типа перемножение, поиск определителя и т. п. Или мне самому забивать формулы?
Аноним 22/11/15 Вск 12:23:47 #492 №586137 
>>586052
Тогда можно делать её не методом класса string, а просто функций из <string> который будет строку конвертировать в любой другой контейнер с выбранным разделителем. Но я не совсем понимаю что там противоречивого если сделать метод. Это же удобнее.
Аноним 22/11/15 Вск 12:30:32 #493 №586142 
>>586134
Есть такая библиотека MTL
Аноним 22/11/15 Вск 12:32:54 #494 №586143 
>>586041
http://cpp-reference.ru/
http://tproger.ru/translations/design-patterns-for-beginners/
Аноним 22/11/15 Вск 13:37:16 #495 №586176 
>>586137
Перечитай мой пост еще раз. Это как если бы ты предложил хаскиблядкам включить в их библиотеку функции для императивной работы. Хуле, никому же не мешают, пущай будут, да?
Аноним 22/11/15 Вск 17:23:02 #496 №586361 
Что почитать по смартпойнтерам? Вроде в effective modern cpp что-то есть, может есть что-то еще короче?
Аноним 22/11/15 Вск 17:48:33 #497 №586375 
>>586361
>что-то еще короче
Пипирка твоя. cppreference же.
Аноним 22/11/15 Вск 18:00:59 #498 №586388 
>>581583 (OP)
>Гораздо лучше будет начать с другого языка и базовых вещей алгоритмы, архитектура пека, операционные системы, а уже потом вернуться к крестам.
Как их изучать? Скоро меня в вузе будут учить этому, но любопытно же. Посоветуйте литературы какой-нибудь.
И о каких алгоритмах идёт речь?
Аноним 22/11/15 Вск 18:03:21 #499 №586398 
14482046016060.jpg
>>586388
Аноним 22/11/15 Вск 18:20:35 #500 №586415 
>>586375
там примеров нету
Аноним 22/11/15 Вск 18:29:16 #501 №586419 
>>586398
В ней почти ничего нет.
мимопроходил
Аноним 22/11/15 Вск 18:35:37 #502 №586423 
>>586419
Ты охуел? Все все охуенно, самое то перед тем как к полноценному кортмену придти
сикаю тебе на еблет, шлюха тупая
Аноним 22/11/15 Вск 18:41:48 #503 №586427 
>>586423
Там темы из википедии. Могу не читая книгу, а только посмотрев содержание все легко освоить. Ничего сложно, требующего углубления и похожего чтобы можно было в одну книгу вписать нет. Сначала 5 скучных глав про оценку сложности алгоритма. Потом по полтора алгоритма на главу. 2 сортировки пару алгоритмов на графах и строках. Даже про структуры данных главу не нашёл.
Аноним 22/11/15 Вск 19:22:48 #504 №586482 
>>586398
Кал полный, от псевдокода проблевался. Нирикаминдую.
Аноним 22/11/15 Вск 19:28:58 #505 №586486 
>>586398
Об этих алгоритмах? Ну я их более-менее знаю. Только не понятно, почему их нужно знать, чтобы учить С++.
Аноним 22/11/15 Вск 19:29:46 #506 №586487 
>>586486
Их надо знать чтобы применять С++.
Аноним 22/11/15 Вск 19:32:07 #507 №586491 
>>586415
>>586415
Омг, ты дебил?
effective modern + за примерами cppreference, в глазки не ебись, шлюшка.
Аноним 22/11/15 Вск 19:35:33 #508 №586495 
>>586487
Применять для чего?
Ну ладно, а какие-то ещё алгоритмы нужны?
И что есть по теме
> архитектура пека, операционные системы
Аноним 22/11/15 Вск 20:11:22 #509 №586521 
>>586495
> архитектура пека, операционные системы
Таненбаум же.
Аноним 22/11/15 Вск 20:16:26 #510 №586529 
>>586521
Какие книги?
Аноним 22/11/15 Вск 20:18:35 #511 №586533 
>>586529
Современные операционные системы
Архитектура компьютера
Аноним 22/11/15 Вск 20:38:47 #512 №586553 
>>586533
Спасибо. Но насколько осиляемы они? Там по 1000 страниц, мне страшно.
Попроще нет ничего? Или нормально?
Аноним 22/11/15 Вск 20:51:11 #513 №586565 
>>586491
хуй соси
Аноним 22/11/15 Вск 21:09:53 #514 №586572 
>>586553
Норма. Почти все книги по 1000 страниц.
Аноним 22/11/15 Вск 21:13:11 #515 №586577 
>>586553
Ты хочешь детально все понять или пробежаться по верхам чтобы не пугаться при словах вроде "регистр"?
Аноним 22/11/15 Вск 21:22:57 #516 №586584 
>>586577
Не знаю. Прям совсем по верхам я пробежался, прочитав книгу "код. тайный язык информатики". Верхам верхов.
Наверно, 1000 страниц это немного, если интересно и не слишком сложно.
Но если есть что-то среднее, то есть попроще, то посоветуй.
Аноним 22/11/15 Вск 21:24:33 #517 №586588 
>>586584
>Но если есть что-то среднее, то есть попроще, то посоветуй.
>"код. тайный язык информатики"
пойдёт
Аноним 22/11/15 Вск 21:34:06 #518 №586599 
>>586588
Я же говорю, я прочитал. Но там про операционные системы страниц 15-20, лол.
Среднего между этим и Таненбаумом нет, я имел ввиду?
Аноним 22/11/15 Вск 21:35:54 #519 №586602 
>>586599
Про ос хуй знает. Я не искал средних, но можешь поискать какие-нибудь лекции от мгу или типа того. Если в инглиш можешь то можно и не от мгу.
Аноним 22/11/15 Вск 21:39:40 #520 №586608 
>>586602
А про архитектуру, ассемблер, прочее?
Аноним 22/11/15 Вск 21:44:40 #521 №586615 
>>586608
Ну ты же уже читал код про архитектуру. Ассемблер обычно вместе с архитектурой.
Аноним 22/11/15 Вск 23:08:17 #522 №586678 
Начальник! Тонем!
Аноним 22/11/15 Вск 23:10:07 #523 №586681 
>>586678
Кстати да, 500+ постов, пора бы перекат сделать.
sageАноним 23/11/15 Пнд 00:11:51 #524 №586725 
>>585787
или на хуй
Аноним 23/11/15 Пнд 02:07:20 #525 №586785 
Как понять, когда reference_wrapper юзать вместо smart pointer'a?
Аноним 23/11/15 Пнд 12:37:36 #526 №586958 
>>586681
>500+ постов
Бля, а я думаю почему треда на нулевой нет. Уже пришёл чтобы бампануть, а это ОП-хуй тред не перекатывает.
Аноним 23/11/15 Пнд 13:58:48 #527 №587029 
>>581868
На кути забили болт, так что и в следующей шапке не видать, кажись
Аноним 23/11/15 Пнд 16:06:48 #528 №587142 
Господа, а по той же CUDA есть свой тред?
А то я не нашел.
Аноним 23/11/15 Пнд 16:27:15 #529 №587152 
Подскажите как привести указатель на float к типу указатель на double?
Аноним 23/11/15 Пнд 17:36:03 #530 №587206 
Блядь, ребят, ну потерпите чутка. Тред ушел в бамплимит за пять дней, мне днем работать надо, а перепил шапки там знатный должен быть. И стихи еще надо обновить, а кто-то уже пересоздает со старыми, лол. Потерпите, братцы. До завтра все будет, мамой клинус.
Аноним 23/11/15 Пнд 17:40:20 #531 №587211 
14482896209470.jpg
Создал новый тред, а его потёрли! Пиздец кароче!

Допустим, у меня есть вот такой метод в классе-шаблоне:
inline virtual Type construct(const std::string &name) const { return Type(name); }

В классе-наследнике я его переопределяю:
Nio::Object::Object construct(const std::string &name) const override;
Nio::Object::Object Nio::Managers::ObjectManager::construct(const std::string &name) const
{
return Nio::Object::Object(this->geometryManager, this->objects.size(), name);
}

Переопределяю, потому что стандартное определение вызывает конструктор, который принимает только 1 значение - string, таких объектов у меня будет больше всего. Но для построения Nio::Object::Object мне нужно передать в конструктор 3 параметра. После переопределения этого метода компилятор всё равно продолжает ругаться на то, что класс так посторить нельзя. Ругается на старое определение метода. Новое как будто не видит. Как быть?
Аноним 23/11/15 Пнд 17:41:58 #532 №587213 
>>587211
хуйню ты пересоздал. у нас тут своя атмосфера
Аноним 23/11/15 Пнд 17:43:40 #533 №587214 
>>587213
Так тонем же!
Аноним 23/11/15 Пнд 17:45:23 #534 №587215 
>>587214
Не ссы, там еще 9 страниц, не успеем потонуть. Новый тренд уже близко.
Аноним 23/11/15 Пнд 17:46:26 #535 №587216 
>>587215
А что по вопросу? Как мне это программировать?
Аноним 23/11/15 Пнд 17:57:10 #536 №587222 
14482906305610.png
>>587206
А я хотел новый тред со стишком из первого треда сделать завтра в обед. Даже ОП-пик выбрал.
Аноним 23/11/15 Пнд 17:59:27 #537 №587224 
>>587216
Ну, очевидно, что у тебя не работает виртуальность по каким-то причинам. Навскидку: ты вызываешь метод от имени самого шаблонного объекта, а не ссылки/указателя на него. Или ты вызываешь метод в конструкторе/деструкторе шаблонного класса, а в них виртуальность не работает. Или еще что-то подобное.
Аноним 23/11/15 Пнд 17:59:59 #538 №587225 
14482907992430.png
>>587152
Почему так?
Аноним 23/11/15 Пнд 18:02:37 #539 №587228 
>>587225
Как привести указатель на int к указателю на string? Правильно - никак, нужно разыменовать и сделать static_cast, ибо представления double и float в общем случае совершенно разные, как и у int и string.
Аноним 23/11/15 Пнд 18:04:15 #540 №587230 
>>587225
dp = &(reinterpret_cast<double>(*fp));
Аноним 23/11/15 Пнд 18:05:25 #541 №587232 
>>587230
>пытаться взять адрес от rvalue
Хорошая шутка.
Аноним 23/11/15 Пнд 18:05:59 #542 №587233 
>>587224
А может быть из-за того, что это inline virtual метод?
Аноним 23/11/15 Пнд 18:07:05 #543 №587234 
Поясните за static_cast, dynamic_cast, reinterpret_cast, программисты! Зачем всё это нужно? Почему я всегда писал (Type2)type1 И всё работало? Для чего эти новые для меня слова?
Аноним 23/11/15 Пнд 18:08:58 #544 №587236 
>>587228
> разыменовать
И хранить 2 значения одной переменной разных типов?
Аноним 23/11/15 Пнд 18:09:09 #545 №587237 
>>587233
По идее, нет. inline же работает как рекомендация, просто заинлайнятся только явные, невиртуализованные вызовы. Единственное - я не уверен насчет сигнатуры, вроде бы inline не является ее частью, но если вдруг, то у тебя будут разные сигнатуры в родителе и потомке, вместо переопределения получишь перегрузку. Попробуй убрать inline, чем черт не шутит.
Аноним 23/11/15 Пнд 18:09:47 #546 №587238 
>>587236
std::string s = "1";
int c = 49;

Почему нет?
Аноним 23/11/15 Пнд 18:10:39 #547 №587239 
>>587238
double и float же.
Аноним 23/11/15 Пнд 18:10:43 #548 №587240 
>>587236
Звиняй, Мыкола, бананьев нема. ВНЕЗАПНО, любое арифметическое выражение вычисляется стеково, и ты неявно хранишь кучу промежуточных результатов, это не страшно.
Аноним 23/11/15 Пнд 18:11:21 #549 №587241 
>>587237
Нет, компилятор меня бы предупредил, что, мол, нет никакого переопределения override же в конце. А так - убирал inline - никакого эффекта. Один хрен, этот метод уже определён в хедере, так что inline тут никакой работы не делает.
Аноним 23/11/15 Пнд 18:12:43 #550 №587243 
>>587237
>.
>>587240
>.
Если всё предложение под спойлером, то пиши точки тоже под спойлером. Глаза режет.
Аноним 23/11/15 Пнд 18:13:37 #551 №587244 
>>587239
double 1: 0x 3ff0 0000 0000 0000
float 1: 3f80 0000
Ты - указатель, твои действия?
Аноним 23/11/15 Пнд 18:15:28 #552 №587246 
>>587244
Указываю на начало.
Аноним 23/11/15 Пнд 18:15:47 #553 №587247 
>>587244
Указываю тебе пройти нахуй, умник ёбаный.
Аноним 23/11/15 Пнд 18:17:18 #554 №587250 
>>587244
segmentation fault
Аноним 23/11/15 Пнд 18:17:22 #555 №587251 
>>587246
И получаешь другое число, лалка.
>>587247
Ну это просто страшное оскорбление.
Аноним 23/11/15 Пнд 18:18:04 #556 №587254 
Где почитать что ткое указатель. Мне кажется я всё таки не понял.
Аноним 23/11/15 Пнд 18:20:11 #557 №587255 
>>587251
Чтобы получить другое число, надо прочитать сколько-нибудь байт с места, где находится указатель. Прочитаю 4 - получу одинаковые числа. Прочитаю 8 - разные.
Аноним 23/11/15 Пнд 18:20:17 #558 №587256 
>>587234
Чтобы выглядело уебищно, и ты поменьше явно приводил типы. Серьезно, пруфы у Страуса.
Аноним 23/11/15 Пнд 18:22:10 #559 №587257 
>>587255
Бля, ну не тупи. Ты хочешь привести float к double. Но внутри представлений числа 1, например, у float и double будет различаться содержимое, как ты ни обрезай биты.
Аноним 23/11/15 Пнд 18:22:26 #560 №587258 
>>587255
Значит можно double в long float сконвертить? long float вообще бывает?
Аноним 23/11/15 Пнд 18:23:09 #561 №587260 
>>587257
Да, я думал ты просто 8 нулей приписал.
Аноним 23/11/15 Пнд 18:23:36 #562 №587262 
>>587258
Какой ещё лонг флоат? Где ты его увидел?
Аноним 23/11/15 Пнд 18:25:27 #563 №587264 
>>587257
У всех же типов содержимое разное тогда как указатели конвертируются?

>>587262
Просто предположил. Проверил. Есть long double.
Аноним 23/11/15 Пнд 18:29:21 #564 №587267 
>>587264
> long double
Который ничем не отличается от double.
Аноним 23/11/15 Пнд 18:33:17 #565 №587273 
>>587267
и что делать если нужно int в double сконвертить и разделить? Он же не влезет.
Аноним 23/11/15 Пнд 18:36:36 #566 №587275 
>>587273
В double влезет без проблем.
Аноним 23/11/15 Пнд 19:52:53 #567 №587317 
Аноны, все еще ебусь с задачей про МАТРИЦУ СТРУКТУР.

Короче накатал программу, которая вводит МАССИВ СТРУКТУР, все заебись работает, но нужна матрица

http://ideone.com/rV5Enj

вот код, если не сложно помогите хотя бы советом, что делать
Аноним 23/11/15 Пнд 19:53:34 #568 №587319 
>>587317
касаемо функции output - дрочь полная, не обращайте внимание
Аноним 23/11/15 Пнд 20:02:20 #569 №587329 
>>587211
>>587222
Без новых стихов идите нахуй.
поклонник творчества ОП-хуя
Аноним 23/11/15 Пнд 20:09:01 #570 №587332 
>>587234
Пресвятая Дева Мария, что я вижу? Платина!

>static_cast
Самый дефолтный из всех кастов. Его суть: самый быстрый и корректный каст для приведения арифметических типов. Работает со значением.

>const_cast
Убирает/добавляет константность, чтобы код компилировался. Может быть добавлен к...

>reinterpret_cast
Прямая работа с байтами. Работает, как правило, с адресами.

>dynamic_cast
Чё-то там с наследованием, когда первые 3 уже не получится использовать.
Аноним 23/11/15 Пнд 20:15:26 #571 №587339 
>>587332
А почему бы не использовать круглые скобки, в которых писать нужный тип?
Аноним 23/11/15 Пнд 20:18:26 #572 №587348 
>>587339
1. Оно за тебя решает, какой каст делать
2. Его сложнее искать по исходникам.

У динамик каста, к тому же, немного более 'умное' проведение
Аноним 23/11/15 Пнд 20:25:58 #573 №587356 
>>587339
Потому что это последовательный перебор кастов 1, 2, 3, 3+2 или что-то в этом духе, пока не скомпилируется. Если скомпилируется первое, что скомпилируется, а не что нужно, ну ты понял.

Т.е. если тебе нужно 3, а скомпилировалось 1. Пускай меня поправят, кстати. Но один чёрт я не знаю начинки сишного приведения потому, что использовал его (по глупости) только для "значение-значение", а в таком случае следует использовать static_cast.
Аноним 23/11/15 Пнд 22:37:32 #574 №587508 
>>587329
Никогда их не читал. Без обид. В шапке в первую очередь хочется видеть советы, ссылки. Может опустить стишки вниз вместо посылания всех нахуй?
Аноним 23/11/15 Пнд 23:15:52 #575 №587560 
>>587508
Обычно, только стишки и читаю в шапке :3 // мимокрестозадрот
Аноним 23/11/15 Пнд 23:54:55 #576 №587593 
>>587267
http://ideone.com/PzQvmI
СПАСИБО МИКРОСОФТ
Аноним 24/11/15 Втр 00:16:24 #577 №587629 
14483133840560.jpg
UNIT-ТЕСТИРОВАНИЕ
Как-то давно писал на джаве и юзал TDD. Было прикольно.
Теперь пишу на плюсах и начинаю довольно большой проект. Хочу угареть по юнит-тестам и писать их для всего. Какие либы стоит юзать? Или есть какой-то стандартный функционал?
На джаве я помню была отдельная либа.
Алсо, что почитать про это? Как, например, тестить что-то кроме функций? Какие-нибудь перегрузки операторов для классов? И вообще, что нужно еще знать?
Буду рад любым дельным советам.

Юзаю Eclipse если что.
Аноним 24/11/15 Втр 00:19:31 #578 №587634 
14483135718210.png
Как в кодблоксе настроить с++11?
Аноним 24/11/15 Втр 00:31:22 #579 №587637 
>>587634
Всё нашёл. В настройках компилятора есть. Есть способ подключить 11ый стандарт прямо в тексте программы?
Аноним 24/11/15 Втр 02:29:13 #580 №587684 
>>587629
Погуглил и всё какое-то фиговое. Какой-то плагин Eclipse, который похоже не поддерживается, без всяких мануалов и описаний. Какие-то нерабочие ссылки на стаковерфлоу.
Чем пользуется анон?
Аноним 24/11/15 Втр 04:16:08 #581 №587711 
>>587637
ебош в мейкфейле
Аноним 24/11/15 Втр 04:48:48 #582 №587716 
>>587211
зачем тебе шаблоны и виртуальные методы?

>После переопределения этого метода компилятор всё равно продолжает ругаться на то, что класс так посторить нельзя
текст ошибки дай
Аноним 24/11/15 Втр 06:37:14 #583 №587727 
В моей игре в классе GameState есть unique_ptr на World(который собсна за саму игру отвечает без ничего лишнего). В гуе GameState есть кнопка перезапуска игры, следовательно было бы неплохо просто переинициализоровать World. Вопрос в том, как корректно?
world.reset();
world = std::make_unique<World>(args..)
Вот так будет без UB?
Аноним 24/11/15 Втр 06:39:03 #584 №587728 
>>587684
В симейке же.
http://pastebin.com/h0bmj0VX
Держи, няша
Аноним 24/11/15 Втр 08:59:10 #585 №587748 
Как на СИ ПЛЮС ПЛЮС скачать xml файл по ссылке и вывести содержание какого-то тэга?
Аноним 24/11/15 Втр 10:12:29 #586 №587763 
>>587508
Нет, с обидами. Мы 12 тредов терпели большую шапку нового ОПа только из-за стихов. Так что не ломай нам традицию.
Аноним 24/11/15 Втр 12:28:02 #587 №587846 
НОВЫЙ ТРЕД
https://2ch.hk/pr/res/587839.html
https://2ch.hk/pr/res/587839.html
https://2ch.hk/pr/res/587839.html
Аноним 24/11/15 Втр 14:09:43 #588 №587895 
>>587711
А если нельзя выдрать параметр компиляции? Например отправляю программу на сервер для тестирования. В cpp файле можно выбрать параметры?
Аноним 25/11/15 Срд 11:17:02 #589 №588581 
>>587629
great, gmock, catch
comments powered by Disqus

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