Vitaliy ◀️TriΔng3l▶️
Vsevolod
блин, когда же уже clion сможет обновляться без скачивания тарболла через браузер
Vsevolod
бесит, аш трисет
Anonymous
Evgenii
Matwey
Господа. есть std::array<int. 3> x
как его вариадиками развернуть в
stm << std::get<0>(x) << "," << std::get<1>(x) << "," << std::get<2>(x)
Matwey
?
Matwey
или не морочить голову и слушать песенку про комбайн
Matwey
т.е. сделать цикол?
Matwey
у меня std::arrai<T,N> все-равно уже тип шаблонной функции
Matwey
уже и так для каждого N будет отдельный инстанс
Evgenii
Matwey
хм, а ведь и правда. спасибо
Anonymous
Всем привет
Anonymous
Кто-нибудь работал с файлами gdsii?
ed
Подробнее плз
Кирилл
Vsevolod
wtf toolbox?
Кирилл
jetbrains toolbox
Vsevolod
как я вижу, чтобы взять toolbox, нужно взять еще и все ide
Vsevolod
мне это нафиг не нужно
Кирилл
Это не так
Vsevolod
а как? я тыркаю в 'get toolbox' и мне предлагают купить все ide
Кирилл
Vsevolod
да, продрался через дебри нафигации, спасибо
Anonymous
всем привет, какую книгу можно брать для начинающего с++?
Vsevolod
Кирилл поставил через toolbox 2018.EAP, но теперь у меня половина плагинов пишет о несовместимости (3rd party)
Vsevolod
это обходится или нужно ставить другую версию?
Vsevolod
ну, это удобнее, чем через браузер
Berkus
ну да, пожалуй
Alexander "SonnySlave"
http://blog.conan.io/2018/01/30/Cross-building-Boost-Android.html
Igor
Berkus
Berkus
я 1.66 под андроид еще в декабре собрал
Berkus
В С++ слаке прямо сейчас:
cor3ntin [2:50 PM]
@cjdb teaching template metaprogramming in c++ 101 sounds fun. Sadistic but fun !
"you never programmed before ? It's okay, here is what you need to know about overloading a template functions. This one takes a CV qualified pmf."
Vsevolod
бгг, тогда уж лучше сразу хаскиль или идрис
Vsevolod
вам не нужно уметь программировать: все, что нужно, - это школьный курс математики
Vitaliy ◀️TriΔng3l▶️
Vsevolod
теория категорий, лямбда вычисления, законы черча
Nik
Vsevolod
ну а в идрисе - механизм логического вывода, там совсем просто
Vsevolod
как мейкфайл, только ты собираешь sendmail, и вокруг все горит, и ты в аду
Berkus
Anonymous
кому скучно раскритикуйте код по полной. Я запишу по пунктно как мне исправляться. И самое главное, тянет ли это на Junior левел
https://bitbucket.org/LactusLunas/easy2dplatformer/src/3140754e7b4587396341017e825423a07fc461f2?at=master
🦥Alex Fails
Egor
#define вместо const или enum/enum class, отсутствуют include guards в некоторых заголовках (или закрывают не весь файл), какие-то объекты с огромным количеством полей (по несколько штук в файле; если объект сложный — ему отдельный файл с документацией), непонятно зачем нужный объект "Singleton" (вот прям действительно вообще всем нужен доступ ко всем полям этого синглтона?), магические константы в Records (пять — это магическая константа), группировка идёт больше по языковым конструкциям (Func.h), нежели по смыслу (кажется, что игру надо сначала распилить на высокоуровневые кусочки, а потом уже склеивать), какие-то чистые указатели в больших количествах (почему бы не просто поле или unique_ptr на крайний случай).
Самое фатальное на высоком уровне — кажется, отсутствует архитектура, зато присутствуют god object: хреновина, которая занимается всем и сразу.
🦥Alex Fails
https://bitbucket.org/LactusLunas/easy2dplatformer/src/3140754e7b4587396341017e825423a07fc461f2/Constants.h?at=master&fileviewer=file-view-default#Constants.h-71 тут три ошибки. "По ходу" пишется раздельно и отделяется запятыми. А по архитектуре - Егор уже опередил 😂
🦥Alex Fails
и еще я сначала напрягся, почему константы зависят от SFML. Мб надо как-то упорядочить их и избавиться от такой крупной зависимости
Anonymous
там насчет синглтона, мне ж нужно что б куча функций общались между собой путем каких то общих переменных. Глобал делать нельзя (дурной тон вроде как). Вот и пришлось синглтоном
🦥Alex Fails
2. https://bitbucket.org/LactusLunas/easy2dplatformer/src/3140754e7b4587396341017e825423a07fc461f2/DinamicElements.h?at=master&fileviewer=file-view-default правильно назвать DynamicElement. Еще инклуд гварда нету, д.
3. там же строка 20. Life = false выглядит странно. "Жизнь - ложь" 🤷♂️ и в условиях странно будет читать такое: "если жизнь". надо б сделать мб IsAlive.
Igor
🦥Alex Fails
5. https://bitbucket.org/LactusLunas/easy2dplatformer/src/3140754e7b4587396341017e825423a07fc461f2/Entity.h?at=master&fileviewer=file-view-default#Entity.h-15 - может ли быть счет отрицательным?
Ignat
for(b = buttons.begin(); b != buttons.end(); ++b)
{
(*b)->ButtonUpdate();
window->draw((*b)->text);
}
if(insert)
Write();
Ignat
блин, чёт отступы поехали
Igor
если параметры связаны между собой - их можно оборачивать в структуру, и передавать func(Rectangle{10,20,100,100}) вместо func(10,20,100,100)
Ignat
какая жесть, там пробелы и табы смешаны в отступах...
Anonymous
Vitaliy ◀️TriΔng3l▶️
да это как-то опасно имхо
Vitaliy ◀️TriΔng3l▶️
хотя, если уверен на 100%, что будет unsigned, то, конечно, unsigned
Vitaliy ◀️TriΔng3l▶️
while (index --> 0), в общем-то, работать будет с unsigned всегда нормально
Anonymous
мне прост в целом кажется что func() куда красивее будет чем func(.....). И я стремился к такому виду побольше функций привести. Но, это кажется. Я не настаиваю ни в коем случае
Vitaliy ◀️TriΔng3l▶️
а вот for (index = count - 1; index >= 0; --index) неа
🦥Alex Fails
🦥Alex Fails
Vitaliy ◀️TriΔng3l▶️
тут надо != 0
а первый будет 0xffffffff, если количество 0
Anonymous
include guards это защита от многократ включения иль че? Я в терминах ваще не силен
🦥Alex Fails
такое, да, надо передумывать
🦥Alex Fails
🦥Alex Fails
кстати, у нас есть организация для всяких любительских репозиториев: github.com/supapro !
Igor
https://bitbucket.org/LactusLunas/easy2dplatformer/src/3140754e7b4587396341017e825423a07fc461f2/main.cpp?at=master&fileviewer=file-view-default
18 строка: конструировать объекты можно просто через block(parameters)
20-23: объявляй переменные только тогда когда они начинают использоваться, а не за 20 строчек до
49: new зло, используй автоматические переменные или умные указатели
79: *GAME->time это какая-то наркомания, зачем тебе хранить эти числа в виде указателей в GAME?
86: что-то мне подсказывает, что здесь нужен break из внешнего цикла
Anonymous
unique_ptr вот это я вообще не знаю что это. Запишу и в нете почитаю.)
Igor
ну и привести именовку переменныхк какому-то общему знаменателю - то они с большой буквы, то с маленькой, то вообще капсом
🦥Alex Fails
FailsBot
http://en.cppreference.com/w/cpp/memory/unique_ptr
Igor
#бот_живи