Size: a a a

2020 July 22

Е

Егор in supapro.cxx
Anatoly Shirokov
а вот недавно менял кусок нашей библиотеки работы с данными. перевел все на deque, поскольку приходили такие объемы, что хип посылал нах.
непрерывной памяти не находилось имеется ввиду?
источник

AS

Anatoly Shirokov in supapro.cxx
Егор
непрерывной памяти не находилось имеется ввиду?
угу
источник

Е

Егор in supapro.cxx
фига
источник

t

tamtakoe in supapro.cxx
Егор
(*pCurrentGroupItems).push_back можно ведь просто -> использовать
Мне стыдно, но я забыл про стрелочный синтаксис и что-то не гуглится. Можно напомнить)
источник

AB

Artöm Bakri Al-Sarmi... in supapro.cxx
Побитый Кирпич
Не требует непрерывный кусок в хипе? Это плюс только в условиях недостатка памяти?
Недостатка большого непрерывного куска
источник

ПК

Побитый Кирпич... in supapro.cxx
Anatoly Shirokov
а вот недавно менял кусок нашей библиотеки работы с данными. перевел все на deque, поскольку приходили такие объемы, что хип посылал нах.
Это всё special case. Требование непрерывности обычно чаще нужно мне кажется
источник

AS

Anatoly Shirokov in supapro.cxx
Побитый Кирпич
Это всё special case. Требование непрерывности обычно чаще нужно мне кажется
вектор требуется только для вызова каких-то api, принимающих указатель на непрерывную память.
источник

M

Mr.Mait in supapro.cxx
tamtakoe
Мне стыдно, но я забыл про стрелочный синтаксис и что-то не гуглится. Можно напомнить)
Если доступ осуществляется через указатель на объект, то -> , если сам объект, то .(точка)
источник

t

tamtakoe in supapro.cxx
Mr.Mait
item возвращает копии, убрать & https://gist.github.com/tamtakoe/860e0f3dc19e4ac268f64ec4b835deec#file-group-by-cpp-L88
избавиться от old cast
Можно подробнее по поводу этого куска:
for (const pair<Key, Value>& pair : item) {
               (*pCurrentGroup)[pair.first] = variantCast(pair.second);
           }
Тут везде доступ к item по ссылке, не вижу, где копируется. Далее мы обращаемся к паре key-value тоже по ссылке и делаем каст, потому что variant<string, double> не кастуется сам в variant<string, double, deque<smth>>. Не понимаю пока в чем там проблема...
источник

VS

Vladimir Suisei in supapro.cxx
Написано, что

Interface             │ Attribute     │ Value              │
├──────────────────────┼───────────────┼────────────────────┤
│openlog(), closelog() │ Thread safety │ MT-Safe            │
├──────────────────────┼───────────────┼────────────────────┤
│syslog(), vsyslog()   │ Thread safety │ MT-Safe env locale │

Я верно понимаю, что могу вызывать closelog() и openlog() во время параллельного исполнения syslog()  и ничего плохого не случится?
источник

M

Mr.Mait in supapro.cxx
tamtakoe
Можно подробнее по поводу этого куска:
for (const pair<Key, Value>& pair : item) {
               (*pCurrentGroup)[pair.first] = variantCast(pair.second);
           }
Тут везде доступ к item по ссылке, не вижу, где копируется. Далее мы обращаемся к паре key-value тоже по ссылке и делаем каст, потому что variant<string, double> не кастуется сам в variant<string, double, deque<smth>>. Не понимаю пока в чем там проблема...
-Wrange-loop-analysis
Предупреждение выдается, когда item возвращает копию. Тут типа скрытое копирование происходит во временный объект
источник

t

tamtakoe in supapro.cxx
Mr.Mait
Если доступ осуществляется через указатель на объект, то -> , если сам объект, то .(точка)
Понял) Как понимаю, в случае с квадратными скобками подобное не прокатит (*pCurrentGroup)["groupField"]
источник

t

tamtakoe in supapro.cxx
Mr.Mait
-Wrange-loop-analysis
Предупреждение выдается, когда item возвращает копию. Тут типа скрытое копирование происходит во временный объект
Хм... Это из-за цикла for? А как этого избежать?
источник

M

Mr.Mait in supapro.cxx
tamtakoe
Хм... Это из-за цикла for? А как этого избежать?
Да не парься, просто это предупреждает, что тут идет скрытое копирование в pair. Если убрать & , то наглядно видишь что тут идет копия
источник

t

tamtakoe in supapro.cxx
Mr.Mait
Да не парься, просто это предупреждает, что тут идет скрытое копирование в pair. Если убрать & , то наглядно видишь что тут идет копия
Типа что по ссылке, что без нее копия всё-равно будет) А я специально амперсанд влепил, когда увидел
Clang-Tidy: The loop variable's type is not a reference type; this creates a copy in each iteration; consider making this a reference
:)
источник

t

tamtakoe in supapro.cxx
Как понимаю, с этим ничего не поделать
источник

AB

Artöm Bakri Al-Sarmi... in supapro.cxx
tamtakoe
Можно подробнее по поводу этого куска:
for (const pair<Key, Value>& pair : item) {
               (*pCurrentGroup)[pair.first] = variantCast(pair.second);
           }
Тут везде доступ к item по ссылке, не вижу, где копируется. Далее мы обращаемся к паре key-value тоже по ссылке и делаем каст, потому что variant<string, double> не кастуется сам в variant<string, double, deque<smth>>. Не понимаю пока в чем там проблема...
const pair<const Key, Value>& pair : item
источник

ПК

Побитый Кирпич... in supapro.cxx
tamtakoe
Можно подробнее по поводу этого куска:
for (const pair<Key, Value>& pair : item) {
               (*pCurrentGroup)[pair.first] = variantCast(pair.second);
           }
Тут везде доступ к item по ссылке, не вижу, где копируется. Далее мы обращаемся к паре key-value тоже по ссылке и делаем каст, потому что variant<string, double> не кастуется сам в variant<string, double, deque<smth>>. Не понимаю пока в чем там проблема...
Потому что надо auto юзать
источник

ПК

Побитый Кирпич... in supapro.cxx
for (const auto& ...)
источник

F

FWorld.deb in supapro.cxx
Как разбить это: /home/john/handshake.cap
на это: ["/home", "/john", "handshake.cap"]
а после, разбить "handshake.cap" на ["handshake", ".cap"]
источник