arisudesu
Один объект - смарт поинтеры.
А смарт поинтеры типа не из new производятся?
Andrei
Лол.
Andrei
Нет конечно.
arisudesu
А из чего же
Andrei
make_shared, make_unique
Andrei
Из нью — небезопасно.
Andrei
Сами кидали выше мейерса или саттера
Andrei
У кого-то из них есть в книге.
Stanislav
make_shared, make_unique
а теперь смотрим как они сделаны
Andrei
И что?
Andrei
Какая разница как.
Andrei
Пушбек вектора тоже сделан
Andrei
Я говорю про то, что в своем коде нет нужды писать nee
Andrei
New*
Andrei
Если это только не редкий случай с отсутствующим дефолтным конструктором например а память уже выделена заранее на стеке и это placement версия new, которая не кидает исклбчений и не требует delete.
Stanislav
ок как без нью сделать когда по сети получаешь пакет вида {int size; char data[size]}
arisudesu
Вектор
arisudesu
Или эррэй
Andrei
Ну во-первых странно что size имеет тип не size_t, но вообще да, просто вектор или стрингу
Andrei
Эррей разумеется не поможет.
Andrei
(если тебе нужен весь пакет сразу, если не весь сразу а можешь обрабатывать частями, то эррей поможет)
Andrei
Как бы там ни было ответ был выше.
Andrei
Странно придумывать заранее плохой протокол.
Andrei
Опять же в духе laba1
Andrei
Встроенные типы, вроде int использовать — порочная практика.
Andrei
Даже Бьярне за это извинялся на коференции комитета.
Stanislav
кровавый энтерпрайз
Andrei
Ни разу ни в энтерпрайзе дело.
Andrei
Нормальные ребята int не пишут в качестве размера.
Stanislav
еще скажи никто не пишет хранение денег во float
Andrei
будешь смеяться, но я как-то такое видел в продакшн коде.
Stanislav
я тоже
Stanislav
и пытался лечить это говно
Andrei
правда это было после того как уволили нахуй всю команду и мне с тимлидом дали разгребать.
arisudesu
int32_t?
Andrei
size_t если это внутри проекта. uint32_t или uint64_t если продразумевается маршаллинг
Andrei
Если еще и канал не очень толстый то пишут varint
arisudesu
Ну с числовыми _t понятно, потому что размеры int/long и т.п в стандарте размыто описаны, с size_t в общемто и так ясно
Andrei
int32_t?
зачем тебе ЗНАК в КОЛИЧЕСТВЕ? пакет размером -2 что ли? D:
Stanislav
помнится в аллодах 2 цены на предметы были в int, меняешь модификатор, ценник становится -, продавец сверху тебе еще денег отсыпает за покупку :D
Andrei
c size_t не очень ясно.
arisudesu
зачем тебе ЗНАК в КОЛИЧЕСТВЕ? пакет размером -2 что ли? D:
Сорян, вырвал из контекста просто, для размера знак и правда не нужен
Andrei
с 32 на 64 бита шлешь — наёбываешься.
Andrei
Лучше всего fixed-length или как я уже сказал varint
Andrei
Угу.
Sergey
Скорее всего пофиксили давно
Sergey
Такое сразу фиксят
Andrei
скорее всего нет.
arisudesu
Такое сразу фиксят
Такое выпускать то не должны
Andrei
это даже не severe
arisudesu
Заходят 0 тестировщиков в бар...
arisudesu
Заходит -1 тестировщик
Andrei
Еслю с юзерского интерфейса не достичь - у инта — это не надо нфиксить.
Andrei
Это никто не найдет.
Stanislav
Скорее всего пофиксили давно
в последнем патче это было же :) фишка в том что модификатор на цену менять можно было только черех hex-editor в дата файлах, может поэтому и не парились
Andrei
Ни альфа, ни бета тест не сможет это обнаружить. А то что там кто-то с артмани поменял — ну и ладно, здесь никто стабильности не гарантирует.
Sergey
Так я подумал это как-то на серверсайд влияет
arisudesu
Текстовые записи нпримеи
arisudesu
Р
Sergey
Какое имеет значение, что нп клиенте
Andrei
стендэлоун 99го года
Andrei
А если это в открытых файлах игры?
Если это в открытых файлах игры, то опять же это на этапе беты или альфы найдут.
Stanislav
я бы не сказал что они открытые, пришлось формат этих данных реверсить )))
Я то думал
Andrei
О, я помню в свое время пееписиывал fastcgi либу на плюсы под винду.
Andrei
С nginx-ом скрещивал
Andrei
Но сейчас уже неактуально, я сам умею писать быструю сеть на уровне nginx-а :D
Andrei
Норм.
Andrei
Это несложно.
Sergey
Не сложнее, чем переустанавливать виндоус?
Andrei
Лолвут?