Size: a a a

2021 February 26

AG

Alex Green 𓆏 in supapro.cxx
А если обычный вектор, несортированный?
источник

m

mixa secret in supapro.cxx
Привет, я хочу сделать прототип в .h и описание функции в .cpp , функция юзает template<typename  T> и компилятор хочет чтоб я написал -fpermissive что делать?

Например:
 template <typename T>
   void WriteMem(DWORD dwAddr, size_t size, T value, bool protection = true);

Ошибка: redeclaration of 'template<class T> void Lippets::Computer::WriteMem(DWORD, size_t, T, bool)' may not have default arguments [-fpermissive]
источник

m

mixa secret in supapro.cxx
помогите пж
источник

DP

Denis Paukaev in supapro.cxx
In Dev
Итерация одинакова
Вроде нет
источник

АК

Александр Караев... in supapro.cxx
mixa secret
Привет, я хочу сделать прототип в .h и описание функции в .cpp , функция юзает template<typename  T> и компилятор хочет чтоб я написал -fpermissive что делать?

Например:
 template <typename T>
   void WriteMem(DWORD dwAddr, size_t size, T value, bool protection = true);

Ошибка: redeclaration of 'template<class T> void Lippets::Computer::WriteMem(DWORD, size_t, T, bool)' may not have default arguments [-fpermissive]
убрать в .cpp дефолтный аргумент (он уже есть в хедере).
а потом понять, что шаблоны пишут только в хедерах
источник

AF

Aidar Fattakhov in supapro.cxx
Alex Green 𓆏
А если обычный вектор, несортированный?
ну в обычном векторе нет поиска не за перебор, да
источник

ID

In Dev in supapro.cxx
Александр Караев
для поиска берут хэшмапы, обычная - для сортировки и поиска equal_range
Мне всегда казалось, что для поиска по числовым ключам берут хэшмапы, для строковых и составных ключей лучше подходят именно мапы. Это верно?
источник

SS

Sergey Skvortsov in supapro.cxx
In Dev
Пруф?
Это эмпирические соображения, пруфов не будет
Если не лень, можно сравить итерацию по мапе и вектору примерно в любом сценарии, вектор, скорее всего, будет сильно быстрее
Смысл - в мапе куча индирекций, а вектор все время в кеше
источник

DP

Denis Paukaev in supapro.cxx
Александр Караев
для поиска берут хэшмапы, обычная - для сортировки и поиска equal_range
Обычная для отсутствия инвалидации итераторов ещё
источник

DP

Denis Paukaev in supapro.cxx
Что весьма полезно бывает
источник

АК

Александр Караев... in supapro.cxx
In Dev
Мне всегда казалось, что для поиска по числовым ключам берут хэшмапы, для строковых и составных ключей лучше подходят именно мапы. Это верно?
неверно
источник

m

mixa secret in supapro.cxx
Александр Караев
убрать в .cpp дефолтный аргумент (он уже есть в хедере).
а потом понять, что шаблоны пишут только в хедерах
Теперь ошибки,  error: 'T' does not name a type
источник

АК

Александр Караев... in supapro.cxx
In Dev
Мне всегда казалось, что для поиска по числовым ключам берут хэшмапы, для строковых и составных ключей лучше подходят именно мапы. Это верно?
более того, хеш-мапа как раз для составных будет давать ещё больший профит, т.к. хеш считается один раз и потом O(1) штук сравнений, а обычная мапа даст O(log(N)) сравнений, что в случае длинных строк может быть долго
источник

D

Danya in supapro.cxx
In Dev
Пруф?
Вектор дружелюбен к кешу процессора, мапа нет
источник

DP

Denis Paukaev in supapro.cxx
Итерация по мапе по моему даже без кеша медленнее
источник

o

osm1um in supapro.cxx
mixa secret
Теперь ошибки,  error: 'T' does not name a type
Может код покажешь?
источник

DP

Denis Paukaev in supapro.cxx
Там разве за константу можно следующий элемент найти?
источник

o

osm1um in supapro.cxx
osm1um
Может код покажешь?
template <class T>
источник

SS

Sergey Skvortsov in supapro.cxx
Denis Paukaev
Там разве за константу можно следующий элемент найти?
Амортизированно там будет линия
источник

ID

In Dev in supapro.cxx
Александр Караев
более того, хеш-мапа как раз для составных будет давать ещё больший профит, т.к. хеш считается один раз и потом O(1) штук сравнений, а обычная мапа даст O(log(N)) сравнений, что в случае длинных строк может быть долго
А как же время для расчета хэша? В случае тех же больших строк разве не будет хуже?
источник