Size: a a a

AI Cups Official

2020 October 15

С

Серега in AI Cups Official
Yevhen Kazmin
Потому что теперь у меня 2 способа сделать одно и то же (создать указатель) и мне это не нравится
В смысле? Какие два способа? Что именно не нравится?
источник

NK

Nikita Kurgin in AI Cups Official
я помню что указатели в C++ это не просто адрес, он хранит тип объекта
источник

NK

Nikita Kurgin in AI Cups Official
ссылки имеют ряд ограничений - нельзя быть неинициализированными
источник

С

Серега in AI Cups Official
Nikita Kurgin
я помню что указатели в C++ это не просто адрес, он хранит тип объекта
Только если они не приведены к void*
источник

YK

Yevhen Kazmin in AI Cups Official
Серега
В смысле? Какие два способа? Что именно не нравится?
Допустим я всегда писал голые указатели, тут говорят "давайте умные использовать", но я уверен в своих голых, зачем мне переходить на умные
источник

VK

Vitaliy Kudasov in AI Cups Official
ud1
Мне в расте не понравилось что можно переменные переопределять
var x = 1;
var x = x + 1;
Растистам это видимо очень нравится, а по мне говнокод. Очень сильно останавливает от дальнейшего изучения
обычно если новая переменная с таким же именем, то еще и тип меняется. конкретно этот пример скорее говнокод, более частое - if let Some(x) = x {...} - снаружи ифа x: Option<T>, внутри просто T
источник

YK

Yevhen Kazmin in AI Cups Official
Тогда каждый косяк плюсов будут такими заплатками фиксить и мне придется кодить уже на другом языке
источник

YK

Yevhen Kazmin in AI Cups Official
ud1
Мне в расте не понравилось что можно переменные переопределять
var x = 1;
var x = x + 1;
Растистам это видимо очень нравится, а по мне говнокод. Очень сильно останавливает от дальнейшего изучения
Кстати да, пока что я видел только юзкейс unwrap без изменения имени
источник

С

Серега in AI Cups Official
Yevhen Kazmin
Допустим я всегда писал голые указатели, тут говорят "давайте умные использовать", но я уверен в своих голых, зачем мне переходить на умные
Ну если ты уверен и ты единственный разработчик своего ПО, то все норм. Но если есть другие разработчики, то они могут быть не уверены в твоих голых указателях
источник

NK

Nikita Kurgin in AI Cups Official
ну вообще надо проделать некую работу в C++ чтобы RAII заработал, присоединить один RAII-объект к другому, как было указано выше vector и shared_ptr, всё довольно очевидно
источник

YK

Yevhen Kazmin in AI Cups Official
Серега
Ну если ты уверен и ты единственный разработчик своего ПО, то все норм. Но если есть другие разработчики, то они могут быть не уверены в твоих голых указателях
Я просто пишу штуки типа RAIC или других соревнований, в настоящей работе все сразу кардинально меняется
источник

С

Серега in AI Cups Official
Yevhen Kazmin
Допустим я всегда писал голые указатели, тут говорят "давайте умные использовать", но я уверен в своих голых, зачем мне переходить на умные
В раике с машинками я как раз использовал голые указатели. Сначала писал на питоне, а в финале решил переписать на плюсы, чтобы больше тиков симулировать. Отправил стратегию в 23:55.
В 00:05 понял, что забыл освободить память в одном месте. Естественно все игры упали по памяти
источник

NK

Nikita Kurgin in AI Cups Official
как же я хочу в этот раз добраться до методов оптимизации..
источник

NK

Nikita Kurgin in AI Cups Official
буду писать супер-просто и супер-надёжно
источник

D

Dmitriy in AI Cups Official
хочу хотяб в топ-50 попасть 😅
источник

D

Dmitriy in AI Cups Official
по поводу shared_ptr и uniq_ptr
очень не плохие примеры в исходниках Halite3
источник

u

ud1 in AI Cups Official
Vitaliy Kudasov
обычно если новая переменная с таким же именем, то еще и тип меняется. конкретно этот пример скорее говнокод, более частое - if let Some(x) = x {...} - снаружи ифа x: Option<T>, внутри просто T
Если открыть псевдокод codeBall, то там как раз было такое переопределение переменной, было забавно потом после переписывания на С++ отлавливать баги. Да и CodeSide тоже такое было
источник

A

Alex in AI Cups Official
ud1
Если открыть псевдокод codeBall, то там как раз было такое переопределение переменной, было забавно потом после переписывания на С++ отлавливать баги. Да и CodeSide тоже такое было
да люто было) какая-та смесь питона и раста
источник

MF

Misha 🦗 Fatuous synt... in AI Cups Official
Серега
В раике с машинками я как раз использовал голые указатели. Сначала писал на питоне, а в финале решил переписать на плюсы, чтобы больше тиков симулировать. Отправил стратегию в 23:55.
В 00:05 понял, что забыл освободить память в одном месте. Естественно все игры упали по памяти
Запускать тестовый прогон перед отправкой неинтересно, да
источник

MF

Misha 🦗 Fatuous synt... in AI Cups Official
Но да, за скорость плюсов приходится платить богатыми возможностями выстрела в ногу (хотя выстрелить можно почти везде)
источник