Это копия, сохраненная 29 июня 2016 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
Арматурой забили скинхеды,
Надломился предательский лёд.
Его руки, подготовлены не были к драке
И он не желал победы
Я теперь буду вместо него.
ОП, плавает в формалине
Несовершенство линий
Движется постепенно
У меня его лицо и имя
Свитер такой же синий
Никто не заметил подмены.
ОП не придет - руки были в змеиной норе
Голова в осином гнезде
А спина в муравьиной куче
Буду я - я из более прочного теста
Я достоин занять это место
Я многое делаю лучше.
ОП плавает в формалине
Двигаясь постепенно
В мутном белом тумане
У меня его лицо и имя
Никто не заметил подмены
Ключи проверяя в кармане.
Старший брат: >>749121 (OP)
Предыдущий: >>749082 (OP)
TL;DR
Q: Я хочу тотчас вкатиться, а разбираться буду в процессе. Что я должен делать?
Q: Не уверен, что хочу изучать C++. Как мне пощупать его без лишней ебли?
A: Читаешь эту книжку, смотришь упражнения из нее и суешь в онлайн-компилятор. Сообщения компилятора об ошибках копипастишь в гугл, ответы на возникающие у тебя вопросы ищешь в предыдущих тредах, спрашиваешь в этом треде, если не нашел. Если тебя послали на хуй или не ответили, то ты спросил платину, читай предыдущие треды внимательнее.
Памятка ньюфагу
- Вопросы по синтаксису идут на хуй
- Лабы идут на хуй
- "Как мне сделать Х на чистых крестах без библиотек" идут на хуй
- Все идут на хуй
- Хейтер сосет члены на пару со своей мамашей
Небольшие фрагменты кода размещай в треде при помощи тега [code] и жабаскрипт-костыля. Для больших фрагментов используй внешние сервисы.
FAQ
Мотивация
Q: Почему стоит использовать именно C++?
A: Ни один язык не идеален, но по совокупности киллер-фич C++ оставляет все остальные языки позади. Вот основные три:
- Скорость
C++ действительно быстрый язык — вместе с C, его прародителем, они с большим отрывом уделывают по скорости все остальные языки высокого уровня. Код на C++, как правило, медленнее аналогичного кода на C приблизительно на 0-20% а в ряде случаев C++ оказывается даже быстрее, причем замедление появляется только при использовании высокоуровневых конструкций (в C++ ты никогда не платишь за то, чего не используешь). Таким образом, если тебе требуется высокопроизводительный код, C++ станет отличным выбором. - Мощь
C++, являясь одним из наиболее выразительных и мощных языков, позволяет использовать большинство существующих парадигм. Его философия построена на минимальном ограничении программиста в выборе методов и инструментовпростреливания ногирешения задачи. Как следствие, используя C++, ты можешь не думать о том, как обойти искуственные ограничения языка, а беспрепятственно выбрать наиболее подходящие к ситуации средства. - Популярность
C++ по-настоящему популярен. На нем написаны десятки тысяч приложений и миллиарды строк кода, о нем написаны сотни книг, он до мельчайших подробностей документирован и стандартизован. Используя C++, ты никогда не останешься без работы или поддержки комьюнити.
Литература
Q: Окей, я решил вкатиться. Какие же книги мне читать?
A: Специально для тебя аноны /pr собрали уникальную коллекцию отборной литературы по крестам. Только лучшие книги, последние издания, без хуев! Выбирай категорию и обмазывайся:
-
Для нюфань
Учебники для начинающих. Все примерно одинаковой годноты, читать имеет смысл только какой-нибудь один, который больше приглянется:
Автор(ы) Название Год Ссылка Бьерн Страуструп Программирование. Принципы и практика использования C++ 2016 https://yadi.sk/i/Yd6KKpLBqJSUr Стэнли Липпман, Жози Лажойе и Барбара Му Язык программирования C++ 2014 https://goo.gl/kVaela Стивен Прата Язык программирования C++ 2012 https://goo.gl/z7kA8u
Другие обучающие материалы
Q: Я не умею читать.
A: Можешь посмотреть какой-нибудь онлайн-курс: раз, два, три
Q: Не люблю, когда льют воду. Хочу коротких материалов по существу.
A: Вот тебе блоги, факи, референсы и всякое такое:
- Годный блог, в котором все просто и понятно тян не нужны кококок борщ
- Блог с хорошо расписанными фичами новых стандартов
- Краткие описания библиотечных функций и контейнеров - на русском или более подробно на ангельском
- Блог Герба Саттера (на ангельском)
- Блог Скотта Мейерса (на ангельском)
- Блог еще одной тянки, много о Qt и оптимизации (на ангельском)
- Куча других блогов (на ангельском)
- Большой FAQ по C++ (на ангельском)
- Видео с CppCon (на ангельском)
Софт и библиотеки
Q: Я готов начать погроммировать! Куда мне писать код?
A: На этапе написания хэллоуворлдов можно не ебаться с установкой софта, а использовать онлайн-компиляторы: раз, два, три, четыре. Для работы над более серьезными вещами удобнее всего установить какую-нибудь IDE. Ниже приведены несколько хороших вариантов:
Платформа | Название | Описание | Ссылка |
---|---|---|---|
Windows | Microsoft™ Visual Studio® | Общепризнанно самая продвинутая и удобная IDE, не имеющая равных по части автодополнения и возможностей отладчика. По ссылкам справа можно скачать бесплатную редакцию последнего выпуска (2015 Community Edition). Кроме того, существуют редакции с расширенными возможностями (Professional и Enterprise). Они стоят сотни денег, но если ты студент вуза, подписанного на Dreamspark Premium, то ты можешь получить их безвоздмездно (то есть даром). Многим новичкам интерфейс студии кажется чересчур сложным, так что обязательно прочти этот гайд, если у тебя возникают проблемы с компиляцией хэллоуворда | https://goo.gl/qgAAc6 (русская версия) или https://goo.gl/WIPW9L (ангельская версия) |
Все | CodeLite | Простая, легковесная, кроссплатформенная, швабодная IDE. Менее навороченная, чем студия, но среди бесплатных вне конкуренции. Вероятно, это наилучший вариант для новичка с *nix. Под Windows же требует чуть больше ебли с установкой компилятора MinGW/LLVM | http://codelite.org/, "sudo aptitude install codelite codelite-plugins" для установки под *nix |
Все | CLion | IDE, призванная похоронить Visual Studio пока не особо получается. Она стоит денег, но можно украсть почти не протухшую версию на торрентах или получить бесплатную лицензию на год по скану студбилета, если ты студент. Удобные свистелки и перделки присутствуют. Тормоза и баги присутствуют. Кросплатформенность присутствует | https://www.jetbrains.com/clion |
Q: Я прочитал все вышеперечисленное, теперь я гуру! Что дальше?
A: Дальше переходишь по ссылке, пробуешь отвечать на вопросы и понимаешь, что ты пока в самом начале пути. Кроличья нора крестов практически бездонна, поэтому продолжать постигать тонкости и детали можно очень и очень долго. В то же время, на этом этапе у тебя должно быть достаточно знаний, чтобы уверенно писать неплохой код. Поэтому читай исходники открытого софта и библиотек, отправляй пулл-реквесты в них, читай книжки по предметным областям и общим методикам разработки, а дальше уже сможешь запилить свой проект или вкатиться в существующий.
У меня есть два вопроса:
1) Есть Window. На нём есть пара элементов. Как можно поменять параметры одного элемента из кода другого? Обычно это делается сигналами/слотами, но что делать, если я хочу, например, изменить значения на сразу двух лейблах по нажатию кнопки? Мне нужно биндить слот на кнопке сразу к двум сигналам на лейблах?
2) Есть кнопка. Когда нажимаю кнопку, начинается в цикле выполнение некоторого кода. Цикл распараллеленн с помощью OpenMP. После завершения нужно вывести результат в лейбл на форме.
Как сделать так, чтобы во время этих вычислений, само приложение не подвисало? Такое возможно с OpenMP вообще?
Ну то-есть, я хочу, чтобы приложение просто висело и не крашилось от того, что пользователь по нему кликнет пару раз наугад куда-нибудь.
наканецта
Button {
style: ButtonStyle {
label: Text {
font.family: "Lucida Console"
font.pointSize: 20
text: control.text
}
}
}
В другом файле я его использую и хочу при этом отдельно изменить font.pointSize. Как это сделать не проебав ничего остального?
учу уже 4 неделю
3-4 года.
Ну, через годик где-то. Еще ж нужно понимать предметную область. Синтаксис - это как букварь: не гарантирует понимание речи.
>не гарантирует понимание речи
Но требуется для понимания же. Где-где, а в крестах ты абсолютно точно будешь насасывать без детального и глубокого понимания синтаксиса. Например, имеем вот такой фрагмент, совершенно очевидный на первый взгляд:
http://pastebin.com/z4bbBiZh
Любой ньюфаг будет шокирован, когда посмотрит получившиеся значения z1 и z2, а в реальном коде может отстрелить себе даже не ногу, а всю нижнюю половину тела. А разгадка одна - изучение языка по нубским книгам и интуитивное псевдопонимание синтаксиса.
>Любой ньюфаг будет шокирован, когда посмотрит получившиеся значения z1 и z2
Вангую, всегда будет вызвваться f (signed int)
>Любой ньюфаг будет шокирован
Вот этим http://pastebin.com/GKFZHPWa тоже будет. Даже некоторые не-ньюфаги будут шокированы.
4.5 Integral promotions [conv.prom]
1 A prvalue of an integer type other than bool, char16_t, char32_t, or wchar_t whose integer conversion rank (4.13) is less than the rank of int can be converted to a prvalue of type int if int can represent all the values of the source type
Как там, в 2003?
Он не понимает небось, почему using не подставляется.
Да не, про это как раз во всех книгах почти написано. Что знаковость char implementation defined, а типы вообще всегда считаются различными у всех трех.
> Что знаковость char implementation defined, а типы вообще всегда считаются различными у всех трех.
Многие знаю только про первую часть этого предложения.
Кстати, кто знает объяснение? Просто так, с потолка стандартопетухи решили, что пусть будет "implementation defined"?
я знаю объяснение, да
Ньюфаги, не ведитесь. Такого не бывает в реальном коде и знать это не обязательно. С тем же успехом можно начать обсуждать особенности работы IOMMU и доказывать, что java-разработчик не разработчик.
Overload resolution - одна из самых сложных частей C++, unified call по этой причине и отвергли от принятия в C++17.
Я, кстати, тоже не знаю ответа, хоть и пишу 3 года. Я, конечно, полез уточнять этот момент, но там читать на час, так что иди нахуй стандартоеб.
Двачую
>IOMMU
>java
Какая связь вообще?
>читать на час
Кек. Ищешь в содержании Integral promotion и открываешь. В первом же абзаце ответ.
>Какая связь вообще?
Вот и я спрашиваю, какая связь между ньюфагом и дрочевом правил overload resolution?
Потому что применение различается же. unsigned char для работы с памятью, char для арифметики. Если их отождествить, то может быть неоптимально для части сценариев. Если отождествить со знаковым, то всплывают проблемы с отрицательными кодами, либо половина кодов не используется, это тоже не очень хорошо.
std::thread t([=](){
forever{
if(again){
t.sleep(1) //<<<-----Такова нету
std::count<<"function();";
emit nextImage();
}else
break;
}
});
t.join();
Суть такова, нужна задержка перед каждым выполнением функции. Какие могут быть варианты?
Отдельные утверждения верные и вроде можно разглядеть объяснение (если сам знаешь его), но в общем как-то неуверенно и невнятно.
Вся суть. Риал кейса, в котором это нужно и не нашлось.
Ну так что, кто-нибудь может объяснить мне, как в QT из кода одного элемента изменить значения другого?
Ведь объект ui храниться в классе Window и он privite.
Стандарт определяет базовый набор символов и требует, чтобы его кодировка влезала в char и при этом числа, кодирующие базовый набор символов, были беззнаковыми.
Если char = 8 bit и кодировка ASCII, то char знаковый, т.к. 7 бит достаточно для кодирования базового набора.
А если кодировка вроде EBCDIC, то нужно 8 бит для кодирования и char приходится делать беззнаковым.
Правда, ХЗ, зачем нужно три разных типа. >_<
Т.е. ты хочешь например что-бы ui->spinBox менял, например ui->horizontalSlider?
Он стопит ту нить, в которой вызывается.
А нахуй using тогда в примере? С тем же именем, что и параметр? Потолстить решил?
А я не привык. И вообще, за такое натурально убивать надо. И за использование сокращенного определения типа. В общем, съеби кукаретик.
Я не уверен, но мне кажется, что ты сейчас хуйню сказал. Согласно 3.9.1/1, все три занимают одинаковое количество байтов, согласно 5.3.3/1 это количество в точности 1. Согласно 1.7/1 байт может хранить восьмибитный юнит UTF-8. Соответственно, здесь не стоит вопрос места, только вопрос эффективности конкретных операций. Например, если надо поддерживать знаковость, то в некоторых двоичных представлениях надо применять другие операции, которые, вообще говоря, могут быть и более сложными. Такого нигде реально нет, конечно, но это, по крайней мере, хотя бы теоретически дает мотивацию, в отличие от размеров, которые гарантированно совпадают у всех трех.
В той сигнатуре работает правило приоритета объявлений. unsigned x выглядит как объявление x, поэтому это оно и есть, хотя unsigned char бы тоже подошло. Это если неформально. А формально вроде этот случай с unsigned даже указан отдельно.
>за такое натурально убивать надо. И за использование сокращенного определения типа.
И за auto убивать надо?
ЕХАЛ AUTO ЧЕРЕЗ AUTO
ВИДИТ AUTO - В AUTO AUTO
СУНУЛ AUTO AUTO В AUTO
AUTO AUTO AUTO AUTO!
Лучше, чем ОП-стих. Можно в следующий тхреад пихать не глядя.
>>759441
Ну типа того.
Допустим, я хочу при нажатии на кнопку изменить значение лейбла. Обычно, это сделалось бы с помощью сигнала/слота. А как сделать так, чтобы можно было именно из класса кнопки повлиять на другие элементы?
Вообще, в моём случае, это виджет, который находится на окне. В нём генерируется пикча и я хочу эту пикчу вывести на другой элемент.
Я вообще не про место или эффективность.
Я про 2.3/1, где определяется basic character set и 3.9.1/1 где требуется, чтобы char вмещал этот basic character set.
Кстати, в цепепе-стандарте не сказано, что значения, соответствующие basic character set, должны быть unsigned. Это сказано в стандарте C:
6.2.5 Types
3 An object declared as type char is large enough to store any member of the basic execution character set. If a member of the basic execution character set is stored in a char object, its value is guaranteed to be nonnegative.
Законекти оба объекта в классе в котором находяться экземпляры этих обектов, ну или какой-нить ивентФильтр установи. Правда у нас за ивентФильтры по бошке бьют.
Месье удачно набросил, а мы обсудили. Все нормально.
А что это значит вообще? В смысле законнектить сигнал/слот? А сигнал можно кастить как-то из кода самому?
бля что это такое
поясните отсталому дауну хелоувордщику застрявшему в 98году что это за хуйня и как её читать
А как тип вернуть? Шаблоны вроде это могут. Может там return auto написать?
Я не помню. Но как аргумент тип же можно использовать. Наверно и возвращать его можно.
auto - это не тип, а конструкция языка. Есть еще такая интересная штука, как decltype(auto).
>>759470
Всё, вроде бы решил проблему.
Ебал я все эти сигналы/слоты.
Вот решение проблемы для илиты:
[code]
// uiWindow - parent, который передаётся в конструктор
QLabel QO = (QLabel)uiWindow->findChild<QLabel*>("label1");
QO->setText("test");
[/code]
Чёт не хочется писать самому парсер, проверять всякие там буквы, знаки, экспешены ловить.
Есть какое-нибудь решение уже готовое?
Постановка задачи.
Инпут: строка, вида 0.25, 0.12, 1.23
Нужно распарсить её в 3 float переменных + проверить на хуевые данные, чтобы эксепшен какой-нибудь потом не вылетел.
Хз, сами обычно бустовским токенайзером парсим.
Первое, куда посылает гугль:
https://sourceforge.net/projects/cccsvparser/
https://code.google.com/archive/p/csv-parser-cplusplus/
Какие-то QListView, какие-то модели блять. Обычный сука лист нужен.
Ну берёшь и используешь его (или виджет, я не помню какой там оптимальнее для анальных игр) без всяких MVC.
С последним созданным все нормально. Но первые рисуются без текстуры.
Спрайт и текстура храняться в каждом объекте. Похоже emplace_back переносит куда-то в памяти весь массив, в результате "старые спрайты" имеют не правильный указатель на текстуру. Как быть?
Промышленности обычно нужно что-то большее, чем вычисление факториала.
На экран. Ну у тебя 2 спрайта. Позицию ты не задал. Размер не задал. Кидай пик как ты писал в >>759675
Неужели написать велосипед с stringstream труднее чем использовать чужой код?
http://ideone.com/EvFEtk
В общем, проблема такова:
в createpath ты создаешь временный объект с временной текстурой и спрайтом, когда делаешь это:
obj.emplace_back(Path);
Так как у тебя нет copy или move конструктора, то в emplace_back вызывается конструктор, сгенерированный компилятором, который втупую копирует объект. Когда выходишь с функции, временный объект удаляется вместе с текстурой. Спрайт в объекте из вектора ссылается на временную (уже удаленную) текстуру, поэтому выводится белый квадрат.
А я думаю иначе.
>>759723
Сами текстуры скорее всего с подсчетом ссылок. При копировании объекта ничего не удалится. А вот при создании спрайта у тебя скорее всего передается адрес текстуры в памяти. Нужно передавать адрес текстур, а не создавать их в объектах.
И ещё. Сюда можно загружать скрины.
Нет, текстура - это жирный объект:
https://github.com/SFML/SFML/blob/master/src/SFML/Graphics/Texture.cpp
Спрайт как раз используется с texture, чтобы избежать дублирования ресурсов.
Но да, ты прав, лучше завести отдельный менеджер текстур и передавать ссылки на них в объекты и дальше спрайтам.
>>759730
И где ты тут прав?
А ну да, со спрайтом ты прав. Но по сути ты сказал то же самое, что и здесь >>759728, но у текстур нет подсчета ссылок.
Шкорость выполнения.
ебать как все сложно
>программировать на Haskell одно удовольствие
>программировать на C++ сплошная пытка
У тебя обе посылки неверные. Например, и там блядь сука сраные монады хер проссышь ваще как сделать цикл и там пиздец оно должно работать какой нахуй сегфолт ну как так в самом начале бугуртил, но с увеличением опыта увеличивалось и удовольствие.
template <параметры метафункции> struct YourMomma { using res_type = вычисления на типах; }
ХЗ знает, я сам безработный.
какую область? есть какой-нибудь гайд? я слабо представляю как всё обстоит. есть смысл например учить яву начинать, ведь там работы больше.
Твоя главная проблема по жизни состоит в том, что ты мелкобуквенный.
Ну если ты 3 года учишь кресты и не смог найти работу, то кресты не для тебя. А может и программирование не для тебя.
и жизнь не для меня, ответил ананас на вопрос который я не задавал.
в джава треде хотя бы шапка нормальная, тут просто хуита о синтаксисе, сразу видно что крестовое комьюнити состоит из долбаёбов, у вас весь тред о синтаксисе штоле блядь?
>Q: ЧТО СКАЖЕТЕ ЗА ДЖАВАРАШ?
A:Худшая инвестиция в твоей жизни. Огромное количество говнокода, оторванные от жизни задачки, 1000 заданий по выводу в консоль какого-то говна.
Это реклама JavaRush, ну я даже не знаю.
Но я не хочу чтобы задачку кто-то решал за меня, тем более что это начальные простые задачи. Если до завтрашнего обеда не смогу решить, то напишу. У меня решение на уме вертится, надо проветриться.
Удачи. У тебя получится. Всё можно решить если постараться.
И чего тогда тебе подсказать?
Да у вас семь пятниц на неделе, в каждом тренде кусок про джавараш меняется на диаметрально противоположный.
Потипу копирования одномерного:
http://ideone.com/gOiVJP
фором ручками каждый элемент копируй. Ну 1 вложенный вектор можешь конструктором по умолчанию заполнить. А все остальные форами.
>1 вложенный вектор можешь конструктором по умолчанию заполнить
дык это 1 строка, а нужна "плоскость".
Для вектора можно пристроить memcpy? Все же высокий уровень все такое.
методом тыка вроде дотыкался
http://ideone.com/dq8beD
>>760411
Надеюсь с записью collection[0] = vec2 все нормально, а то подозрительно легко перезаписываются вектора разного размера...
Спасибо тебе, Антон.
>>подозрительно легко перезаписываются вектора разного размера
RAII же. В современных плюсах редко приходится вручную управлять ресурсами
error C3533: auto &: параметр не может иметь тип, содержащий спецификатор "auto"
может быть проблема в mvc13? вроде хуямды и авто доработали еще в 11м штандарте
В mvc13 неочень поддержка С++11. Ставь mvc15
в лямбдах ставить auto можно с c++14
Суть в том, что я мог бы легко её сделать через if-else, там просто очень большим получится решение, но я подумал - ведь можно сделать так, чтобы после ответа каждый раз генерировалось бы сами все ступени.
Я рассчитал вот что:
- сначала берётся число 50, y означает + в лестнице, n -.
- каждая последующая ступень делится на n*2, т.е. 1 ступень это 50, 2 ступень - 50/2, 3 ступень - 50/4 и т.д.
Собственно например мы загадали число 22, вопрос ставится - больше ли это число чем Х, где Х сейчас это 50:
1. 50
n минус в выражении
2. 50 - 50 / 2 = 25
n
3. 50 - 50 / 2 - 50 / 4 = 13
y плюс
4. 50 - 50 / 2 - 50 / 4 + 50 / 6 = 21
y
5. 50 - 50 / 2 - 50 / 4 + 50 / 6 + 50 / 8 = 27
n
6. 50 - 50 / 2 - 50 / 4 + 50 / 6 + 50 / 8 - 50 / 10 = 22
Оно.
Можно ли это как-то сделать через самогенирирущийся код? Я вижу что можно, но у меня не хватает знаний... Дайте подсказку, пожалуйста.
Так я цикл while использую, ладно, надо еще подумать.
У меня, вообще, такая идея была: сделать 3 вектора, 1 - записывает числа, 2 - ввод n/y, 3 - шаг. Просто, у меня в голове пока не умещается решение.
Цикл, внутри ветвление. Всё.
inta = 22, b = 50, c = b;
while (b != a)
{
c=c/2;
if (a < b)
b=b-c;
else
b=b+c;
}
cout << b;
Вроде работает.
Разве что при a =1 b =100 выдаёт 8 итераций.
А вот это c=c/2; нужно заменить на if (c>1) c=c/2;
Стандартный способ это делать M=(L+R)/2; а дальше соответственно L=M; ну или R.
L это число <= искомому, поэтому в начале оно равно 1. R это число большее искомого, поэтому для поддержания инварианта он сначала равно 101.
У тебя алгоритм кривой. И генерация кода не нужна. Просто 1 цикл. Про генерацию года почитай шаблоный
И цикл делается while (R-L>1) для бинарного поиска и (R-L>2) для тернарного.
Для 23 твоя программа не работает.
Поищи бинарный поиск. Почитай e-maxx.ru
В софтаче отказались помогать. Запускаю эти программы и вручную копипащу вывод их на ввод друг другу. Всё работает. Пытаюсь с помощью консоли их зациклить, но не выходит. Как это надо делать?
http://pastebin.com/aQ9wy9VM
http://pastebin.com/CzKk1dK3
Кароче, пишу в Qt проект. Там много всего. И Qt-шная многопоточность, и OpenMP, и OpenGL, и пару либ математических.
Кароче, попытался запустить экзешник отдельно, а не через qt creator и конкретно соснул.
Выходит пикрилейтед.
Вроде dll'ки закинул туда. А тут ошибка вообще какая-то странная.
Еще и непонятно, как она на английском звучит. Что за нахуй точка входа? Пытался загуглить, но чёт не вышло вообще ничего.
Есть какие-нибудь идеи, ананасы?
>непонятно, как она на английском звучит
The procedure entry point could not be located in the dynamic link library
Не работает это т.к. он вывод первой программы подаёт на вторую, а второй в консоль. Нужно чтобы вывод второй подавался на первую. Нашёл решение в интернете. mkfifo fifo; ./1 < fifo | ./2 > fifo; rm fifo. Но он не показывает вывод. Файл fifo всегда пуст. Пытаюсь tail -f fifo делать, но он не показывает изменений и программы зависают запущены но бездействуют. Что делать?
Разве можно вот так просто пытаться читать пайп? Его же вроде только один раз прочитать можно, поэтому он и пустой.
>Его же вроде только один раз прочитать можно
Скорее всего так. Но тогда я не понимаю что с ним происходит. Если tail не получает никаких данных, то эти данные должны были читать программы. Но они зависают как-будто ждут ввода.
Пацаны, как в плюсах прикрутить таймер? Хочу узнать, на сколько с кудой быстрее считается массив
Нужны скриншоты в отчете
И это вообще нормально, что он не пишет какая именно dll?
Поясните нуфагу, почему каждый тред по ЯП напоминает секту, куда истеричный пидор сектант (оп) заманивает выкрикивая бессвязную хуету, размахивая худенькими кулаченками и брызжа слюну.
Поясните нуфагу, почему каждый тред по ЯП напоминает секту, куда истеричный пидор сектант (оп) заманивает выкрикивая бессвязную хуету, размахивая худенькими кулаченками и брызжа слюну.
Как ты вообще умудрился что-то там напрограммировать с OpenMP, если не в состоянии решить такую проблему? Я хуею.
Поясните нуфагу, почему каждый тред по ЯП напоминает секту, куда истеричный пидор сектант (оп) заманивает выкрикивая бессвязную хуету, размахивая худенькими кулаченками и брызжа слюну.
Двачую
Расскажу тебе, как решить этот трабл, хоть я и ньюфак 4-недели в программировании, а ты параллелишь на OpenMP.
Идешь сюда:
http://www.dependencywalker.com/
Качаешь и сначала смотришь все либы и таблицы импорта. Библиотеки, которых не хватает там будут подсвечены (там есть некоторые проблемы с либами самой майкрософт из-за древности софта, но в целом он работает отлично).
Если это тебе не помогло, то пришло время ебаться с отладчиком. Тут гугли сам, как подключить исходники к твоему отладчику + как ставить брейкпоинты и т.д.
>Нужно понимать, что используемый язык должен соответствовать поставленной задаче
>C++ это по-настоящему сложный язык
>крайне нежелательно пытаться изучить его первым, если ты раньше вообще не программировал. С большой вероятностью это приведет к разочарованию и потере времени. Гораздо лучше будет начать с другого языка и базовых вещей
Да ты охуел, братец. Мы тут почти год жопу рвали, чтобы шапка была объективной. Насколько я могу судить, это сейчас единственный тред, в котором нет неаргументированных кукареков в духе НАШ ЯЗЫК ЛУЧШИ ВСЕХ!!!!111111.
>неаргументированных
Главное слово. Вы додумались ещё и аргументы придумать к своим кукарекам.
> ответы на возникающие у тебя вопросы ищешь в предыдущих тредах
> забыл поставить точку с запятой
> заставляют читать 30 тредов
> не фанатизм
>Мощь
Такой аргумент к любому популярному языку можно отнести.
Потом одна вода уровня каждой задаче свой инструмент но наш язык решает больше задач и делает это лучше.
Потом талмуд книг у 4ёх из которых название "Язык программирования C++"
У вас даже блог алёны в шапке.
Ты, рачила ньюфаговская, нахуя даешь how to советы, бля? В простонародье это зовется "медвежья услуга".
Адресую другой рачиле: читай про компоновку, блядь! Ничего у него не гуглится, нахуй. Как же мы тут живем-то!
Для тех, кто в гугле забанен:
https://habrahabr.ru/post/150327/
Вангую, что и все перечисленное ты нихуя не знаешь.
Просто, съеби. На входе так и написано: вопросы по синтаксису идут нахуй. Залетных ебланов, не способных осилить синтаксис, мы и не ждем.
Нагуглил много библиотек, в бусте как с этим обстоят дела, известных проблем нет?
Я прочёл статью.
Но я всё-равно не понял, почему так происходит.
В чём разница между вызовом экзешника из qt криэйтора и просто даблкликом? Разница же только в установленных в Qt путях, нет?
Уже разобрался.
Кстати, кто-нибудь пердолился с OpenCL? Где можно курнуть гайдов и как прикрутить всю эту хуйню к VS2012?
Ну, делается же запрос на файл, и файл передается по .ээ ftp еслим не ошибаюсь, имеешь ввиду что ftp нет в бусте?
Алсо, такой вопрос, если я делаю запрос на сайт loh.com/index.html
Если я делаю это через програмку - она выдает нме тонну текста, хотя сам сайт выглядит весьма просто.
Так вот вопрос, в сам БРАУЗЕР этот же index.html передается точно в таком же виде, или присутствует какая-либо конвертация?
Не знаю. Наверное какие-то компенсирующие ноулайферы.
Не думаю, что тут много кто плотно сидит.
Ладно, шучу. Я вас просто затолстил, лол.
Потому что быдлокодеры и есть секта. Со своими конфессиями.
Знаю, что такое уже есть, но мне бы книги с примерами кода на крестах
Тут где-то тред с литрой и курсами по cs был, поскроль, поищи. С примерами кода на крестах точно не найдёшь, ибо там учат алгоритмам, а не языку.
В любом случае, насколько я знаю, в ирл все моделируют/прототипируют нейросети и пр на питонах, а потом уже готовые алгоритмы переносят на плюсы при нужде в перформансе.
>все моделируют/прототипируют нейросети и пр на питонах, а потом уже готовые алгоритмы переносят на плюсы
Двачую. Либо юзают связку Python + C++.
Да я уж как то к новой попривык.
max_element (deq.begin(), deq.end()) не компилится.
Думаю, твоя проблема в том, что ты не способен прочитать текст ошибки компилятора.
error: cannot convert 'std::_Deque_iterator<int, int&, int*>' to 'int' in assignment
max = std::max_element (deq.begin(), deq.end());
Я кароче нуфаг, но скажу свое мнение.
Deque, эт очередь, а max_element ищет в диапазоне, другими словами перебирает. А в deque, ты можешь обращаться ток к 1ому или последнему элементу.
Я прав или мне нахуй сходить?
У очереди есть носитель (вектор или список), в котором можно искать максимум.
Пусть он лучше документацию научится читать.
> std::max_element
Почитай в документации что возвращает std::max_element. И раз это итератор то его нужно разименовать чтобы получить значение.
>Я прав или мне нахуй сходить?
Второе.
А лучше сходи сюда:
http://en.cppreference.com/w/cpp/container/deque
>небольшие десктопные программки
C#
>микруху
C
>Можно к вам быстро вкатиться и быстро начать писать реальные продукты, пусть и сначала на нубоуровне?
Нет.
>Если я возьму вашего Липпмана из шапки + wxwidgets/Qt5 (собственно, что из них лучше и быстрее взять?), я смогу комфортно писать код, не отплевываясь от низкоуровневости и пещерности?
Да.
>Насколько быстро вообще вкат пойдет?
Год.
>Через 40 часов изучения смогу написать гуй-калькулятор?
Нет.
>Если нет, то как быть?
C#
Приличная скорость разработки на крестах достижима, но для этого нужно лет пять опыта, плюс неплохо иметь опыт в других языках для развития навыков декомпозиции и дизайна кода (чистые кресты калечат мозг). Бери пистон или C#.
> полив автоматизировать
Купить готовое решение на рынке и не ебать себе мозг.
> тексты определенной структуры обработать
Perl.
> гуй к консольной утилите запилить
wxPython.
Потому что decltype выполняется на этапе компиляции, а не в рантайме.
>Пистон - не то, что мне нужно
Тебе видней.
>Шарп просто не нравки, как не нравки Visual Studio, .NET и прочая параша.
Мне тоже. Но у меня времени больше и задачи другие.
>Хуле нет-то?
За 40 часов ты только до классов дойдёшь.
>И чем C# столь лучше?
Он проще. Сделан специально чтобы заменить дэлфи и осталось возможно кодить мышкой. Если у кого-то есть реквестирую статистику по времени изучения каждого языка.
>Длина массива из коробки?
Сам понял что сказал?
Можешь попробовать что нибудь из лиспов.
Завтра ищешь в интернете книжку Керниган, Ричи. Язык C. Похуй если ничего не поймешь. Затем идешь на http://www.utas.edu.au/infosys/info/documentation/C/CStdLib.html и изучаешь стандартную библиотеку от корки до корки. Потом зубришь, именно, сука, вызубриваешь конвенцию по написанию сишного кода - 1TBS, чтобы от зубов отскакивало. Когда напишешь свою первую сортировку Хоара, по пути изучив ассемблер инлайном, скачиваешь и изучаешь любую олдовую среду разработки, рекомендую Turbo C. Как переделаешь сортировку, чтобы была по меньшей мере итеративной, а не рекурсивной, можешь идти дальше - тебя ждет увлекательный мир байтоёбства. Хипсорт, сверхбыстрые асинхронные B-деревья, xor-связные списки. Отсос у хиккующих выблядков / просто неудачников типа рейфага или сисярп/джава-богов, которые работают в тёплом офисе за приличную зарплату не заставит себя ждать и уже через пол года ты будешь так редко мыться, что любая баба будет брезгливо закрывать нос платком при одном упоминании твоей одежды.
Да, функция, возвращающая длину массива.
> Сделан специально чтобы заменить дэлфи и осталось возможно кодить мышкой.
Блядь. Вот это вроде то, что нужно как раз (я что-то вроде современного делфи и хотел найти), но мне уж очень не нравится VS, Net и Мрикософт.
Разве все то же самое нельзя делать с С++ в code::blocks/QtCreator?
> чтобы заменить дэлфи и осталось возможно кодить мышкой
До классов я побыстрее дойду, мне же
1) не надо все изучать досконально
2) основы программирования я все-таки понимаю
> Через 40 часов изучения смогу написать гуй-калькулятор?
> Хуле нет-то?
http://www.williamspublishing.com/21-days.html
Жирно.
Да хуле вы такие пафосные-то, блядь? У меня в текущий момент не стоит задачи НАУЧИТЬСЯ ПРОГРАММИРОВАТЬ за 10 лет, я хочу через неделю уметь написать годный гуевый калькулятор. Там из более-менее сложного, по сути, только парсер строки.
а как же дерево синтаксического разбора?
>мне нужно писать быстро, быстро видеть результат и быстро идти дальше
>Python не хотелось бы, потому как там интерпретатор нужен в том или ином виде, да и назначение немножко не то
Для твоего требования Python почти идеален.
Но если нужен компилируемый и быстрый - то бери go
>не надо все изучать досконально
С крестами надо. Рао основы за 21 день дрочки без практики пытался научить.
>Разве все то же самое нельзя делать с С++ в code::blocks/QtCreator?
Можно. Но ты хочешь быстро и просто. Это не кресты.
>>761490
А теперь тебе нужен питон.
Если вопросы по крестам кончились, то сформирую корректно задачи которые хочешь решать и иди в ньюфаготред искть для них язык.
Застрял в 70-х?
На Qt/Gtk потребление памяти будет примерно таким же
В стандарте это называется невычисляемым контекстом. То же самое внутри sizeof, alignof, noexcept и тому подобного. Фактически не гарантируется, что-либо про compile-time, но гарантируется, что наблюдаемое поведение будет как если бы выражение не вычислялось. Поэтому можно разыменовывать nullptr и творить прочие непотребства внутри.
>>761563
Красиво расписал, братюнь, хоть я и не со всем согласен. На мой взгляд, здесь, как и везде, нужен баланс. Кроме того, пускай наивно сравнивать программирование с искусством, но что-то в этом сравнении все же есть, на мой взгляд. Мамкины нигилисты скатывают все в говно еще чаще, чем мамкины романтики.
Неосилятор порвался.
Вы тут постоянно пиздите, что на С++ пишут игры и все такое. Но ведь Кармак писал игры на чистом C и с ними все было в порядке.
В чем польза от ООП? Кроме лишних тонн говнокода и юнит-тестов?
Хотя нет. Байтослесари не клоны. Никто не делает из байтослесарства религии, как из монад и прочих аппликативных функторов.
Я много чего застал. И дроч ассемблерщиков на то, что они урезали PE-файл до 50 байт, и дроч на C++. Последнее, собственно, никуда не делось. Просто слегка растворилось в потоке стартапов на раби.
Не осилил — так и напиши, кратко.
ООП в исполнении крестов - улучшает модулность и могут помочь создавать абстракции с удобным интерфейсом. Для маленьких программок, как ты правильно заметил, это не требуется.
>подобные симптомы с распространением java, C# и прочей "замещающей терапии" встречаются реже
Так Java и C# - императивные
Ты заебал своей пастой спамить. Уёбывай уже.
Степанов придумал идею generic algorithms еще в 80х. первая реализация была на языке Ada. Лишь в начале 90х появилась реализация на c++, который он выбрал за гибкость и мощь (указатели). и только в 1993 году, благодаря Коннингу, сумел впихнуть в стандарт как STL.
Современная реализация далека от первоначальной HP SGI версии из-за оптимизаций. да, код сложный, страшный, но эффективный. в подавляющем большинстве случаев нет нужды в отладке STL кода. тебе дают алгоритм, тебе дают универсальные термины и способы для работы с алгоритмами, компонования их без потери эффективности.
Позже Степанов признал некоторые проблемы и недостатки дизайна (относительно итераторов, отсутствие диапазонов). Сейчас это активно исправляется. но суть generic programming остается.
Пример со строками некорректен, так как STL string умеют в copy-on-write - смотри sgi реализацию и Майерса. MS как всегда отличился и запилил свою реализацию STL с блекджеком и ворохом проблем вплоть до несовместимости с sgi версией.
но в с++11 добавили всякие гарантии для контейнеров и алгоритмов. хотя все еще трудно использовать в несколько тредов. печаль.
c++, java, c#... всегда будет трудно использовать для мультитрединга
Спрашивал в питонотреде, там мне десять раз указали, что выбор хуевый и делать такую хуйню, как я хочу, на питоне - бредовая идея.
>>761507
Сформулировал же, ну:
> мне нужен язык, на котором я буду писать небольшие десктопные программки, а возможно, когда-нибудь, сяду за микруху.
> Но проблема в том, что мне нужно писать быстро, быстро видеть результат и быстро идти дальше. Программы небольшие (к примеру, полив автоматизировать, тексты определенной структуры обработать, гуй к консольной утилите запилить) и не слишком требовательные к производительности, но скорость разработки важна.
> Сделан специально чтобы заменить дэлфи и осталось возможно кодить мышкой.
> Блядь. Вот это вроде то, что нужно как раз (я что-то вроде современного делфи и хотел найти), но мне уж очень не нравится VS, Net и Мрикософт. Разве все то же самое нельзя делать с С++ в code::blocks/QtCreator?
Да не так уж и трудно. На конкурентный доступ к различным элементам есть все гарантии, а если хочешь и к одному конкурентный доступ, то просто делаешь контейнер атомиков, делов-то. Проблемы только со сложными многоэлементными алгоритмами типа сортировки, но это скорее уже проблемы архитектуры, если такое понадобилось делать с управляемой конкуретностью, а не через async, где все прекрасно.
В общем-то, пока его нет, может кто сможет помочь:
Есть регулярное выражение, http://ideone.com/rDcDre , которое по идее вытаскивает название класса и его зависимости. В онлайн чеккерах все заебись, но в плюсах не работает нихуя. Причем это весьма странно, даже если просто попытаться определись слово class - все окей. Но взяв слово class_пробел_ - сосу хуй. (class\s). В чем проблема?
>Немного не понял
Есть разные синтаксисы регэкспов. Ты вообще доку читал?
http://en.cppreference.com/w/cpp/regex/basic_regex
А вообще, ты не экранируешь "\", так ято поебать какой ты там синтаксис используешь - у тебя в любом случае не заработает
В C++14 можешь указывать const auto& как тип аргументов лямбды.
В каком виде тут хранится список смежности Edge? Как его организовать по данным, если данные являются текстовыми (обозначения вершин - слова)
Нахуй иди, дегенерат. Алгоритмы - единственное, что интересно в ебаном ИТ.
Кто тебе сказал, что здешние аноны не подготовлены алгоритмически?
А тот факт, что делаешь в лабе аж целую топологическую сортировку тебе чести не делает. К тому же ты не осилил готовый пример. Хуевый, кстати. Можешь сказать своему преподу, что писать код он не умеет.
А мне нравится построение систем.
ИТ, наверное, единственная область где ты можешь строить целые "миры" с нуля.
У инженеров работа с железом, всякие расчёты, там нельзя взять и "просто придумать", этого недостаточно. А у нас можно.
> если хочешь и к одному конкурентный доступ, то просто делаешь контейнер атомиков
Что я только что прочитал...
Какую проблему должен решить контейнер из атомиков?
>ИТ, наверное, единственная область где ты можешь строить целые "миры" с нуля
Даун, твои миры - это просто абстракция над кучей говна, которая интерпретируется электронными цепями.
>это просто абстракция над кучей говна, которая интерпретируется электронными цепями
Но ведь работает! И для этого толком не нужны материалы, человеческие ресурсы, время. Составляй правильные команды, а машина всё выполнит.
>Мы разные аноны, но все равно )))))
>но все равно
>)))))
Пиздец, вот это ущербный к нам за зашел.
Ты, блядь, еще не понял, что никто не будет решать тебе твои лабы-высеры для того, чтобы тебя не выкинули на мороз из твоей шараги? Раньше надо было учиться, а теперь можешь страдать и идти нахуй.
Пошел нахуй. Если контейнер не меняется, то вполне нормально хранить синхронизирующий элемент рядом с самим элементом данных.
Если же контейнер может меняться, то тот питух с stl гордо шагает нахуй, потому что написание thread-safe контейнеров с мелкогранулярными блокировками (а то и lock-free) очень сложно.
Если контейнер не меняется со временем - ты не прав, хранить атомики рядом с элементами можно без каких-либо проблем.
Если контейнер меняется, ты прав - stl пока что посасывает.
Пиздец. Я просто поинтересовался, какую проблему анон хочет решить, суя в вектор атомики. И вообще как он собирается это сделать, учитывая, что атомики некопируемые и неперемещаемые (и определены не для всех типов).
Тут влезли какие-то петухи и начали транслировать в тред свой /dev/urandom: атомики в куче, lock-free... Про что несут? Вообще охуешь.
Проблему синхронизации доступа по записи к элементам же. Под атомиками я подразумевал не только std::atomic, но вообще любые атомарные типы. Например, велосипедные обертки. И да, я не спорю, что это хуевая архитектура, но так можно сделать, так что пусть не пиздит, что КОКОКОК STL НИКАНКУРЕНТНАЯ.
Емнип, даже если не меняется, пихать в него некопируемые типы запрещено стандартом или как минимум ограничено какими-то костылями, типа emplace.
Героям слава.
Ты уже в конец охуел, мразь - уже в тупую копипастишь задания из своей лабы.
У меня есть всякие имена, типа: имя1, ..., имя10
Список смежности имеет вид: имя1 имя10, в общем стандартно.
Как я понимаю, надо присвоить именам какое-то значение. Типа имя1 = 1, имя 5 = 5 и тд
Правильно?
Блядь, во имя всех анонов, не помогай этому дебилу. Пусть идет книгу читает. Там всего 20 страниц надо осилить и потом он это задание не глядя сделает.
Вот я не единого дня не программировал на Qt, но мне кажется я знаю как решить твой вопрос. Это же ООП-параша. Что надо сделать? Унаследовать говно и изменить в наследнике параметр. Полминуты в гугле:
http://doc.qt.io/qt-5/qtqml-referenceexamples-coercion-example.html
мимо-4-недели-в-с++-кун
ни единого дня-фикс
Чтобы размер шрифта изменить создавать 20 классов по 1 на каждый пункт разницы? Не, спасибо, мне бы как обычный параметр.
По голове себе побампай.
Хочешь дэльфи – иди скачай последний релиз дельфи. Кроме шарпа аналогов у него нету – совсем. C++ с Qt (как и с wx/gtk и тд) заметно сложнее, и "шлёпнул кнопку, даблкликнул, написал" – не получится.
Ну, на серверах она самая живая в мире, без преувеличений.
Переформулирую твой ответ – не тащите жяву на десктоп.
Только сервера в энтерпрайзе
Всё.
Компрессующе-перемещающие GC (хорошие для серверов работающих 24/7, но слишком оверхедно для десктопа), хэловорлды на 300 мб, требуется пол часа на запуск вм, жит ебёт средненькие десктопные процессоры.
В том же дотнете половина этого исправлено, и есть те же асинки для отзывчевого гуя и тд.
Это может быть. Заточено на неграмотных мартышек.
А теперь открой какой нибудь llvm в цлионе/эклипсе цдт, посмотри на графики оперативки и процессора которые при пустом старте 700+мб съедают без плагинов, и подумай что же не так.
Да, а в крестах столько веселья при переписывании математики с пиздона на кресты.
Не знаю как сейчас, но полгода назад clion был полным дерьмищем, даже если забыть про потребление ресурсов.
У меня половина кода была красная, и автодополнение тоже работало только для половины кода
Хотя бы на питоне весело. Разработка на джаве - сплошная серость
А мне норм. Не идеально, но норм. Пробовал с gedit перелезть на QtKreakl, Code::Blocks, Eclipse и ещё на что-то, но всё не так. Не смог без долгого копания в настройках выдрессировать IDE под себя.
А у Clion поменял отступы пробелами на отступы табами и ещё пару опций стиля подтюнил — и всем доволен. Больше в настройки лазать нет необходимости.
https://2ch.hk/pr/arch/ (М)
наверное, все про это уже знают
Она же ничего не может. Там нет ни IDEшных фич, ни возможностей для эффективной манипуляции с текстом
Она же ничего не может. Там нет ни IDEшных фич, ни возможностей для эффективной манипуляций с текстом
Приходилось жрать этот кактус, т.к. IDE больше мешали, чем помогали.
Ну на мой взгляд в том при помощи чего ты пишешь код должно быть:
- Навигация по символам(семантическая)
- Переименование символа
- Автодополнение(семантическое)
- Шорткаты для быстрой работы с тесктом
тут ты промахнулся. недавно понадобилось код на шаблонах-алгоритмах в многопоточное окружение перевести. боль и страдание, особенно в с++03. хотя обмазывание мьютексами помогло. сейчас смотрю на локфри контейнеры
В любом языке импреративное многопоточное программирование на основе shared memory - боль.
Я просто написал, как было. По-умолчанию было пробелами, я люблю табами.
Если кому-то от этого порвало сраку, это его проблемы.
Вот такой код:
int a=0;
int pointer=&a;
int &ref=pointer;
И все работает, несмотря на то, что ссылка на неконст инт инициализируется литералом (а именно 0).
Как это понимать?
А что не так.
Ты создал переменную. Записал адрес в pointer. И создал ссылку на указатель. Всё норм.
> ссылка на неконст инт инициализируется литералом (а именно 0).
Ты-таки не прав. °pointer это lvalue. Ты ведь можешь ему присваивать, типа "°pointer = 1;"
Так что всё в порядке с инициализацией неконстантной ссылки.
Читаю книгу одну, за 400 страниц о классах не слова. Как можно понять это больше 40 часов.
> Читаю книгу одну, за 400 страниц о классах не слова.
В романе "Мастер и Маргарита" Мастер появляется только в 13 главе.
Там указатель разыменован, так что у него и указатель и ссылка на переменную.
Ясно. Подумал, что у него int* &ref=p;
Можешь кинуть ссылку или хотя бы примерног сказать где про это написано?
Что из себя представляет это lvalue - ссылка, переменная (типо как в питоне - функция объект), или еще что нибудь?
Хотя я тут итераторы вспомнил, можно же так делать ((звездочка)i).foo() , значит и правда lvalue
Если не хочется обмазываться канцеляритом стандарта, то можно смотреть здеся: http://en.cppreference.com/w/cpp/language/value_category
Спасибо
Как записать map с float ключем, а в значении - ссылка на элемент вектора?
блять походу я тупой, даже с гуглом не нашел как в декларации записать ссылку на вектор
Хоть твой алгоритм кажется мне неясным (почему не quadtree?), а идея использовать float как ключ — идиотской, всё же отвечу на
> Как … в значении - ссылка?
http://en.cppreference.com/w/cpp/utility/functional/ref
Сгенерил uml-диаграмки по некоторым интересующим меня классам и стало немного легче разбираться. Есть ли еще какие-нибудь трюки, которые помогут быстрее разобраться?
> инициализируется литералом (а именно 0).
Ладно lvalues, но что такое "литерал" не знать нельзя. Литерал только в `int a=0;' справа от `=' присутствует.
>>762610
>>762610
противоречат не только моему вопросу, но и вашим же постам:
>>762625
>>762618
>>762616
?
К тому же, вы до сих пор не объяснили, ЧЕМ шарп будет лучше крестов.
Но он не слишком производительный, не особо популярный и с работой будут проблемы, а уж перспективы совсем печальные. Чем шарп оказывается в данном случае ближе крестов, опять же? Тут тоже, насколько я знаю, "не тащи шарп на десктоп".
Тебе джаву никто не советовал.
Java != C#. Последний умеет в дектоп. Даже под linux кое-что написано
Умеет, но не используется. Умеет даже под линукс, но это боль + большие вопросы с Net framework.
Хуёво знаешь. Шарп в отличии от жявы умеет в десктоп: там и специальный (не серверный) GC есть, и асинки для отзывчивого гуя, и крутые средства разработки этого самого гуя.
Попробуй сравнить например работу студии и идеи.
>>762800
Как раз из-за большого её кол-ва он останавливает мир на пол часа каждую итерацию.
Чем идея хуже студии? Мне она таки не меньше нравится как минимум, но я нуб и не могу судить. Я знаю, что оно там есть, только это никто не использует, вакансии - веб, веб, хуеб, энтерпрайз, веб, юнити.
>>762786
Ок.
> вы до сих пор не объяснили, ЧЕМ шарп будет лучше крестов
Проще и быстрее - это общие слова, они не несут никакого смысла без раскрытия.
Умеет. Есть. Крутые. Что, если человек не хочет воровать спермостудию, говноедствовать с моно, ебаться с винформами, впф и прочим шлаком, читать говеные спермодокументации и закругляться в юнити и ксамарине?
Это ж гной, блядь, говно, червь-пидор. Как вообще можно в плюсотреде такое советовать?
>Чем идея хуже студии?
Скоростью работы. Хочешь сравнить наглядно – открой один и тото же большой проект в обоих, посмотришь чем ява от шарпа отличается.
>вакансии - веб, веб, хуеб, энтерпрайз, веб, юнити.
У явы - энтерпрайз, энтерпрайз, энтерпрайз.
>Проще и быстре
Ты нюфаг, тебе больше информации не нужно. Перестань ебать мозги и попробуй написать что-то там и сям, пока граблями ебало себе не пробьёшь - не поймёшь.
> У явы - энтерпрайз, энтерпрайз, энтерпрайз.
Это с самого начала было понятно. Поэтому я тут, а не в треде по Java. Хотя там тоже веб, к слову.
>Проще потому что слишком сложно объяснить, чем
Ясно.
>ИТ, наверное, единственная область где ты можешь строить целые "миры" с нуля.
Хуйня. Слишком много ограничений. То ли дело математика - можешь строить себе манямирки сколько влезет.
Двачую. Самый кайф - заниматься исследованиями в алгебраической геометрии за рубежом. Читаю работы ученых и завидую им. Еще и финансируют науку значительно лучше, чем у нас.
Пишу простенькую программу, которая складывает массивы и сравниваю с CPU-онли прогой.
Повторю вопрос: кто-нибудь здесь работал с OpenCL?
https://ideone.com/u0i3jR
Она не проходит последний тест. Ввод и вывод такие:
http://rgho.st/7fjhjLV2c
http://rgho.st/76qDLrWF8
Что я делаю не так? Алгоритм такой: прохожу по массиву и для каждого элемента бинарным поиском определяю, есть ли в массиву такой элемент, который в сумме с текущим дает заданное число. Если такой элемент есть, нахожу его линейным поиском и возвращаю два индекса. Должно работать за O(nlog n).
Понадусеровый швайнокарась.
А вот и корпоративные юристы по ISO 14882 праву подъехали.
А что он тебе должен делать? Компьютер только и умеет, что взять говно из памяти и положить в регист, сложить два регистра, положить результат в память. Страдай.
Нихуя. Потоки жутко раздувают код.
Может ты анон знаешь где мне найти такую библиотечку? Очень плохо без неё.
Это еще лучше же.
Даже не вникая в задачу, я вижу, что у тебя сложность solution O(n^2), а не O(nlogn).
У тебя в худшем случае выходит O(n * (logn + n))
линейный поиск он такой линейный
Чтобы сделать счётчик который ещё и в if ложить можно и без проблем с выводом как у char.
Ну тогда советую тебе сходить нахуй.
>У bool 1 байт
5.3.3 Sizeof [expr.sizeof ]
1 <blah-blah-blah skipped> [ Note: in particular, sizeof(bool), sizeof(char16_t), sizeof(char32_t), and sizeof(wchar_t) are implementation-defined.⁷⁴ — end note ]
74) sizeof(bool) is not required to be 1.
У тебя цикл внутри цикла, блядь. Если тот if фактически один раз срабатывает, то ты плохо написал код и иди переписывай.
Знаешь почему bool на x86 равен 1 байту? Потому что процессор может адресовать минимум 1 байт.
Будет другая архитектура, на которой минимально адресуемая ячейка 4 байта, будет у тебя bool 4 байта.
>Если тот if фактически один раз срабатывает, то ты плохо написал код и иди переписывай
Тот if срабатывает только один раз, когда бинарный поиск находит элемент, который в сумме с текущим дает нужное значение.
Как это переписать? Для таких случаев есть стандарты?
> Будет другая архитектура, на которой минимально адресуемая ячейка 4 байта, будет у тебя bool 4 байта.
В модели памяти C++ минимально адресуемая ячейка всегда называется байтом. Так что, "минимально адресуемая ячейка 4 байта" это нонсенс.
А если процессор умеет работать только с 4ёх байтовыми ячейками? То все числовые типы в С++ будут
>То все числовые типы в С++ будут
1 байт? Выходит sizeof вернёт 1, а на самом деле там 4 байта? Может 1 байт быть 32 бита?
не дописал случайно отправил
>>То все числовые типы в С++ будут
>1 байт?
Ну, как минимум, long long требует 64 бит, так что sizeof(long long) будет равен двум (как минимум).
> Может 1 байт быть 32 бита?
В модели памяти C++ — да. char это синоним байта и sizeof(char) гарантировано равен одному. А CHAR_BIT будет равен 32
Типичный дегенерат-программистишка, который даже не смог понять, что в теории кодирования используется алгебра и алгебраическая геометрия, а не матан.
"Матан" это такой термин у даунов, означающий "там какие-то математические значочки, которые я не понял".
А нас в школе так даже геометрию за 9ый класс называли.
Слишком дохуя нюансов.
В качестве джуна, но не сеньёра-помидора. Разницу чуешь?
signed bool
Он про то, что создается ссылка на 0. Но это нормально, это действительно способ сделать ссылку на nullptr.
using namespace - это моветон.
Это C++ тред, если ты не заметил, мань. Такие вопросы тут и задают. Съебал отседа
Привет парни.
Вот такой код:
vector<string> process(){
return {"A","B","C","D"};
}
vector<string> process2(){
return ({"A","B","C","D"});
}
Почему process2 компилируется, а process нет? Различие в скобках если что.
Как это понимать?
Наоборот же со скобками не компилируется:
http://ideone.com/5yLwp6
Потому что компилятор считает, что ты возвращаешь функцию с сигнатурой void() вместо vector<string>.
Хотя нет, с функцией я погорячился.
Да, process2 не компилируется. Но там же нет названия функции рядом со скобками чтобы считать это вызовом
Уже и подрочить без компа не можешь?
Какая сложность у этого алгоритма по времени и памяти? Это важно для исследований
Хочу ознакомиться с этим знаменитейшим фреймворком и пилю первую программку с GUI, которая должна решать квадратные уравнения. Наваял в Qt Designer графический интерфейс, написал в заголовочный файл все необходимые функции, теперь сижу и туплю, как это всё совместить. То есть чтобы пользователь ввёл в окошечки коэффициенты, они отправились из этих окошечек в аргументы соответствующих функций, а потом в другое окно был выведен результат соответствующий функции в качестве ответа.
Знаю, что тут ключевые слова "сигналы" и "слоты", загуглил, но ничего не понял, в разных местах приводятся разные примеры, сам только запутался.
Структура программы: main.cpp -- тут всё понятно, ui_gui.h -- графическая форма из Qt Designer, equation.h -- функции для решения уравнения, program.h и program.cpp относятся ко всему необходимому из Qt.
Ссылки:
main.cpp: http://pastebin.com/SxddZ1jf
ui_gui.h: http://pastebin.com/DS45ERZ2
equation.h: http://pastebin.com/qNimRMms
program.cpp: http://pastebin.com/xZLw91tq
program.h: http://pastebin.com/t34QitY9
Просто напишите, пожалуйста, как подать из GUI-окошка QPlainTextEdit число в аргумент функции set_a и как результат функции solution_1 вывести в QTextBrowser, например. Это надо, видимо, как-то вписать в конструктор в файле program.cpp. С остальным разберусь по аналогии.
Молю о помощи!
O(2n), доказал деревом рекурсии!
Вот он: http://pastebin.com/ZqyVKRe1
Хотя не понимаю его необходимость, он же сам автоматом возникает при сборке. Собираю так:
qmake -project
qmake file.pro
make
Вот .pro сам после qmake -project создаётся.
>>763196
То есть ты хочешь сказать, что понял как собирать qt проекты, но непонял что такое сигналы/слоты? Подозрительно
Без задней мысли создаешь сигнал, возвращающий структуру где сохранено то что ввел пользователь и соедини его со слотом
принимающим на вход такую структуру и в нем же можно ответ вывести
Ты не знаешь как устроить взаимодействие между элементами/виджетами? Или в чём проблема?
Палю тебе охуенный лайфхак:
1) В классе элемента/виджета, в котором ты что-то там вычисляешь, создаешь член GWidget uiWindow; или что-нибудь похожее.
2) В конструктор этого элемента у тебя передаётся parent. Присваиваешь его тому члену, что ты создал.
3) Дальше обращаешься к любому элементу/виджету через:
QLineEdit le1 = (QLineEdit)uiWindow->findChild<QLineEdit>("lineEditPosition");
std::string str = le1->text().toStdString();
Ну, это пример из моего приложения и имена соответственно не дефолтные, но ты понял.
parent - я имел ввиду главное окно, на котором все остальные элементы.
>>763215
>>763217
Сижу сейчас, обдумываю, соображаю. Спасибо за подсказки! Потом отпишусь, если не дойдёт до мозгов.
>>763203
>То есть ты хочешь сказать, что понял как собирать qt проекты, но непонял что такое сигналы/слоты?
В общем-то да. Как собрать qt проект находится на первой же странице любого поисковика. Qt Designer у меня был по дефолту в системе предустановлен Slackware, но решил его и Qt только сейчас опробовать, там исключительно мышковозякания, много ума не надо, во всяком случае справился даже без мануалов.
>>763205
Да, я тупо запутался. Наверное надо чуть-чуть поосмыслить и в голове уложится. Когда смотрю примеры в документации, то всё вроде бы легко и понятно, например:
QObject::connect(&quitButton, SIGNAL(clicked()), qApp, SLOT(quit()));
тут connect соединяет кнопку quitButton и даёт сигнал при её нажатии в само приложение qApp на слот quit(), что закрывает программу. А вот как самому что-то подобное написать, почему-то теряюсь.
Купи паскод
Тебя это ебать не должно.
-fno-exceptions -fno-rtti
http://stackoverflow.com/a/14589567
Похуй на синтаксис, всё равно все не-игрушечные компиляторы парсят с помощью рекурсивного спуска. А он отлично справляется с не контекстно-свободными грамматиками.
QNetworkRequest request(url);
m_WebCtrl.get(request);
.....
this->data = pReply->readAll(); // QByteArray
На выходе получаем QByteArray, который хорошо интерпретируется под заданную страницу, если ее выводить прямо.
Мне нужен сам html код, как его выдрать?
Cпасибо, с вашей помощью решил задачку на загадывание числа от 1 до 100, вы можете оценить решение: http://ideone.com/Y17Y1X
А помогли мне тут: >>760607
Отбой
Оказалось, оно и считывает в html-е, просто QTextBrowser html код преобразовывает в веб-страницу
Еще вопросов принес.
Вот такой код:
void foo(){
string a="string1",b="string2";
return a+b;
}
Какой объект возвратит foo? Результат сложения или копию результата сложения?
Что вернет, это понятно.
Вопрос в другом: будет ли создаваться копия результата сложения или не будет
RVO/NRVO это не undefined behavior, а compiler specific. Надо посмотреть доки компилятора или посмотреть на практике, что происходит.
И да, перемещение более затратно, чем RVO, поэтому ты только обосрешься, если так сделаешь, потому что почти все компиляторы сейчас поддерживают RVO.
Нет. Есть три разные вещи: undefined behaviour, unspecified behaviour и implementation-defined behaviour. Первое это гроб гроб кладбище пидор, например, переполнение или несинхронизированный доступ к объекту из разных потоков. Может произойти что угодно, скажем, Уильямс в своей книге пилил, что он встречал случай, когда железо в буквальном смысле воспламенилось из-за UB, лол прохладная стори, но суть понятна. Implementation-defined означает, что в доках платформы должно быть написано, что произойдет, хотя на разных платформах может быть по-разному. Например, sizeof(int), поддержка conditionally-supported фич, в общем, то, что ты назвал compiler specific. А есть еще unspecified behaviour, это как бы промежуточное между ними. Плохого не произойдет, но документировать конкретное поведение платформа не обязана, и, более того, даже в пределах одной программы два одинаковых выражения с unspecified behaviour могут вычисляться по-разному. Яркий пример - порядок вычисления аргументов функции, в разных вызовах может быть разный порядок из-за оптимизаций.
Так вот, RVO/NRVO это формально часть copy elision, которое ради оптимизаций сделано unspecified. Компилятор волен сам решать, вызывать конструктор или нет для каждого конкретного случая, даже если возможность не вызывать есть всегда.
Какой ответ, объясните пожалуйста
Да. 12.8/31
>When certain criteria are met, an implementation is allowed to omit the copy/move construction of a class object
http://ideone.com/bObKB2
Ты тупой, блядь? Выравнивание определяется максимальным среди агрегатов выравниванием. У первого агрегата это 4, ибо long. У последнего - 1. Поэтому структура выравнивается по четырем байтам, размер добивается от 9 вверх паддингом до минимального, кратного четырем, т.е. 12.
В венде с отключенным автозапуском - никак. Никто просто не станет выполнять твой код без явного указания пользователя. MBR это разметочная таблица, она интерпретируется как данные.
Ах ты пидор, все сходится. Спасибо.
Блять, при чём тут Форточка вообще? Я выключаю комп, включаю, захожу в биос-меню ставлю приоритет загрузки с флешки на макс, boot-аю с флешки. MBR - главная загрузочная запись, как-то так, 512 кб, вроде.С неё биос начинает считывать. В осях там загрузчик. ВОПРОС : как туда что-то записать?
HTML выучил, сына?
inb4: сокращать и расслаблять сфинктер
Поднятие мышки на бицепс
Не уверен, что это вообще научнодоказанная штука.
Я, например, провожу за ноутом последние шесть лет часов по 70 в сутки. Зрение хорошее.
в неделю, конечно, лол
>геморрой и простатит
Кстати, говорят, что фапать сидя вредно. Лучше фапать стоя, лежа или в позе свечки, но не сидя. Фап сидя - простатит мерзкий.
О ещё и сажки подлил, спасибо за помощь,уёбок
Он просто открыл старые архивы двача и научился в туда постить. Теперь он на том дваче набигает, страдает от одиночества и угнетения черным битардом.
MBR хранится в самом начале диска.
При загрузке с этого диска MBR копируется по адресу 7c00 и туда же передается управление.
То есть нужно хуярить асм код прям в начало диска. И да его размер должен быть не больше 512 байт.
Я не он, но геморрой скоро наступит. Пока только жопа треснула. Со зрением все в порядке. Проблемы с жопой, думаю есть иили будут у любого войтишника/дальнобойщика. Еще у некоторых начинаются проблемы со спиной/шеей.
Геморрой наступает только у гетерастов.
Спорный вопрос.
Нахуй оно вообще нужно, если выравнивание нужно только компилятору для генерации корректного кода, работающего с кастомно выровненными данными?
иди читай танненбаума про загрузчик. MBR показывает где лежат данные. дальше биос идет в указанный сектор и читает с первого или второго сектора (не помню). там специфический формат. например, для win nt, загрузчик загружает драйвера фс, ищет конфиг и передаёт управление указанному ядру. в Linux похоже. разве что grub умеет сразу запускать образ ядра.
тебе лучше не MBR дрочить, а подружиться с grub, который загрузит тебе хоть pe, хоть небо, хоть твою мамку
partcopy boot.bin 0 200 -f0(только поменять аргументы для флешки)
Да сука, bin, никакой нахуй не листинг, а бинарникяжговорил
уженашёл
Также хочу отметить, что меня интересует только многопоточность через подключаемые библиотеки, а не через средства самого языка. Компилятор будет C++03.
Я ОП-пик не заготовил. Давайте кто-то другой перекатит.
Мне это нужно вот для чего. Я эту программу запускаю с ключами, она читает файл, декодирует его и пишет вывод в 3 файла на диск. Затем я эти 3 файла уже обрабатываю в своей программе. Очевидно тут лишний этап записи/чтения. Но т.к. исходников для этой программы у меня нет, то хотелось бы как-нибудь обойти это ограничение.
располагаться, всего-фикс
Нашел:
https://en.wikipedia.org/wiki/Tmpfs
https://en.wikipedia.org/wiki/RAM_drive
Как проснусь посмотрю, как оно устроено.
While (std::cin >> a, b, c)
{
}
Как-то так.
сделал мой день
https://2ch.hk/pr/res/764736.html (М)
https://2ch.hk/pr/res/764736.html (М)
https://2ch.hk/pr/res/764736.html (М)
https://2ch.hk/pr/res/764736.html (М)
https://2ch.hk/pr/res/764736.html (М)
Поясните ньюфагу: зачем нужны эти перекаты?
Спасибо.
не проще в аргументе прописать int &n? крч ниасилил
>алгоритм...
>float как ключ
ибо расстояние хранится в флоате
Планировалось так:
1. Сравниваю координаты всех объектов в квадранте с областью под курсором, тем самым нахожу все объекты под курсором.
2. Вычисляю расстояния этих объектов до курсора.
3. Контейнер map сам определяет ближайший объект.
Далее планировалось взаимодействие с этим объектом, через первый элемент map.
Только возникли проблемы:
1. как вызвать первый элемент map?
2. map<float, vector<Obj>& > Map; как заполнять такое?
3. Map вообще хранит индексы? Если нет, какая сложность обращения к элементу? Какой другой контейнер имеет индекс, при этом ассоативен и сортируем?
>почему не quadtree?
Пространство уже поделено на регионы-квадранты многомерными массивами, про quadtree тогда не знал.
Это копия, сохраненная 29 июня 2016 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.