Size: a a a

cxx.Дискуссионная

2020 February 14

RM

Roy Mustang in cxx.Дискуссионная
и база получается в UTF-8 кодировке хранит
источник

RM

Roy Mustang in cxx.Дискуссионная
Значит я могу использовать тупо std::string
источник

RM

Roy Mustang in cxx.Дискуссионная
std::vector<std::string> sv_name {"Тест", "Test"}
источник

RM

Roy Mustang in cxx.Дискуссионная
Вот так не катит потому по дефолту в Visual Studio это юникод вроде
источник

RM

Roy Mustang in cxx.Дискуссионная
ASCII
источник

IO

Igor Okhremchuk in cxx.Дискуссионная
Зачем использовать std::string, когда есть более подходящий std::u16string?
источник

RM

Roy Mustang in cxx.Дискуссионная
Igor Okhremchuk
Зачем использовать std::string, когда есть более подходящий std::u16string?
Потому что игра в UTF-8 преобразует строки
источник

RM

Roy Mustang in cxx.Дискуссионная
Каким образом std::hash реализовывает хеши?
источник

RM

Roy Mustang in cxx.Дискуссионная
Он может строки в uint32_t хешировать?
источник

RM

Roy Mustang in cxx.Дискуссионная
или использовать fnv1a хеш?
источник

IO

Igor Okhremchuk in cxx.Дискуссионная
Roy Mustang
Каким образом std::hash реализовывает хеши?
Я xxhash либу юзаю
источник

RM

Roy Mustang in cxx.Дискуссионная
источник

RM

Roy Mustang in cxx.Дискуссионная
Я вот тут смотрю
источник

RM

Roy Mustang in cxx.Дискуссионная
Что лучше выбрать
источник

IO

Igor Okhremchuk in cxx.Дискуссионная
32 бита мало, лучше uint64 юзай
источник

O

Ostrich Corpsе in cxx.Дискуссионная
Вы не можете байты поделить?
источник

RM

Roy Mustang in cxx.Дискуссионная
У меня всего 64 бита
источник

RM

Roy Mustang in cxx.Дискуссионная
32 я уделяю для хеширования имени файла и пути
источник

RM

Roy Mustang in cxx.Дискуссионная
а еще 32 для идентификатора строки в конфиге
источник

RM

Roy Mustang in cxx.Дискуссионная
Так что, нужно сделать проверку коллизии и юзать 32 бита
источник