Как много языков, молодящихся снаружи,От старости бегущих в никуда...Вполне понятно: с пропозалами мы дружим,А вот с фичами всегда у нас беда...Мы нацепляем лямбды, ranged-for,Асинков побольше норовим засунуть в код...И все нам кажется, что мы достойны трелей,И студента в программисте можем разбудить...Ну, хорошо, коль студент тот рядом,А если он давно уж не студент?...Смешно смотреть, заманивая скоростями,Как приходится идти на беспредел...И всё равно, что студент - уже бывалый программист:На свой язык он смотрит сквозь стакан,Последнее, что может быть неясно:Когда раскроется вот этот весь обман?...Быть может утром, в солнечном восходе,Написав подлиннее так шаблон,Проводишь молодость свою ты на пороге,Поймешь: он старости такой не ждал...А может все закончится в тот вечер,Когда твои UB он разглядит,Не будет ночи написанья кода...Но даже в старости, монады манят нас.Прошлый тред: https://2ch.hk/pr/res/866503.htmlQ&AQ: Где шапка?A: У мочератора. В прошлом треде.Q: Что делают хейтеры?A: Сосут член вместе со своими мамашами.Q: Что делают студенты с лабами?A: То же, что и хейтеры
>>881172 (OP)> let products = concatMap (\o -> products o) orders> (\o -> products o)facepalm.lhs
Так, хачкель - декларативный язык.Чё ты хотешь от с++
>>881172 (OP)Ну и про C++ — тоже лютая хуйня. Кто блядь возвращает ссылки на локальные переменные?
>>881177Ну не знаю я хачкеля иначе не перекатывал бы этот тред, чо ты прицепился-то?Тот же код без orders на конце как минимум в окемле валиден, хз что тут
>>881172 (OP)>>881180Т.е. нет. Там какой-то result, который неизвестно где объявлен.
>>881180Иди почитай про rvalue, хачкиль мозги разъел.
>>881181>чо ты прицепился-то?(\x -> f x) это то же самое, что просто f. Это же очевидно. пиздец ты тупой.
>>881182result == productsкод писался в пэинте, если что.
STD = Sexually Transmitted Disease?
>>881183Иди почитай стандарт. reference на локальную переменную после возврата из функции — dangling reference
В Haskell'e тоже надо всю эту хуйню задекларировать. Или по крайней мере import соответствующие библиотеки.Правда, согласен, что все фичи, которые плюсовцы у хачкиля слизывали имеют ну совершенно невменяемый синтаксис!
>>881189В Java 8 всё ещё хуже.
>>881172 (OP)Профессионально кожу на С++. Синьер, СПб, 4 года опыта, проект 1 млн строк. Существует с 2005 года. Переписывался, но целиком никогда. С++ лютый калл, просто лютейший. Сервер компилит с -Wall -Werror. Это просто какой-то калл нереальный. Эти суки тупые всё никак не придумают модули. Ебаные модули из джавы. За 15 лет хуй, не сделали. Если выходит так, что один инклюдит другой и тот инклюдит первый, то это ад пиздец. Разгребать. На любой чих - typedef. Не там поставил, где-то нужно - ебись протаскивай. Либы под платформы и ендианы. иф эндиан - хуяк, елс фигак. Гавно ебаное кароч.
>>881188/0Нет, но ты все же сходи почитай что такой этот магический &&. Никакой ссылки не возвращается.>>881189Братан, ну это уже материал для целого треда. Я просто сделал картинку для привличения внимания (и кстати нормально так бахнуло).
Вообще C++ - это такая параша.Ненавижу.А Степанов - пидор.
>>881192> 1 млн строкэто слишком много для хэллов ворда.
>>881196Движок игровой, мб.
>>881193> Никакой ссылки не возвращается.Да, потому что это говно даже не скомпилируется. http://ideone.com/gVSNI5> магический &&"Магический" он для новых ньюфагов вроде тебя.
>>881194Да, ты прав, это жутчайшая параша, на которой однако можно написать парашу побыстрее чем на няшной (ридонли правда как правило,ы).
>>881196Это продакшен код. Его проверяют PVS-студией и прочим. Проект знают только 2-3 лида. Остальные вообще не рубят. Когда кода очень много, а поддерживать скорость разработки и гибкость надо, то код превращяется в месиво из указателей (шаредпоинтеров) и интерфейсов. IObjectSetterListenerGetterOnly достаешь и пытаешься что-то делать. В IDE не проверить. Только в реалтайме. >>881197Да. Чей, вы знаете сами. В ДС2 вариков не много.
>>881197>Движок игровой, мб.мб, но это показатель мегахуевой архитектуры. хотя индусам за количество строк и платят, кек.
>>881201>Это продакшен код.хуякшен
>>881203Я бы с тобой сейчас очень поспорил. Чем выше гибкость - тем выше абстрактность. И самые гибкие вещи в итоге становятся просто дико абстрактными.
>>881198http://ideone.com/ZLIl7vСпутал с && в аргументах, не суть. Придираться к коду написанному в пэинте наобум - это конечно сильно.
>>881207>абстрактностьэто лютейшее зло, избегай его.
The Saber 3D engine is Saber Interactive's proprietary engine. The engine was first used on Will Rock (published by Ubisoft), and the recently released God Mode (published by Atlus).The game engine is currently in its fourth stable version (Saber 3D, v.S4).
>>881209Я тебе ещё раз говорю: у тебя dangling reference.
>>881210Теорию графов тоже избегать?
>>881214>Теорию графовты мтаноблядь что ли? если да, тогда многие вопросы отпадают
>>881209prog.cc:6:2: warning: Address of stack memory associated with local variable 'i' returned to caller return std::move(i); ^~~~~~~~~~~~~~~~~~~
>>881215>ты мтаноблядь Нет.
Сиплюсплюсеры продемонстрировали тотальное непонимание элементарных понятий своего языка в своём же ITT-треде начиная с ОП-поста...Это win!
>>881222>матроидпаржал, даже слова такого не знаю. теперь объясни на пальцах, в каком софте эта хуйня востребована?
>>881223Я бы сказал так: умудрились написать программу в пару строчек, которая течёт. Хорошо демонстрирует суть языка.мимиоп
>>881225Да нет, это только вашу ньюфажную суть демонстрирует.
>>881225>умудрились написать программу в пару строчек, которая течётде линк? хочу вкусить
>>881228> де линк?4-й пик.
>>881223Зачем понимать что-то если у тебя уже есть контракт на миллионы долларов на десятки лет.>>881224Я тоже ржу каждый день. С тех кто вообще вкладывает деньги в С++ и меня. Но пока вкладывают.>>881211Не знаю ничего про них. Движок могут вообще в США писать. Там у них 10 человек. А В рашке арт и скрипты.
>>881225> которая течётКстати, она не течёт. Ты опять облажался. Она приводит к UB, если кто-то воспользуется этой висячей ссылкой.
>>881224Для составления алгоритмов, наверное.1. Let P := x1 and i := 2.2. If i > n go to Step 7.3. Let P = y1y2 . . . yi−1 be the current path.4. If xi→y1 then P := xiP. Let i := i + 1 and go to Step 2.5. If yi−1→xi then P := Pxi. Let i := i + 1 and go to Step 2.6. For j = 1 to i − 2 do: If yj→xi→yj+1 then P := P[y1, yj]xiP[yj+1, yi−1].Let i := i + 1 and go to Step 2.7. Return the path P.
>>881232Самое главное — что ты смог так точно проанализировать код написанный с максимально утрированной вырвиглазистстью в пэинте. Браво!
>>881231>на миллионы долларов на десятки летвас где-то наебали
>>881237Да насрать на пэинт. Я не обращаю внимания на то, что ты локальную переменную назвал неправильно в return-е или что std::move "забыл". Я про суть.
>>881234> Для составления алгоритмовага, наверное обход контура ну или нахождения кратчайшего пути? правда? так вот, вся эта матанохуйня там нинужна
>>881239>что std::move "забыл"Код читать умеешь — человеческую речь не умеешь. Суть.Я так же уже писал почему сделал такую хуйню>>881237>максимально утрированной вырвиглазистстьно видимо всё же это непростительно. Пойду в окно прыгну.
>>881231>Не знаю ничего про них. Сперасофт? Варгейминг?
>>881209Мне, кстати, поведение gcc нравится. UB так UB! Вернём нулевой указатель!
>>881243>Сперасофт Слава Богу, ушел!!! Так как зарплату постоянно задерживали. Но, об этом можно догадаться и по предыдущим отзывам работников данной компании. Руководители заинтересованы в своем заработке, а не в вашем процветании. Будут мотать нервы, давать нелогичные задания, лишь бы меньше платить. Никто не станет на вашу сторону, и тем более не войдет в сложившуюся ситуацию. Обещали спорт, как элемент социального пакета. Забудьте, такого вам не видать. Могут вас подставить и без единого сожаления и колебания, уволить. Менеджеры прикрывают косяки друг друга. Их главная задача, не качественно выполнять работу, а прогибаться под начальство. И, конечно же, подлизаться к клиентам компании, дабы те не пошли жаловаться. Одним словом, работников не считают за людей, так дополнительная рабская сила. Которую в любой момент могут заменить, более удобным вариантом…для них конечно.
>>881248спермасофт, кек
>>881172 (OP)D:auto products = orders.map!products.joiner.array;
>>881269products должна быть функцией, и должна вызываться ко всем элементам списка рекурсивно и возвращать лист, насколько я понял из того кода, так что нет.Руст:fn products(self) -> LinkedList<Products> { orders.iter().flat_map(|o| o.products()).collect()}
На фото бельгийский Гитлер - император Леопольд Второй - в юношестве.
orders >>= products
>>881297Девочка, вроде.
>>881278> рекурсивноНе понял.> так что нетДа как так-то?http://ideone.com/co5ynm
анон, что-то я туплюкак написать функцию, которая заполняет поля структуры через scanf и как лучше эту функцию принимать, через указатель?http://pastebin.com/3ndaKRfHв VS выделяет book в сканфах и пишет expression must have a class type
>C++ >заполняет поля структуры через scanf Я новенький, но мне здесь уже нравится!
>>881210>это лютейшее злоТолько для макак.>избегай егоВон результат этого >>881201Хотя какие-то даунята всё еще считают, что абстракции это только прокси-фабрики бобов.
Посоветуйте книжку, которая научит меня легко и приятно пользоваться C++ в новом проекте без легаси. Чтобы программировать как нормальный человек с лучшими практиками на 2016 год, без троллинга.Писал раньше на C++ в КБ студентом, но в основном это были древние стандарты да и глупый я был.
>>881433Сам таким был. Липмана читай, не делай заданий, потом просмотри Майерса (эфективные кресты и эфективный стл). Далее что-то о проэктировании, я нихуя не читал кроме дядюшки Боба, потому я и вечный джун (хотя и мидлом числюсь).
Полон тред какого-то невообразимого говна.Вас всех надо расстрелять просто, всем лучше от этого будет.Вам самим тоже.
>>881513Sasi
>>881396>Вон результат этого Наоборот, это результат того, что они пытаются лепить "движок" с абстракциями. Чем больше абстракций, тем больше лапши и говна в итоге, потому что все абстракции протекают.
>>881528С точки зрения умственно неполноценного быдла - несомненно.
>>881528>Чем больше абстракций, тем больше лапши и говна в итоге, потому что все абстракции протекают.Ты блин альтернативу предложи, как лучше писать что-то сложнее laba1
>>881532>как лучше писатьотсекая все лишнее, аки окама. тот анон прав, абстракция тянет слишком много ненужного кода.
>>881537Всё лишнее это что? Вот у тебя есть что-то что должно поддерживать кучу форматов, устройств, протоколов и прочее. У тебя будет 100500 интерфейсов по 1000 строк лишь бы это всё заработало. А еще межбиблиотечное взаимодействие и прочее.
>>881537Просто ты тупое и мелкобуквенноеТебе не понять.
>>881538>поддерживать кучу форматов, устройств, протоколов и прочееето все лишнее
>>881538риалстори, сейчас пишу байндинг к одному движку, реализаций таких движков несколько, у каждой своя архитектура и свои ньюансы, писать абстракцию просто невыгодно, заточенный и протестированый код с одного движка за неделю переносится на другой. нет абстракций, код прост, мал и понятен.
>>881542>просто невыгодноА, так ты индус с построчной оплатой.Самое место тебе, впрочем.
>>881543ты долбаеб? твоя абстракция будет больше по размеру, чем две разные реализации.
>>881544Если ты криворукий дебил.Впрочем, ты и есть.
>>881545ты какая-то агрессивная крестоблядь, впрочем ничего удивительного
>>881532>Ты блин альтернативу предложиРефакторинг и переписывание. Изначально делать код, который легко изменять и переписывать большими кусками. Лепить костыли поверх абстракций, которые устарели - это самый плохой вариант.
>>881546>агрессивнаяНо я даже не вышиб тебе все зубы, няша.
>>881547>абстракций, которые устарели Делать устаревающие абстракции - это надо быть реально умственно неполноценным.Люди, вы омерзительны.
>>881551>Делать устаревающие абстракцииНу не все же ясновидящие Ванги, чтобы все точно наперед придумать.
>>881546>агрессивная крестоблядьОн походу вонаби хачкелист, жабамакака ИРЛ.
>>881553>не все же ясновидящиеЭто только твоя вина.Работай над собой, животное.
>>881513зачем кого то расстреливатьвсе нежиснеспособное самоликвидируется в мире постмодерна
>>881433>C++ в новом проекте без легасипишешь из страны розовых пони?
>>881560>зачем кого то расстреливатьИ то правда, вы даже пули не заслуживаете.Утопить в выгребной яме.
>>881553ну дя, абстракции нужно всеравно допиливать. кстати это же типа абстрактный класс и наследование (я выкатился из крестов, кек) и проблемы теже...
>>881566>абстракции>это же типа абстрактный классДегенерат as is.
>>881559>Это только твоя винаПерестанешь лабы писать - поймешь, что мир сложнее, чем тебе кажется.
>>881573>эти проекции галерного гребцаAs expected.
>>881578Этот юношеский максимализм...
>>881582>... Ясно.
>>881583... и черно-белый взгляд на мир.
>>881586Вовсе нет, бывают и совсем не глупые люди.Хотя абсолютное большинство - как ты или даже хуже, это да.
>>881586в россии лучше видеть все пятьюдесятьми оттенками серогочтобы было как руSSкое небо 9ть месяцев в году
у меня насчет бд вопрос возник. можно чисто теоретически представить реляц. бд без связей вообще? просто огромное количество таблиц, просто манипулируем без задней мысли sqlем. получается, связи нужны только для программиста, чтобы он понял что там к чему? или они нужны для каких-то хитровыебанных операций?
>>881608Можно вообще всю бд в одну таблицу запихать, в одну колонку и блобом. Только нахуя?> реляционная> без связейТы можешь не делать явных внешних ключей, но тогда будь уверен, что не выстрелишь себе в ногу. А связи по данным хотя бы ради дедупликации нужны.У нас например вначале было много внешних ключей, но когда архитектура устоялась и код работы с бд перестал трогаться, то ради производительности их отключили.
Есть двумерный масив (вектор векторов).Каждый елемент масива - слово.Каким алгоритмом вывести в файл все возможные комбинакции слов таким образом, что слова из N строчки масива могут идти, только после слов N-1 строчки. То есть1-2-34-506-7Дает комбинации:14061407150615072406 и тд.Без деревьев никак?
#include <iostream>#include <chrono>#include <asio.hpp>void print(const asio::error_code& /*e*/){ std::cout << "Hello, world!" << std::endl; }int main(){ using namespace std::chrono_literals; asio::io_service io; asio::steady_timer t1(io, 2s); t1.async_wait(&print); asio::steady_timer t2(io, 3s); t2.async_wait(&print); io.run();}
#include <cstdio>#include <typeinfo> struct ass { virtual ~ass() { printf("%s with %p\n", __PRETTY_FUNCTION__, this); } virtual void f() { printf("%s with %p\n", __PRETTY_FUNCTION__, this); }}; int main(){ ass ass; void** pvtbl = reinterpret_cast<void***>(&ass)[0]; printf("%p\n", &typeid(ass)); printf("%p\n", pvtbl[-1]);}
>>881695>>881696Мочерок!А подпишись модно, --м :3
Надо запилить в борланде такую штуку, типа в зависимости от номера нажатой кнопки (1-9) будут выводиться значения из определенных ячеек в stringgrid'е. Допустим, нажата 1 - в label выводятся значения 1,2,5,6 ячейки. Нажата 2 - выводятся значения 3,4,7,8 ячейки. Нажата 3 - выводятся значения 5,6,9,10 ячейки и т.д. Как это осуществить вообще?
Анон, объясни, пожалуйста.В чём профит обходить контейнер используя r-value?Я имею ввиду вот такое: for( auto &&e : entities )У меня с move-семантикой пока не лады. Всё никак не могу врубиться у неё. Особенно с perfect-forwarding и прочим таким.
Не пойму один момент из книги С. Прата - Язык С++. Лекции и упражнения. А именно:const free_throws & clone (free_throws & ft.) { free_throws pt; pt = ft; // копирование информации return pt; // возврат ссылки на копию } Первый оператор создает безымянную структуру f ree_throws. Указатель pt указывает на эту структуру, таким образом, pt — это сама структура. Создается впечатление, что приведенный выше код возвращает структуру, однако объявление функции отражает, что она возвращает ссылку на эту структуру. Схуяли так можно делать? Ведь мы объявили, что функция возвращает ССЫЛКУ НА СТРУКТУРУ. Но при этом возвращает просто СТРУКТУРУ...
>>881766>fix
>>881766>>881767Он тут херни понаписал.Во-первых. В объявлении pt не хватает "= new free_throws". Далее по тексту у него написано: "free_throws & jolly = clone(three);", хотя должно быть: "free_throws const & jolly = clone(three);", т.к функция возвращает ссылку на константу. А в следующем абзаце, он перепутал clone() с call().Во-вторых. pt - это указатель. Разыменование (pt) указателя дает нам ссылку на структуру, а не саму структуру, как он написал. Соответственно, с возвратом из функции всё хорошо.
>>881775От сука, это говно что, любые звёздочки жрет!?Там перед pt, в скобках, звезда.
>>881775>Разыменование (pt) указателя дает нам ссылку на структуру, а не саму структуруВот тут не понял. Схуяли?
>>881782Такие правила. http://ideone.com/MXVby0Иначе ты бы не смог изменять херь, на которую указатель ссылается, т.к всегда бы получал копию.
>>881761Погугли, на SO несколько раз обсасывалось.
>>881172 (OP)вот дауныT&& f() { T t; return t; }полностью эквивалентноT f() { T t; return t; }
>>881562Пишу критичный к производительности VST плагин
>>881854>полностью эквивалентноНет, конечно. Первый вариант возвращает ссылку на временный объект.
>>881859>VSTРасшифруй.
>>881784>Такие правила.А где можно узнать эти "правила"? Хотелось бы увидеть этот пункт, где будет написано: "... когда объявляет ссылку на структуру, а возвращаем структуру, то будет возвращаться ссылка, а не объект". А то блядь получается, что читаешь книгу, в ней пишут что нужно возвращать то, что объявлено в прототипе функции. А применяем уличную магию. Почему? Потому что можем себе позволить. Попахивает каким то очень сильным колдунством,а не программированием.
Посоны, есть один бинарь одной корейской дрочильни.В этих файлах хранятся всякие текстуры, картинки, модели и прочее говно. В файлах есть заголовок со всякой инфой, в том числе названия файлов, их оффсеты, размеры и прочее.Так вот, под название там выделено ровно 512 байт, но строки там хранятся как-то ебануто. Не обычная сишная строка с нулём на конце, нет, там нуль после КАЖДОГО БЛЯДСКОГО СИМВОЛА НАХУЙ!Ну вот допустим строка "300" там не "33 30 30 00", а "33 00 30 00 30 00", ну и нулями заполнено в конце свободное место.Собственно вопрос, как эту парашу привести в читаемый вид?
>>881909> А где можно узнать эти "правила"?В стандарте можно: http://eel.is/c++draft/expr.unary.op#1 Но тебе туда рано, наверно.> нужно возвращать то, что объявлено в прототипе функцииНу всё так и есть. У тебя же не возникает вопросов с (int a; int &r = a;). Инициализировали ссылку не ссылкой. Тоже самое с возвратом по ссылке из функции, с тем исключением, что возвращаемый объект должен жить дольше чем тело функции. В нашем случаее мы объект создали на куче, соответственно он живет пока мы выделенную под него память не освободим.
>>881911> нуль после КАЖДОГО БЛЯДСКОГО СИМВОЛА НАХУЙ!>Ну вот допустим строка "300" там не "33 30 30 00", а "33 00 30 00 30 00"Это называется UTF-16 (лень думать это BE или LE)> Собственно вопрос, как эту парашу привести в читаемый вид?Ищи про конвертацию utf16->utf8В стандартной либе есть какие-то codecvt_blah_blah, но их использование геморройно.
>>881911пиздос, ты про не слышал UTF-16?
>>881933Спасибо.>>881934Слышать-то слышал, а вот видеть не приходилось.
>>881935Вот http://utfcpp.sourceforge.net/Говорят, header-only и API выглядит просто.
>>881935>>881936Для хранения utf16 вместо std::vector<unsigned short> (как на сайте), думаю, можно брать std::u16string
>>881932Еще один вопрос, анон. Посмотри на пик, почему <int>, если там job?
>>882018Опечатка. У Праты полно такого.
>>882033Еще такой вопрос, в чем отличие явной специализации от экземпляра шаблона?P.S.: Блядь, ну просто полный пиздос. Я сижу, обложившись бумажными версиями 4го издания (Platinum Edition) и 6го издания. Плюс в электронном виде 5ое издание. А также 4ое, 5ое, 6ое издания в оригинале. Опечаток просто тьма нахуй.
>>881936>>881937Ещё раз спасибо, котоны. То что нужно.
>>882039Специализация, это ты можешь взять шаблон и написать разную реализацию для разных типов.Создание экземляра, это ты просишь компилятор сгенерировать код для конкретного типа.[CODE]// основной шаблонtemplate <typename H> struct P{ H d;};template <>struct P<int> // специализация P для int{ int d; int e;};template struct P<double>; // явно попросили создать экземпляр P для double/ компилятор сгенерирует код по основному шаблону, заменив H на double.template <>struct P<double>{ double d;};/int main(){ P<int> a; // В a есть d и e, т.к для P<int> есть своя реализация. P<char> b; // В b есть только d. P<char> сгенерирован неявно по основному шаблону.}[/CODE]
Джентельмены, касаемо инструментария. Тут такое дело, я учу с++ используя code::blocks. Кто мне подскажет, как изменить цвет комментариев в редакторе Блядь, ну правда, сейчас бы читать светло-серые комменты на черном фоне, охуенно жеА еще, был бы благодарен, если бы мне подсказали еще, как там изменить цвета фона и остального текста
>>882065А еще я долбоеб, забывший про знаки вопроса. Третье предложение текста -- это таки вопрос. Заранее спасибо
>>882065И фон -- таки белый. Что-то я жестко туплю, надо спать идти
Перекатился в джаву, теперь меньше воюю с инструментом и в целом больше доволен программированием. Чего и вам советую.бывший-оп-революционер
>>882109Ябы и не против, но я Классический студент с лабами
Я наверное всех заебал, спрошу еще раз.Пикрелейтед - функция для перемещения матрицы 2х2 в зависимости от кнопки на 90 градусов. И теперь для каждой кнопки нужно прописать следующие значения переменных:кнопка 1: row=0, column=0;кнопка 2: row=1, column=0;кнопка 3: row=2, column=0;кнопка 4: row=0, column=1;кнопка 5: row=1, column=1;кнопка 6: row=2, column=1;кнопка 7: row=0, column=2;кнопка 8: row=1, column=2;кнопка 9: row=2, column=2;Вопрос: как это делается, как не прописывать вызов функции для каждой кнопки, а засунуть все это в цикл или что-то подобное?
>Бьерн Страуструп - Программирование. Принципы и практика использования C++>Стэнли Липпман, Жози Лажойе - Язык программирования C++>Стивен Прата - Язык программирования C++Котаны, посоветуйте с чего лучше начать?С программированием и базовыми конструкциями (if, for, while) знаком. Delphi
>>882158> 2017> программирование мышкой
>>882109Да, если все равно что кодить, и область деятельности в целом безразлична - то кресты один из самых поганых вариантов для работы программистом.
>>882171>Стивен Прата - Язык программирования C++thisP.S.: Правда стоит заметить, что очень много опечаток и перевод чем дальше (в смысле номера издания), тем хуже.>>882158>Пикрелейтед - функция для перемещения матрицы 2х2 в зависимости от кнопки на 90 градусов. уже.Это называется поворот, а не перемещение.
>>882197>Правда стоит заметить, что очень много опечаток и перевод чем дальше (в смысле номера издания), тем хуже.Это вот пиздец конечно. Не первый раз с таким сталкиваюсь в технической литературе. За что только деньги переводчикам платят?..
>>882249> За что только деньги переводчикам платят?..За копипаст в переводчик.
>>882251Пиздец. Они реально перевели "в ореховой скорлупе"?
>>882251>>882254А как надо было?
>>882262одним словом, вкратце, кратко, в двух [нескольких] словах
>>882197> уже.Что уже-то? Что дальше? Теперь у каждой кнопки что ли прописывать?void __fastcall TForm1::Button1Click(TObject Sender){row = 0; column = 0;Func();}void __fastcall TForm1::Button2Click(TObject Sender){row = 1; column = 0;Func();}...void __fastcall TForm1::Button9Click(TObject *Sender){row = 2; column = 2;Func();Как-то же это сокращается?
>>882251Страдаем-то из-за этого мы.>>882254Да нормально же, чего ты начинаешь.Вот уж где фэйл так это атака НА титанов
Кто любит ебать себе мозг и ковыряться в чужом говнокоде — помогите мне с последним заданием на codeforces. Задача: http://codeforces.com/contest/733/problem/FМой код: http://codeforces.com/contest/733/submission/22498991Задача про теорию графов.Прога стопится на одном из дальних тестов по причине превышения лимита времени, хотя остальные тесты проходит с близкой к идеальной скоростью.Все алгоритмы применяемые в коде имеют в наихудшем варианте асимптотику O(logN).Можно заметить что все тесты до 42 имели количество нод 650 (за исключением самых первых), в то время как в 42 тесте их стало 10к. Судя по всему проблему надо искать в этом направлении.
ананасы, подскажите пожалуйста, как изменить цвет кнопки не использую setStyleSheet
>>882659забыл добавить, в qt 5
>>882278> RAD (от англ. rapid application development — быстрая разработка приложений) — концепция создания средств разработки программных продуктов, уделяющая особое внимание быстроте и удобству программирования, созданию технологического процесса, позволяющего программисту максимально быстро создавать компьютерные программы.>Как-то же это сокращается?Что, RAD Studio (или её огрызок) не очень способствует быстрой разработке приложений?
>>882278> C++ Builder (по-русски обычно произносят [си-плюс-плюс билдэр], [си билдэр]) — программный продукт, инструмент быстрой разработки приложений (RAD)> инструмент быстрой разработки приложений> Как-то же это сокращается?> инструмент быстрой разработки приложений
Помогите плиз, что-то нихуя не выходит с realloc ()void formMas(int x, int u, int nX, int nU) { for (int i = 0; i < nX; i++) { u = (int)realloc(u, (nU + 1) sizeof(int)); if (u == NULL) { cout << "ошибка"; return; }; u[nU] = x; ++nU; };}Что не так в процедуре ? Из мейна ее вызываю, formMas(x, u, n, &l); x - указатель на заполненный массив длинной nu - указатель на массив, который надо заполнить. Пока что u=NULL на момент передачиl - длина u,равна 0.
>>882756Быстрофикс void formMas(int x, int u, int nX, int nU) {for (int i = 0; i < nX; i++) {u = (int )realloc(u, ( nU + 1) sizeof(int));if (u == NULL) { cout << "ошибка"; return; };u[ nU] = x;++ nU;};}
>>882757>>882756Сколько вам, даунам, нужно повторять, что форматирование тут пидарасит и что заливать исходник надо в другое место?
Поясните чому такой код дает command terminated:...while(a!=0){t = aa = bb = a - b;}...
Почему статическую переменную в классе нельзя инициализировать внутри этого класса а нужно инициализировать её снаружи?
>>882863что такое command terminated? может ты точку с запятой не поставил?
>>882757Ошибки пиши в cerrПосле for точка с запятой не нужнаНе вставляй код на двачu[nU] = x; что ты хотел сделать этой командой? скопировать массив?
>>882970Нашел источник проблемы. Одна из переменных задавалась как:a = (int) f / kно результат почему то не int
>>883043короче решил сам, но запрос такой: что можно прикрутить к vim, чтобы он помогал отлавливать такие хитрые ошибки?
>>883049Для него даже автокомплита человеческого не запилили, а ты блять требуешь анализ кода на лету, лол.Поставь IDE + плагин vim-mode (в цлионе и культе точно есть такие).
Такой вопрос. Есть одна bool переменная, которая используется в потоке A. Я могу поменять её значение в потоке B. Нужно ли мне использовать примитив синхронизации?
>>882067Какой ты беспомощный. Даже тему в своей псевдо-IDE настроить не можешь.
>>883167Естественно, лол. Иначе будет data race, что есть UB
Помогите первокуру. С клавиатуры вводится последовательность из N действительных чисел. Вывести все неубывющие подпоследовательности элементов идущих подряд.
>>883227В ньюфаг-тред.
>>881730бляяяя )
Можно ли в крестах запилить рекурсивную структуру. Например реализовать суффиксальное дерево на мапах. Каждый ключ одна буква, а значение новые мапы. Если значение пустое, то это последняя буква. Как такое сделать?
>>883266Картинку забыл.
>>883266tagged unionstd::variant, если хочешь быть модным
>>883266Хотя, может я поторопился тебе советовать.
>>883266http://stackoverflow.com/a/21204630
>>883275А без классов?
>>883275Вообще там map с incomplete type, что нельзя.
Сап, помогите с тестом по классам. С меня как всегда.
>>883318Я настолько тупой, что даже пикчи не загрузил.
>>883320>Я ... тупойЭто твои проблемы, никто тебе помогать не будет.
>>883322А как же проверить самого себя, все дела?
>>883329Нормальные фото сделай, это нечитаемое говно, понятны только по 2 вопроса в центре.
>>883329Товарищ семинарист тебя проверит.
>>883320Скучные вопросы. Хоть бы изюминка была какая-то.Например, в десятом убрать public: в Derived
>>883335А, не. Там есть изюминка. Затупил.
>>883320В пятом нет верного ответа.
>>883346B
>>883347Как ты уверенно судишь об undefined behavior. Вдруг вызовет )))
>>883320Шестой тоже странный вопрос. Мне кажется, или он предполагает какое-то значение sizeof(int), но про это явно не написано?
>>883276Хотя у меня и так получилось http://ideone.com/m6ahQxрейт
>>883357Я же написал: >>883279
>>883359Что нельзя? У меня получилось.
>>883359> Что нельзя?map с incomplete type> У меня получилось.UB
>>883351Именно так. Какой ответ там, няша?
>>883361заебал с ub
>>883365Я-то при чём? Так в стандарте написано.
>>883366теперь лучше?
>>883372Нет.
>>883373Что переделать?
>>883375А. Ты поправил там. С указателем должно быть не UB.
>>883375Только оно течёт, наверное. Примени unique_ptr, если руками чистить лень.
>>883377добавил деструкторнормально?
>>883384Только зачем ты после всех закрывающих скобок лепишь точку с запятой? Формально, конечно, ошибки нет. Но.
>>883386привычкаубирать лень
Выручай, анон! Поставил свеженький OpenCL 3.0, пишу первое приложение, на моменте создания queue с помощью clCreateCommandQueueWithProperties выскочила ошибка - "не найден энтри поинт в OpenCL.dll", порыскав по интернетам, обнаружил, что это можно решить положив дллку в папку с проектом, после чего ошибка сменилась на другую - см пикрилейтед. А вот про это дерьмо я уже почти ничего нагуглить не могу. Щито делать?Водные данные: пытаюсь запустить код на видеокарте (amd 8800m, дрова обновил), свойства, запихиваемые в означенную выше функцию - cl_queue_properties props[] = { CL_QUEUE_PROPERTIES, CL_QUEUE_OUT_OF_ORDER_EXEC_MODE_ENABLE | CL_QUEUE_ON_DEVICE , 0 }, винда 64 восьмёрка, дллку, положенную в папку с проектом, брал из sdk/bin/x86_64, кожу в студии 15.
>>883409>свеженький Говнецо ведь.
>>883418В этом вопросе я еще довольно ньюфажен. Думаешь, поставить более раннюю версию? И почему говнецо?
>>883409> amd 8800m> Поставил свеженький OpenCL 3.0ЛОЛ. Ты правда думаешь, что OpenCL можно взять и "поставить" какой хочешь? Твоя карта только OpenCL 1.2 поддерживает.(Я даже не знаю, что 2.0 поддерживает)
>>883427Ближе к ночи я начинаю нести хуйню. Не OpenCL, конечно, а amd app sdk. У самого OpenCL вообще последняя версия 2.2
>>883430Бля, а ведь clCreateCommandQueueWithProperties только с OpenCL 2.0. А какого то хуя на старую clCreateCommandQueue студия ругается deprecated. Перекатываться на старую версию сдк?
Ночное программирование. Передо мной поставили в вузе задачу написать класс, объект которого представляет из себя динамический массив, который сортируется одним из своих методов, а также возможностью быстрого поиска. Если нормально переписать тз, то получается:Необходимо реализовать динамический массив чисел с возмножстью поиска и сортировки. Идея реализации: выделяется небольшой (1) массив, по мере его заполнения выделяются такие же, которые связываются в список.(2) Также должны быть следующие методы(их больше, но эти мне непонятны.)Создать массив заданной начальной длины.(В смысле такой длины должны быть мои массивы в (1)?)Удаление элемента по индексу.(Все остальные элементы надо видимо сдвинуть?)Ну и самое непонятное это (2).Что здесь вообще от меня хотят? О каких списках речь и через что их реализовывать?Я вот описал такой список через структуру следующим образом-------------struct Num_Massive_//один из мини-массивов { Num_Massive_ prest;//ссылка на предыдущий такой массив Num_Massive_ after=Null;//ссылка на следующий double Numb[10];//сами значения }-------------Понимаю, что с некоторыми вопросами могут быть проблемы, но все же надеюсь на помощь.
>>881895Синтезатор.
privberasdfsdaf
Котаны, скиньте launch.json и tasks.json для запуска через VS Code. Не могу никак настроить.
>>883427>Я даже не знаю, что 2.0 поддерживаетИнтелы, АМД вроде тоже.
Сиплюсач, помоги.Начал читать Прата. И на первом же хеллоуворлде студия плюется ошибкой. Пикрелейтед.Кто сталкивался, как пофиксить?
>>883879Поставить Win10
Как проверить, упорядочен ли числовой массив ARRAY[N][N] по строкам по возрастанию? И если упорядочен, то выйти из программы?Чето не робит.bool value;for (i = 0; i < 4; i++) for (j = 0; j < 4; j++) { if (arr[j] < arr[i + 1][j]) value = true; } if (value == true) выйти из программы;
>>883915>>881172 (OP)>Q: Что делают хейтеры?>A: Сосут член вместе со своими мамашами.>>Q: Что делают студенты с лабами?>A: То же, что и хейтеры
хочу вкатиться в nasa/jpl/lanl. что из c\c++ нужно знать и уметь?
>>883929Я слишком тупой для вуза, я типа самообразованец
>>883883Нет. Нафиг мне эти зодны.
>>883945Тогда ставь Gentoo.
>>883970Когда нечего сказать по делу
>>883972Когда есть чего — тоже можно ставить.
>>883937Ты сходен со студентом с лабой до степени смешения.
>>881172 (OP)Сколько времени нужно дрочить кресты, чтобы получить работу?Исходные данные: линуксовый админ, скрипты на питоне/баше, С уровня универовских лаб, БД на уровне 10 запросов, а что внутре - хз.
>>88415810k hours
>>883915
>>883936Для наса надо уметь всё.
>>883915http://pastebin.com/dGmaKqU0
>>883437гугли std::vector, template и qsort
>>881192Зачем вообще нужна толпа программистов на готовый проект? Написал миллион строк и проект готов. Пользуйся. Зачем ещё платить программистам чтобы они его переделывали?
Есть 2 варианта спермокода:[code]int main(int argc, char argv[]){ FILE f = fopen(argv[1], "rb");}[/code][code]int main(int argc, TCHAR argv[]){ FILE f = _wfopen(argv[1], L"rb");}[/code]Первый вариант работает, а второй возвращает нуль и errno 2 (нет такого файла). Но файл-то есть...Что за хуйня?
>>884308Бля, я даун, надо было _tmain, а не main...
>>881192дай попробую угадатьsmart tv платформа?
>>884308> этот спермо-C++...Ящитаю, нужно запретить отписываться в этом треде про спермоC++. С managed C++ сюда ведь никто не лезет?
Аноны, помогите, пожалуйста. Я ниразу не начинал изучать c++(учил питона). Дали задание "найти значение которое будет выведено 11-ым по счету"bool f(int k) { bool flag; int j; flag = true; for(j = 2; j<= k/2; j++) if(k % j == 0) { flag = false; break; } return flag;}int main(){ int n = 999999, i; for(i = 2; i<=n; i++) if(f(i))cout << i << endl; return 0;}
bool f(int k) { bool flag; int j; flag = true; for(j = 2; j<= k/2; j++) if(k % j == 0) { flag = false; break; } return flag;}int main(){ int n = 999999, i; for(i = 2; i<=n; i++) if(f(i))cout << i << endl; return 0;}
Няши, я совсем не понимаю, что не так, и гуголь не помогает. Всё очень просто: у меня есть некий > char letter;и я хочу вводить его через консоль.Но стандартное > cin >> letter;заставляет программу падать. Как это можно победить? Вводить string и конвертировать?
>>884433Макаба съедает звездочки, совсем забыл. Вот скрин. Алсо, cin.get тоже не помогает.
Напишите программу, которая создает файл, состоящий из N строк. В первой строке запишите одну цифру "1", во второй - две цифры "2", и так далее, в строке с номером N - соответствующее число цифр "N", 1 ≤ N ≤ 9. (Автор этого поста был предупрежден.)
>>884443Написал, как платить удобней?
>>884446Битками.
>>884446>как платить удобнейСбербанком, а сколько ты готов заплатить?
>>88445320 рублей заплачу
>>884465>20 рублей Кто больше?
>>88447820 BTC
>>884478Ок, плати.
>Прата>Пришло время рассмотреть последний целочисленный Тип: char.Ну пиздец.
>>884436Нежели никто не знает? Это же вообще основы, я просто понять не могу где косяк.
>>884480Заплатил. Ты знаешь где проверять.
>>884484Что по твоему такок char* и что написано в документации про cin.get. Почему ты думаешь это должно работать? следующий раз сам себе эти вопросы задай
>>884490Ничего нету. 2 раза проверил.
>>884493По привычке проглотил?
>>884494Наверн.
>>884492> Что по твоему такок char*Это переменная для одного символа. И она не работает без указателя. Что ты хотел услышать?> что написано в документации про cin.getТо, что это альтернатива cin <<, которая является методом вывода данных в консоль.И это не приблизило меня к пониманию проблемы.
>>884500> альтернатива cin <<cin >> конечно же. А вообще, мог бы и так ответить.
>>884500> переменная для одного символаА что такое char и чем он от char* отличается?
>>884443>(Автор этого поста был предупрежден.)Найс.
>>884503Никогда не задавался таким вопросом честно говоря. На сколько я помню, он всегда используется с указателем. По крайней мере, у меня ничего без указателя не работало впоследствии.
>>884510Ясно. Учи указатели и читай про си строки.
>>884484>я просто понять не могу где косяк. У тебя в ДНК.>Всё очень просто: у меня есть некий char letter; и я хочу вводить его через консоль.char letter;cin>>letter;или cin.get(ch);илиch=cin.get();
>>884510Ты в курсе, что есть более эффективные методы познания, чем метод тыка вслепую?
>>884512Get не умеет си строку возвращать.
>>884511Я и так знаю, что такое укзатели, спасибо. Это переменные, указывающие ( и использующие) память другой переменной. >>884512> У тебя в ДНК.Ну так этого у каждого. За столько миллионов лет, на земле не осталось ни одного не мутироваашего вида.А вообще, присвоить одну переменную другой я и сам догадался. Разве нет менее костыльно способа?>>884513Есть, да. Я например в инстиуте учусь, только я не виноват что нам нихуя не объясняют а заставляют пилить ебанутые программы на языке, который я никогда не учил. Нет, чтобы всё как у людей - есть array, есть mutable array. Нет блять, хочу какие-то векторы изобретать. Вектор - это же направленный луч! С какого хуя он стал массивом? Я за сегодняшний день столько новго узнал, что ахуеть.
>>884515> Вектор - это же направленный луч! С какого хуя он стал массивом?Страуструп пояснял. Типа у него есть длина и отсчёт с нуля, а array занят сишным массивом.
>>884515>Это переменные, указывающие ( и использующие) память другой переменной. NYET. Это целочисленные переменные, содержащие адрес чего-либо. Или есть ещё адрес + ограничение длины
>>884436>char звёздочка letterТут ты объявляешь УКАЗАТЕЛЬ на ОБЛАСТЬ памяти. И на что он у тебя указывает? На хуй знает что, т.к. ты его ничем не инициализировал.Когда std::cin пытается что-то записать в хуй знает какую область памяти, то всё идёт по пизде.Указатель ОБЯЗАН указывать куда-то, если ты хочешь работать с данными по его адресу.В твоём случае достаточно просто создать переменную на стеке. Т.е. написать char letter. И уже с ней работать.http://cpp.sh/2rbp
>>884436Что за иде? А шрифт?
>>884517Охуительно конечно.>>884521Мда, это я видимо перепутал с &.>>884522> Т.е. написать char letter.Уже пытался, тогда по пизде идет всё остальное.Видимо, просто сделаю 2 переменные, и укажу одной на другую.
>>884524> Что за иде?Xcode же. Я на нем в ObjC пишу, но он поддерживает и C++. Шрифт - San Francisco
>>884526Спасибо
>>884525Судя по ошибке на твоём скриншоте у тебя там std::map, у которого ключ какой-то int, а значение std::string.ВСЮ строку(std::string) сравнить с одним символом(char) нельзя.Давай сюда код. Через ideone или pastebin. И так, чтобы он скомпилился.
int main(){ // предположим, было выведено 4 std::cout << sizeof(int) << std::endl; int *x = new int; // предположим, было выведено 0x60000000 std::cout << x << std::endl; // что выведется тут??? std::cout << x + 3 << std::endl;}
>>8845290x60... + 3*sizeof(int)
>>884529Что угодно, а может даже сегфолт.
>>884530Первый неверный ответ.>>884531Ну типа того. Только надо грамотнее выражаться, грамотнее.
>>884531Я в глаза ебусь и обосрался.
>>884533А я уж понадеялся...
>>884531Арифметика указателей. Тут всё законно.
>>884528http://pastebin.com/dk28Qfx3Вот, только он падает по той же ошибке, как я и описал, из-за char. Все остальное работает как должно.
>>884525Если ты хочешь узнать есть ли подобный символ в строке, то нужно использовать ПОИСК в строке, а не сравнение с символом.В твоём случае:if (useletters.find(letter) != std::string::npos){ std::cout<<"Letter exist"<<std::endl;}
>>884539Мне нужно не только знать, есть ли он в строке, но еще и знает его номер. Но вообще да, вектор здесь не нужен, это можно сделать и со string через find, мне уже сказали.
>>884540>vector<string> usedLetters(27, '0');Тут тебе строка(std::string) не нужна, если ты работаешь с массивом(std::vector) символов.Меняй на vector<char> usedLetters(27, '0');>auto it = std::find(vWord.begin(), vWord.end(), *letter);Тут уже не нужно разыменовывать указатель, т.к. уже он не используется.Меняй на std::find(vWord.begin(), vWord.end(), letter);>auto it = std::find(vWord.begin(), vWord.end(), letter);Тут тебе нужно использовать std::find из algorithm (http://en.cppreference.com/w/cpp/algorithm).Добавь #include <algorithm>Версия, которая компилится без ошибок. Логику работы я не проверял.http://ideone.com/fGvE8N
>>884529http://ideone.com/OHNgpV>>884530
>>884546> ideoneПруф уровня /pr/..Я тоже так могу. Вот, смотри http://ideone.com/ax7CeC пруф того, что локальные переменные инициализируются нулём
А можно на плюсах писать C-style? Есть у такого кодинга собственные фанаты?
>>884547Тогда буду рад цитатке из стандарта крестов, т.к. и правда не понимаю с чего будет выведен не адрес, а не кусок памяти по адресу + 3*sizeof(int).
>>884551>не понимаю с чего будет выведен не адрес, а не кусок памяти по адресуЯ тоже не понимаю. Я нигде этого не утверждал.
>>884547Проверялка, ты сперва пруфани что его ответ неправильный.
>>884554А ты пруфани что не инициализируются нулём.
>>884551>Тогда буду рад цитатке из стандарта крестовНадо дать время другим подумать.
>>884545Большое спасибо, всё работает. Я, правда, так и не понял, почему у меня это не заводилось когда я сам убирал везде указатели.
>>884562http://caxapa.ru/thumbs/468328/misra-c-2004.pdf7.1 И стандарт:http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1124.pdf6.5.6В итоге это UB, если мы пытаемся выполнить операцию, которая за границами массива.Верно?
>>884570Верно.
>>884571Сам обосрался, сам починился. Классика.
Я снова выхожу на связь. В моем гениальном быдлокоде появился один ахуительный просчет. > find(vWord.begin(), vWord.end(), letter);находит только первое значение. То есть если в слове 2 одинаковые буквы, find показывает номер только первой. Это можно как-нибудь обойти? На ум приходит только отрезать начало до номера первой буквы и проверить снова, так до конца.
>>884580find возвращает итератор, указующий на найденную букву. Начинай поиск не с vWord.begin(), а с этого итератора.
>>884583Напиздел, не итератор возвращает.Ок. Начинай с vWord.begin() + то, что вернул find
>>884563Т.к. у тебя был >vector<string> usedLetters(27, '0'); //USED LETTERSА в строке >if(usedLetters == letter){ ...Сравнение std::string с char. Т.е. одной строки с одним символом. Это совсем разные типы.Чтобы сравнить первый символ строки с твоим символом, то получить его можно с помощью оператора []Если расписать строчку со сравнением, то всё встанет на свои места.std::string str = usedLetters;char compare_letter = str[0]; //0 - индекс символа в строке, с которым ты хочешь сравнить.if (compare_letter == letter){ ...Если не расписывать, то итоговая версия выглядела бы так:>if(usedLetters[0] == letter){ ...
>>884585Или не напиздел. Я подумал, что find это string::find
>>884585Ну, то что на пике не работает, хотя может я туплю. > vWord.begin() + то, что вернул find А вот это кажется реальным, сейчас попробую.>>884586> Сравнение std::string с char. Сижу и проигрываю с себя же. Надо было ведь так проебаться. А я,
>>884589Отклеилось.
>>884589Если это std::find, то надо как я написал сначала.
>>884590auto it = begin(vWord);while ((it = find(it, end(vWord), char) != end(vWodr)){blah-blah-blah}
>>884592>while ((it = find(it, end(vWord), char) != end(vWodr))while ((it = find(it, end(vWord), char)) != end(vWodr))скобку забылself-fix
Реквестирую тыжпрограммиста для исправления багов в изишной проге. Заплачу денежку.скайп you.arehome
>>884592> begin(vWord);Может быть vWord.begin()? Иначе ругается.
>>884586Половину квадратных скобок спиздила вакаба. Что поделаешь. Надеюсь суть донёс.>>884580Тут всё просто. Надо начинать поиск с прошлой позиции + 1.http://ideone.com/a68DxG
>>884595http://en.cppreference.com/w/cpp/iterator/begin> Defined in header <iterator>
>>884596> Надеюсь суть донёс.Донёс, и очень даже понятно.> Надо начинать поиск с прошлой позиции + 1.Я так и понял, да.>>884597Всё, понял. Спасибо.
>>884598>Надо начинать поиск с прошлой позиции + 1.Да, точно. Тогда find(it+1, end(vWord), c) и т.д.
Кстати, ещё один вопрос крестухам, на этот раз простой: почему можно писать begin(vWord) (где vWord это std::vector<char> или что-то вроде этого) без "std::"?
>>884604Естественно, подразумевается, что никаких using namespace std или using std::begin нет, иначе это тривиальный вопрос.
>>884606А то тебе сказал что можно?
>>884594бамп!
>>884612Ну сам проверь, лолhttp://ideone.com/h7mCxh
>>884614Зачем бампать, если указал скайп?
>>884604Koenig Lookup
>>884617Какое-то заумное название. Я такого не знаю, я знаю проще.
>>884620Окей, проще - компиль будет искать вызываемую функцию в неймспейсе аргумента. Такой принцип и есть Koenig Lookup
>>884623Я имел в виду Argument-Dependent Lookup. Ну или просто ADL ))
>>884623https://en.wikipedia.org/wiki/Argument-dependent_name_lookup
>>884624>>884625ЛОЛ ХАЙВ МАМ ХАЙП ДВАЧУЮ!!111
>>884624>Argument-dependent name lookup> This behavior is also known as Koenig lookup, as it is often attributed to Andrew Koenig, though he is not its inventor.[2]Оживляю С++ тред спамом.
Из-за ADL можно иногда писать find вместо std::find и accumulate вместо std::accumulate и проч., но, в отличие от std::begin, так не делать крайне нежелательно.
>>884630Точнее, так. Можно писать и иногда это будет работать.
>>884631Я бы добавил, что по этому поводу стоит прочесть Exceptional C++. Вдруг кому-то не похуй
>>884640А что там написано по этому поводу?
>>884643Конкретно в части - Name Lookup, Namespaces, and the Interface PrincipleОписано как вообще работают неймспейсы в крестах.https://www.vanko.me/sites/vitki.net/files/attachments/sutter-exceptional-cpp--47-puzzles_0.pdf
>>884650Не, я конкретно про то, что не стоит полагаться на ADL для всяких find accumulate for_each
>>884650> chm перегнанный в pdfТрудно представить что-то более отвратительное.
>>884651Лол. Я давно читал, так и скажу.Но, уверен, что там было написано что нехуй так делать. Т.к. в итоге можно огрести проблем.Типа http://ideone.com/1WHOic
>>884656Не, у меня другие соображения.
>>884656Типа вот, http://ideone.com/FVbihTЗамени vector на array, например.Кстати, я понял, что std::begin до begin тоже лучше не сокращать, иначе на простых статических массивах выйдет облом.
>>884662Хотя, может с std::begin стоит поступать, как с std::swap? Писать using std::begin; и применять его без std::
>>884665Да, так и есть
>>884662Согласен. Радует, что это достаточно искусственные примеры. Пока в пром. коде нигде подобного не видел.Таки везде либо указан неймспейс, либо using.
>>884667Кстати, до сих пор не понимаю, почему у gnuтых итератор в std::vector-е это не просто поинтер, как для std::array
>>884669Думаю, что из-за того, что std::vector<bool> должен быть ОСОБЕННЫМ. Он bool хранит не как последовательный массив значений.http://ideone.com/jvIzJG
>>884673Так это. Тип итератора в не-bool вектор и так отличается от типа итератора в bool-вектор.
>>884674Ты прав. Тогда у меня идей нет.
>>884676Есть идея что это наследие C++98/03, там, вроде, не было требования хранить данные в векторе непрерывно и не было std::vector::data(), а в C++11 появилось требование. ABI ломать не стали.
Почините определение функций не меняя объявления класса.http://ideone.com/FYAby5
>>884515>Вектор - это же направленный луч!Не луч, а направленный отрезок.Ведь существует модуль вектора>>Я например в инстиуте учусь, только я не виноват что нам нихуя не объясняют а заставляют пилить ебанутые программы на языке, который я никогда не учил. Нет, чтобы всё как у людей - есть array, есть mutable array. Нет блять, хочу какие-то векторы изобретать. Вектор - это же направленный луч!В каком ты институте-то учишься?
>>885163> Не луч, а направленный отрезок.Да, точно.> В каком ты институте-то учишься? http://feri.um.si/
>>885166И тебе в словении не давали матричной алгебры?
>>885169Нет, на математике как таковой щас проходим (и проходили с октября) интегралы и всё, что с ними связано, а на погромировании были темы уровня "как поставить ide", потом совсем основы, ну и сегодня вот указатели.
>>885149Бамп.
Аноны для чего нужна инкапсуляция?Как она применяется на практике? Не Совсем понимаю выгоды сокрытия переменных и функций если доступ к ним осуществляется через всякие интерфейсы.
>>885179Ты не испортишь переменную из вне если у тебя нет интерфейса для её редактирования. И это неотъемлемая часть ооп. Как ты создашь класс без инкапсуляции?
>>885181Точно так же. Только не буду к переменным напрямую обращаться. Да и вообще часто во всяких игровых движках в классе вектора обращение делают к координатам напрямую.
>>885184Как это напрямую? Класс же состоит из этих объектов. Ты просто не сможешь создать класс и не включить в него ни один объект. сможешь, но он будет бесполезен
>>885163>Не луч, а направленный отрезок.>Ведь существует модуль вектораВообще-то вектор - это элемент линейного (векторного) пространства, который можно представить в виде направленного отрезка.>>885179>Аноны для чего нужна инкапсуляция?>Не Совсем понимаю выгоды сокрытия переменных и функций Так в этом же и вся фишка. Чтобы спрятать как можно больше данных от прямого воздействия на них. Оставив лишь возможность взаимодействия только лишь через интерфейс. Плюсы и минусы инкапсуляции?Плюсы:1) Полный контроль над входящими и исходящими данными2) Можно, без боязни сломать все остальное приложение, править реализацию методов компонентов. Так как во всем остальном приложение фигурирует только интерфейс. А вы меняете только реализацию логики.Минусы:1) Если вы нашли ошибку в библиотеке которую используете. То вам будет трудно ее исправить.2) Снижается скорость работы приложение. Ну этот пункт думаю вообще учитывать нет смысла с учетом мощностей которые теперь доступны. И плюсов которые она предоставляет.
>>885181>>>если у тебя нет интерфейса для её редактирования>>885188Вот этого и не понимаю. Испорчу через интерфейсСпорно это всё как-то. Делаю только лабы и не могу понять её плюсов.>>885186Struct например
>>885199>StructТам тоже есть инкапсуляция.
>>885201По умолчанию public
>>885149Помогите кто-нибудь. Нигде же нет примера такого.
Двач,есть у меня комобобкс. В пропертис я в items добавил допустим две строчки. Как мне присвоить индекс к этим строчкам. Типа у первой строки индекс=0 у второй индекс=1?
>>885186Чего? У меня в классе 3 переменные х, игрик, зет. Они публичные, делай с ними что хочешь. Это не класс по-твоему?
>>885199> Вот этого и не понимаю. Испорчу через интерфейс> Спорно это всё как-то. Делаю только лабы и не могу понять её плюсов.Плюсы только если твой код будут другие люди юзать, так удобнее просто обычно - они же вообще не знают что ты там напилил и с инкапсуляцией на ошибки с меньшей вероятностью наткнуться. А так вообще похуй.
>>885213А смысл ими пользоваться без интерфейса?
Есть одна байтоёбская функция с циклом for (size_t i = buf_size; i > 0; i -= 4, buffer += 4) и один даун (я).И вот если на вход прилетает что-нибудь, например с размером 343, т.е. в конце остаётся меньше 4, i улетает в минус но из цикла не выходит.
>>885179Когда работает много людей, пользователи твоего класса должны знать, что если они будут использовать все как надо, то ничего не сломается. А ты, в свою очередь, должен знать, что если ты не будешь трогать интерфейс, то тоже никому ничего не сломаешь. Для этого и нужна инкапсуляция - это защита данных, которые автор класса может менять.
>>885219Ну вот я тоже об этом думал, но удмал вдруг всё сложнее>>885215Динамическое создание объектовМне кажется облегчает разработку
>>885212> Бамп
>>885222А, всё.int i = buf_size; i > -1
>>884281Спасибо конечно, но по сути мне нужно самому реализовать вектор. Сортировку реализовать не проблема, плюс по заданию это не кусорт. Шаблоны мне пока не нужны.
>>885149Бамп. Как изолировать пространства имён членов класса? Подсказали вместо неймспейса использовать полностью публичный класс состоящий только их статических функций, но это костыльно выглядит
>>885179>Аноны для чего нужна инкапсуляция?Чтоб класс было невозможно использовать в многопоточной среде, т.к. неизвестно, какие сайд-эффекты у вызова метода.> Не Совсем понимаю выгоды сокрытия переменных и функций если доступ к ним осуществляется через всякие интерфейсы.Сокрытие переменных нужно тогда, когда есть инварианты класса, которые должны сохраняться.Но всякие дебилы учат, что нельзя иметь класс Point с открытыми полями x, y, z, а нужно присобачить к ним геттеры и сеттеры. Вот это уже не ООП, а ООП головного мозга.Благо, в C++ последнее не очень распространено, тогда как в среде Java-макак...
>>885265Вот как здесь надо только с неймспейсами. Добавил чисто виртуальный деструктор чтобы объект этого класса создать нельзя было.http://ideone.com/PkoAwG
>>882251На 77 странице начинается глава "Мир в ореховой скорлупке", эпиграфом к которой Хокинг выбрал слова Гамлета из Акта 2, Сцены 2."Гамлет: О боже, я бы мог замкнуться в ореховой скорлупе и считать себя царембесконечного пространства, если бы мне не снились дурные сны".В начале главы Хокинг рассуждает о том, что мог иметь в виду Гамлет, упомянув ореховую скорлупу.
>>885277>Хокинг>ГамлетКвинтэссенция долбоебов
>>885277yoттс в "эхопраксии" тоже выбрал эпиграфом к одной из глав
>>885305это модный англопидерский эпиграф
>>885219Лол, ты о чём? Ты уверен что ты сам понимаешь что это и зачем надо?Какая разница govno.x или govno.x(); ???Какая разница govno.setX(123) или govno.x = 123 ???Как это в чём смысл? Чтобы получать или изменять значение, нет? А ещё предположим в этом классе есть всякие методы типа нормалайз и + и ещё дохуя чего. Получается у нас есть охуенный класс вектор, который при этом не инкапсулирует внутренее представление своих данных. Ну и что теперь? А вот если бы был какой-нибудь class Yoba {public;rofl * kakoetoGovno;...}и при этом kakoetoGovno по должно изменяться только внутри класса для каких-то своих хитрых и коварных планов, тот тут инкапсуляция пригодится. А то ты напишешь либу(или просто с кем-то что-то будешь пилить), а васян напрямую обратится к kakoetoGovno и изменит значение там, в результате все остальные методы этого класса которые работали с kakoetoGovno будут работать не так как рассчитано. А потом он тебе напишет что плохо зделали тупо, надо ещё разбираться(=тратить время) как автор че там сдеалал, что ему пришлось полчаса искать ошибку, а не просто без задней мысли использовать. По идее как-то так.
>>885225>Динамическое создание объектов>Мне кажется облегчает разработку Ты понимаешь что ты пишешь? Я не могу динамически создавать объекты класса с открытыми полями?
>>885273Ну я жаву только с libgdx юзал.Там всё как надоhttp://libgdx.badlogicgames.com/nightlies/docs/api/com/badlogic/gdx/math/Vector3.html
>>885284факт в том, что ребята выше жиденько обосрались
>>885149Бамп
>>881172 (OP)Очень хочу найти анона, который будет мне годным наставником по С/С++ и, возможно, Qt в дальнейшем. Чтобы раз в N дней связываться с ним и задавать глупые вопросы, которые трудновато сформулировать для Stackoverflow и гугла. Или когда не хочется палить код. Пока, думаю, нужно это будет нечасто, да и скорость ответов не важна. Ну и вообще, годного анона хорошо бы. Чтобы советовал умные вещи и объяснял, где я на этот раз накосячил. В любом удобном формате - почта, скайп, телега, вк. Если не здесь, то где поискать таких?
Быдлокодил тут на куте и внезапно наткнулся на подобное блядство:#include <QtGui/QApplication>#include <QtSql>#include <QTableView> int main(int argc, char argv[]){ QApplication app(argc, argv);// обьявляем базу QSqlDatabase dbase;// коннектимся dbase = QSqlDatabase::addDatabase("QSQLITE"); dbase.setDatabaseName("baza.db");// гуй для отображения QTableView view;// модель для вью QSqlTableModel model;// каким ХУЕМ модель знает из какой базы брать таблицу 666 и селектить? model.setTable("table666"); model.select(); view.setModel(&model); view.show(); return app.exec();} данный код работает, что и бесит. Ну ок. С запросами подобная срань: QSqlDatabase dbase; dbase = QSqlDatabase::addDatabase("QSQLITE"); dbase.setDatabaseName("baza.db"); QSqlQuery a_query; QString str_insert = "INSERT INTO table666(number, address) VALUES (%1, '%2');"; QString str = str_insert.arg("14").arg("hello world str."); bool b = a_query.exec(str);Чо за нах? То есть я могу написать чудо-класс-сумматор типа:int a = 1;int b = 2;int c = 3;Sumoist fuckit;int sum = fuckit.sumAll();// и будет sum == 6 Как такая белиберда возможна? Я конечно допускаю, что переменная обьявленная ниже может неким магично-научным способом знать о переменной, обьявленной выше. Но как заставить чтобы QSqlQuery, обьявленный в методе класса, "увидел" базу QSqlDatabase, обьявленную как поле класса, инициализированную и подключенную в конструкторе класса.Вот почему не сделать как в нормальном языке, как например, в петоне:import sqlite3con = sqlite3.connect('users.db')cur = con.cursor()cur.execute('CREATE TABLE users (id INTEGER PRIMARY KEY, firstName VARCHAR(100), secondName VARCHAR(30))')con.commit()cur.execute('INSERT INTO users (id, firstName, secondName) VALUES(NULL, "Guido", "van Rossum")')con.commit()print cur.lastrowidcur.execute('SELECT FROM users')print cur.fetchall()con.close()
>>885387>QtХм. Мда.Впрочем, могло быть и хуже.>почтаmudakvkube@mail.ru
>>885393>QSqlQuery a_query;RTFM http://doc.qt.io/qt-4.8/qsqlquery.html#QSqlQuery-2
>>885394>>Qtglobal variables, global variables everywhere :-)
>>885395пиздануццо, а в конструкторе:QSqlTableModel(QObject *parent = 0, QSqlDatabase db = QSqlDatabase());// нихуя не пашет:this->dbModel = new QSqlTableModel(0, this->db);
>>885396это каким уем она глобальна? просто обьявлена в том же scope
>>885399Read The Fucking RTFM уже!> If db is not specified, or is invalid, the application's default database is used.Откуда оно берёт application's database, если не из глобальной переменной где-то в кишках Qt?
>>885399>это каким уем она глобальна?http://doc.qt.io/qt-4.8/qsqldatabase.html#addDatabasehttp://doc.qt.io/qt-5/qsqldatabase.html#addDatabase> QSqlDatabase QSqlDatabase::addDatabase(const QString &type, const QString &connectionName = QLatin1String( defaultConnection ))> If connectionName is not specified, the new connection becomes the default connection for the application, and subsequent calls to database() without the connection name argument will return the default connection.
>>885396Я знаю что параша, но в определенных областях все прочее - еще хуже.
std::vector<unsigned char> myVector;Что компилятору не нравится? Типа некорректно. std::vector<char> myVector;тоже не ок. #include <vector> сделал.А тут что не так? Ошибок не вызывает, но работать тоже не хочет - хуй вместо содержимого переменной.void encrypt(string s1, string s2, string &res){ for (int i = 0; i < s1.length(); i++) { res = (s1.c_str()) ^ (s2.c_str()); }}
>>885410>А тут что не так?Все не так.В первую очередь - в ДНК.
>>885415i в квадратных скобках проебалась движком.
>>885416Жизнь у тебя проебалась, долбоеб.Че за res =, баран.Там как минимум += - хотя тоже кривое говно, конечно.
>>885417> Че за res =, баран.Я вообще не автор, хули ты доебался? Таблеток прими.
>>885415Не в ДНК, а в макабе.http://ideone.com/LWAFQt>>885410
>>885421Нафиг c_str()? Делай reserve() для res.
>>885422В смысле "нафиг"? Потому что не хочет оперировать символами в стиле С++ ксор, а обычными оперирует.>Делай reserve() для res.Зачем, он же автоматически расширяется.
>>885420Нахуй иди, значит.>>885425Анус твой автоматически расширяется, пидорасина.
Вообще хуже говна нет чем строки в крестопараше разве что весь std, хаха
>>885428Эх, сейчас бы писать кроссплатформенный, быстрый и красивый софт на чем-то кроме крестопараши, писать ААА-игрушки на чем-то кроме крестопараши, писать дрова, системные утилиты и сами операционные системы, программировать микруху на чем-то кроме крестопараши.
>>885428Везде, где я видел, строки ебанутые, кроме как в Rust. Они единственные, кого я знаю, понимают, что у строки не должно быть доступа по индексу.
>>885430>>885430>кроссплатформенный, быстрый и красивый софт на чем-то кроме крестопарашиСофта на крестопараше, где сочетались бы все 3 качества, почти не существует.> писать ААА-игрушки на чем-то кроме крестопарашиC#>сами операционные системы, программировать микруху на чем-то кроме крестопараши.Это и так на 99% не на крестопараше делается.
>>885430>кроссплатформенныйСынок, это фантастика. Тебе в джавапидорам.Хотя стоп, даже там не все гладко, хехе.>быстрый и красивыйТебя за такие кукареки лид голову клавиатурой проломит и выбросит на мороз.
>>885434>почти не существует.>почтиТакой большой - а в сказки веришь.Хотя если ты учитываешь твою лаба1.срр - то да.
>>885436Чего рвёшься-то, кресторебёнок? (Автор этого поста был предупрежден.)
>>885422>Делай reserve() для res.Нихуя не поменялось.>>885434Браузеры те же, чем тебе не софт? KDE то же, в прошлом вроде скайп и софт адобы.>>885434>C#Юнити - не ааа. И игр таковых (йобы) на нем нет. А в CryEngine/UE вроде как С++Вообще, у вас тут какое-то буйство сегодня, зайду попозже.
>>885431>у строки не должно быть доступа по индексу. Это называется не осилили UTF8/16Хотя да, задачка интересная - не для дебилов.
>>885437>>885433Угомонись, програмист на пхп.
>>885439Наоборот, любой, кто осилил utf8, понимает, что обращение по индексу это долбоебизм.
>>885438> KDE то жеПЛАЗМА НЕ ПАДАЕТ!!!
>>885443>что обращение по индексу этоСложная задача, ибо подразумевает частичную быструю распаковку.Быдлу не положено, так-то.
Вопрос, скорее, по C, но всё же.Есть, скажем, char массив из 11 элементов:unsigned char data[11] = {75, 101, 110, 110, 101, 100, 121, 22, 11, 7, 171};И структураstruct MyStruct { char n[7]; char d; char m; unsigned short y;};Собственно, можно ли её инициализировать в, эм, одну команду? Ну, то есть, как-то так магически struct MyStruct s(data), чтобы компьютер просто взял и распихал данные из массива по нужным ячейкам нужного размера?Если так нельзя, то хоть можно как-то указать длину массива, а не писать целиком каждый отдельный элемент, вродеstruct MyStruct s = { {data[0], data[1], ...., data[6]}, data[7], data[8], (unsigned short )&data[9]};?Мне как-то это виделось очевидным применением структур для приведения каких-то сериализованных данных в нормальным вид, а тут оказывается, не только не знаю, как это сделать, но и можно ли вообще, так как не гуглится нифига.
>>885447>unsigned char data[11] = {75, 101, 110, 110, 101, 100, 121, 22, 11, 7, 171};unsigned char data[11] = {75, 101, 110, 110, 101, 100, 121, 22, 11, 171, 7};то есть.
>>885447memcpy или placement newв зависимости от
>>885447>приведения каких-то сериализованных данных в нормальным видОбычно это делается сложнее.
>>885450Если сериализация бинарная - то нихуя не сложнее.И вернись уже в пыхыпытред.
>>885449Ты имеешь в виду только для массива memcpy делать? Потому что memcpy(•s, dat, 11); ведь не сработает, адреса элементов не подряд идут.
>>885456>адреса элементов не подряд идут.Ты скозал?
>>885456>адреса элементов не подряд идутНу так и (unsigned short )&data[9] может обломиться на endianness.Весь вопрос получения структуры из массива упирается в то, как этот массив был получен из структуры (и был ли)
>>885447>Собственно, можно ли её инициализировать в, эм, одну команду?Если обмазаться шаблонной магией как тут https://www.youtube.com/watch?v=abdeAew3gmQ , то может и можно.
>>885458>на endianness.Нет такого вообще, потому что нет ничего кроме интела.Смирись, дегенерат СПОшный.
>>885457Я проверил. между char m и unsigned short y (в моём случае, по крайней мере) стабильно один байт пропускается, из-за чего всё сбивается.>>885458>Ну так и (unsigned short )&data[9] может обломиться на endianness.Предположим, тут всё работает и они чудесным образом совпадают.>как этот массив был получен из структуры (и был ли)Неизвестно, байты по сети получены. Это просто заголовок файла определённого формата, где представлена изначальная информация.
>>885461>стабильно один байт пропускаетсяТо есть ты даже посчитать байты не способен, и четное от нечетного не отличаешь.Тебе в пхп-загон.
>>885462Чё ты нервный такой? Я не понимаю, ты что, не согласен с тем, что memcpy(•s, data, data_len) не всегда работает, потому что адрес элемента может не быть адрес_предыдущего + размер_предыдущего, как в массивах?
>>885459Короче, то, чего я хочу, стандартными сишными средствами сделать нельзя, нужно руками всё выставлять, я правильно понимаю?
>>885464>не всегда работаетВсегда работает если все сделать правильно./лекцияГуляй, Вася, свободен.
>>885466>я правильно понимаю? Нет.
>>885468>>885469Блядь, ну так объясните как или ссылку на мануал/туториал/лекцию/главув книге дайте, я ж поэтому и пришёл, что не знаю.
>>885472Впрочем, хуй с вами, сам разобрался.
>>885474Хотя спасибо-таки стоит сказать, пара фраз натолкнула на некоторые мысли и другие поисковые запросы.
>>881172 (OP)перекатывайтесь в SQL.https://www.youtube.com/watch?v=bIWLBM-F-YA
>>885605Да нахуя, Леночка наша. Хотя если ты ридер...
>>885410Бамп вопросу>>885421Тут код, не съеденный макабой.
>>885610>ридерПидер*
>>885312>>Я не могу динамически создавать объекты класса с открытыми полями? Я такого не писал
>>885434>>C#Можешь назвать хоть одну игру на нём?
>>885683рим ворлд
>>885695Хуя се ААА-йоба мыльцо с графином, Габен плачет и смеетсяМимо
Есть здеся Qt-бляди? Как мне вывести список с прокруткой, состоящий из QPushButton и rich текста? Если бы не было кнопок, я бы просто положил в QTextBrowser эти строчки и дело с концом, но у меня в каждой пятой строке кнопка должна быть.
>>885756Qt 5.5.1 если что
Какой-то сишный лошара жалуется на судьбу:http://keinkeinkein.livejournal.com/139068.html?thread=3068476#t3068476 Для начала тебе нужно не распыляться, а выбрать одно из нескольких десятков направлений. Мир не ограничивается системным программированием, тебе не обязательно шагать по моим стопам. Направлений/стеков куча, выбирай сам. Выбери что-то одно, что-то узкое и выучи полностью теорию. Везде можно найти свое место, главное - не бояться, не тупить. Ближе к концу 13-го года я случайно увидел одну вакансию в разделе "Careers" одной компании из США, написал на почту, рассказал о себе. Было 3 интервью с интервалом в неделю. Первое - час просто пообщались по Hangouts на свободные темы. Второе - техническое, прощупывали почву, заодно спрашивали всякую хрень типа всех деталей работы OOM killer и шареной памяти. Третье - уже по файловым системам и ядерным потрохам. Подписал контракт, год отработал на фулл-тайме. Было тяжело, я уставал и примерно весной стал активно принимать таблетки xanax и prozac из аптек. Но это уже оффтопик. За весь 14-й год я поставил цель не потратить ни копейки (жил на сбережения), а весь доход за год складывать в условную копилку. В сумме вышло чуть более семидесяти килобаксов. Проект - не могу много рассказывать, но в общем это была распределенная децентрализованная отказоустойчивая проприетарная ФС под Linux, ядерный модуль и юзерспейсный софт. Я за год еще одну квартиру в городе купил в очень хорошем якобы престижном кирпичном VIP-доме (на последнем этаже, я только на последних покупаю в последнее десятилетие), но в убогом районе (напоминаю, в Воронеже всего 6 районов, и все 6 - белые гетто). Квартал - 4 дома - был вполне приличным, но дальше советские 9-этажки за ним стояли, гетто с люмпенами. Была мысль переехать жить в этот дом, но потом один раз поздно в пол 12-го ночи меня избили там во дворах, не понравилось местной шпане как я в упор на двуногую 30-летнюю агрессивную пьяную свинью-переростка в спортивном костюме посмотрел глаза-в-глаза, у них это атакой/наездом считается. Не ограбили, просто запинали толпой. Потом заявление писал. Короче, вполне реально тебе примерно тем же самым заниматься и перестать зависеть от государства. Но сразу скажу, ты бы даже первое интервью не прошел, тебя бы зачморили из-за английского. Нужно его хорошо знать, так, чтобы менеджер не напрягал свой слух и не замедлял свою речь, подстраиваясь под русского Ваньку. При этом нужно помнить:- На серьезных проектах будешь единственным в команде, кто владеет русским языком. Никто не будет помогать, разжевывать, делать за тебя. Придется читать тонны манов и PDF'ок. Придется постоянно общаться голосом и текстом с теми, кто принципиально не будет переходить на симпл-инглиш из-за тебя.- Многие задачи будут одновременно сложными, скучными и унылыми.- Нельзя распиливать бюджет и тупить, если долго дебажишь race hazard - ставь в известность менеджера. Нужно работать с максимальной отдачей, эффективностью.- Нужен самоконтроль, будешь сам управлять своим временем.Я искренне хочу тебе помочь, но не знаю даже, как тебе вкатиться на рынок. Сразу скажу, избегай всяких бирж, галер и всех сервисов, где тебя покупают за X, а продают за 2X. Работай всегда напрямую на конкретного американца-менеджера конкретного проекта конкретной компании, который тебе платит, считает твою эффективность и метрики. Это самый выгодный вариант. Во всех остальных вариантах (русский тимлид, русский менеджер, аутсорсинговая фирма-прокладка) ты никогда столько в год не заработаешь, это абсолютно тупиковые пути для русского программиста. А как тебе вкатиться - сложно сказать, но попробуй, выучив теорию, найти какой-нибудь open source-проект, связанный с конкретной компанией. Не зацикливайся на системном программировании, у тебя может быть свой путь. Найди любой открытый проект, такой, чтобы какую-то библиотеку/ядро/модуль разрабатывала и курировала американская IT-компания, чтобы проприетарный проект базировался на открытом ядре. Скачай себе этот проект (git clone), изучи его, посмотри фич-реквесты, баги, исправь штук 5 и запили пару фич, а потом пиши на мыло американскому менеджеру проекта, что ты сделал то-то и то-то и хочешь контрактором поработать с испытательным сроком. Тебя возьмут. Готовься к тому, что в первый год твой годовой доход будет низким, но он будет в разы (!) больше годового дохода учителя физики из сельской школы (или кто ты там, забыл). Конец цитаты
>>881172 (OP)Господа, смотрите какая хуйня мне нужна:Есть обьект, у него внутри уникальный айди и данные. Для обьектов нужен пул, в котором элементы расположены последовательно, как в векторе. Элементы вместо удаления помечаются как неактивные.В пуле нужен итератор по активным элементам.И вместе с этим нужна возможность по айди получить стабильный указатель на элемент, который не проебётся, например, при ресайзе пула.Это вообще физически реализуемо?
>>881172 (OP)Аноны, зачем нужен спп если есть петон?
>>885695>рим ворлдИ правда годнота, но дауны и дальше будут отрицать очевидное превосходство C# над CPP
>>885799Это как Андроид и AppleCPP это как Apple дань моде и ненужные понты
std::vector<unsigned char> myVector;Что компилятору не нравится? Типа некорректно.std::vector<char> myVector;тоже не ок.#include <vector> сделал.А тут что не так? Ошибок не вызывает, но работать тоже не хочет - хуй вместо содержимого переменной.http://ideone.com/LWAFQt
>>885836Векторы в одной программе?
>>884529> // что выведется тут???> std::cout << x + 3 << std::endl;0x6000000c, лол.
>>885434Ну по такой логике вм шершавого — кривое говно, ибо написана внезапно на... плюсах.
>>885869А эта ВМ сильно снижает производительность?
>>885277> В начале главы Хокинг рассуждает о том, что мог иметь в виду Гамлет, упомянув ореховую скорлупу.А книга вся про такую концепцию или нет?Или может Хокинг так обыграл выражение in a nutshell и in nutshell?
Пиздец в новом стандарте поехавший рандом. Чтобы вызвать функцию рандома нужно новый объект движка создавать. Его ещё хранить надо не забыть. Как можно рандом одной строчкой сделать?
>>885942int true_rand() { return 0; }Вызывать одной строчкой: true_rand();Вот тебе не-поехавше.
>>885942> Его ещё хранить надо не забыть.Тебе замыкания ("лямбды") для чего завезли?Можешь хоть одной строчкой (длинной) создавать замыкание, создавая и сохраняя генератор+распределение в capture list.
>>885951И каждый раз вызывая лямбду создавать новый генератор? И заново смотреть время?
>>885952При вызове ничего не будет создаваться.
>>885953Пример покажи.
Посоветуйте лит-ры для начального изучения.
>>885955auto gen_index = [prng=std::mt19937(std::random_device{}()),distr=std::uniform_int_distribution<size_t>{0, N-1}]() mutable { return distr(prng); };
>>885447Могу предложить только такое.http://melpon.org/wandbox/permlink/BiaBgRwt2Bw4jRpqhttp://en.cppreference.com/w/c/language/struct_initializationhttps://nickdesaulniers.github.io/blog/2013/07/25/designated-initialization-with-pointers-in-c/
>>885958Хорнак Дж. П. Основы МРТ (1996—1999 г.) http://www.cis.rit.edu/htbooks/mri/inside-r.htm
>>885958Мэнсфилд П. Быстрая магнитно-резонансная томография file:///home/wolfram/downloads/nob0510c.pdf
>>885966> file://homeБля :-)http://www.ufn.ru/ufn05/ufn05_10/Russian/nob0510c.pdf
>>885965Не знаю как реагировать.
>>885959> sizeof(gen_index)> 2508Я его хранить не буду
>>885972Это из-за std::mt19937.Какая тебе разница, где его хранить, отдельно или в замыкании.
>>885972Ну если хочешь рандом похуже, замени на std::minstd_rand
>>885974Я а так уже засрал свой класс. Ещё 2 объекта сделают его ещё уродливее. Проще юзать сишный рандом. Вот зачем все внутренности нужно было нарушу вынимать?
>>885972>>885977В смысле, если хочешь поменьше размером ценой рандома похуже.
>>885979Я хочу одну функцию которая не занимает память пока её не вызвать. Сама идей хранить генератор не годится.
>>885978> Проще юзать сишный рандом.Ни для чего серьёзного он не подходит.> Вот зачем все внутренности нужно было нарушу вынимать?Чтоб контролировать соотношение качество/производительность. И были какие-то гарантии реального рандома (random_device)
>>885980Нет, ну можешь хранить только распределение, а генератор, получать параметром.
Двачик, есть у меня textBox5->Text = Convert::ToString(0,123456)Как мне сделать чтобы пола 4 знака после запятой?
>>885985было*
>>885985char s[8];auto v = 0.123456;std::sprintf( s, "%.4f", v );Например.
>>885985inline std::string to_precise_string(double num, unsigned precision){ std::stringstream stream; stream << std::fixed << std::setprecision(precision) << num; return stream.str();}
>>885842Да, ессно.
>>886007>>886004Мне результат в textbox поместить надо в проекте widows forms
>>886012> widows forms > CLI/C++
ПЕРЕКОТhttps://2ch.hk/pr/res/886043.htmlПЕРЕКОТhttps://2ch.hk/pr/res/886043.htmlПЕРЕКОТhttps://2ch.hk/pr/res/886043.htmlПЕРЕКОТhttps://2ch.hk/pr/res/886043.htmlПЕРЕКОТhttps://2ch.hk/pr/res/886043.htmlПЕРЕКОТhttps://2ch.hk/pr/res/886043.htmlПЕРЕКОТhttps://2ch.hk/pr/res/886043.htmlПЕРЕКОТhttps://2ch.hk/pr/res/886043.htmlПЕРЕКОТhttps://2ch.hk/pr/res/886043.htmlПЕРЕКОТhttps://2ch.hk/pr/res/886043.htmlПЕРЕКОТhttps://2ch.hk/pr/res/886043.htmlПЕРЕКОТhttps://2ch.hk/pr/res/886043.htmlПЕРЕКОТhttps://2ch.hk/pr/res/886043.htmlПЕРЕКОТhttps://2ch.hk/pr/res/886043.htmlПЕРЕКОТhttps://2ch.hk/pr/res/886043.htmlПЕРЕКОТhttps://2ch.hk/pr/res/886043.htmlПЕРЕКОТhttps://2ch.hk/pr/res/886043.htmlПЕРЕКОТhttps://2ch.hk/pr/res/886043.htmlПЕРЕКОТhttps://2ch.hk/pr/res/886043.htmlПЕРЕКОТhttps://2ch.hk/pr/res/886043.htmlПЕРЕКОТhttps://2ch.hk/pr/res/886043.htmlПЕРЕКОТhttps://2ch.hk/pr/res/886043.htmlПЕРЕКОТhttps://2ch.hk/pr/res/886043.htmlПЕРЕКОТhttps://2ch.hk/pr/res/886043.htmlПЕРЕКОТhttps://2ch.hk/pr/res/886043.html
Сап, гайс. Читаю Липпмана. Есть задача: вывести содержимое вектора, используя рекурсивную функцию. Так вот, если использовать этот код http://ideone.com/kawfg3, то все работает. Если заменить параметр функции на итератор, то все летит по пизде и компилятор выдает разные результаты в зависимости от содержимого вектора. Ананас, поясни нюфане, где именно мой косяк спрятан. В условии выхода?
>>883437updПримерно понял, что нужно реализовывать через создание структуры массив из 10 элементов, ссылка на следующий экземпляр.Но как упростить работу с индексом элемента? Можно ли создавать методы для структуры?
>>887417> Можно ли создавать методы для структуры?Можно. Структуры это классы в C++, просто с public доступом к членам по-умолчанию.
>>884200Не пизди. Залазишь на хедхунтер, вбиваешь вакансию быдлокодера С++, и изучаешь стек технологий, в основном это stl/boost/QT, ну и знание основных алгоритмов
Сап. У меня есть очередь, состоящую из объектов класса classA, которую нужно заполнить из файла при инициализации. Я использую динамический массив, но не могу разобраться до конца как это делать, помогите пожалуйста
Что с этим некротредом? Куда делась часть постов?
>>892489Вась, ред уже 2 раза перекатили, сюда пиши https://2ch.hk/pr/res/892147.html
>>892493Модераторы почистили посты мамкоёбов из /b/
>>893131Лучше б шапку сделали, редиски.
>>893131Удалить спам или перекатить нюфагтред в котором было 2к постов — хуй. Зато почистить сгнивший тред — вот вам.>>893148В последнем треде >>892494 запилили шапку, успокойся.
Анон, подскажи годную литературу по make, чем ты пользуешься? пока не знаю как ее подключить, скачал блокнотик и minGW поковырялся в кишках утилита есть, наверно в консоли что-то прописывать нужно, подскажи годной литературы на русском, еще у меня вопрос, я полностью забыл математику, сложновато вкатиться в дискретную, подскажи годноты.
>>885756Проще всего сделать свой виджет из кнопки и label.Потом используй QListWidget::setItemWidgetЕсли нужна привязка к данным, или динамический контент, то только черещ ListView и ItemDelegate.
Бамп годному треду!
>>903866Успокойся, довн.
Для танкистов: тред передаче сюда >>892494 но моча немножко слоу.
>>904554Нелегетимный бамп.
>>887487И на собеседованиях тебе отвечают: мы перезвоним.
>>902314Там 1,5 команды, из которых 1,4 — это вообще баш. Доки же.
ПЕРЕКОТhttps://2ch.hk/pr/res/904165.html ПЕРЕКОТhttps://2ch.hk/pr/res/904165.html ПЕРЕКОТhttps://2ch.hk/pr/res/904165.html
Мама больно тестировала тебе в рот! Ты множественное наследование, я твоя мама тестировала тебе в рот.
Хуй