Size: a a a

IT KPI C/C++ ХВ (не UB)

2020 July 17

A

András in IT KPI C/C++ ХВ (не UB)
András
Я б сказав, що не можна, а треба
Та й cop.reserve(str.size()) варто зробити
@gazinaft
Ну або краще взагалі так
cop = str;
std::reverse(cop.begin(), cop.end());
return cop == str;
источник

YS

Yevhen Salatskiy in IT KPI C/C++ ХВ (не UB)
И в return можно без скобок
источник

YS

Yevhen Salatskiy in IT KPI C/C++ ХВ (не UB)
András
Ну або краще взагалі так
cop = str;
std::reverse(cop.begin(), cop.end());
return cop == str;
std::string cop;
std::copy(str.rbegin(), str.rend(), cop);
return cop == str;
источник

A

András in IT KPI C/C++ ХВ (не UB)
András
Ну або краще взагалі так
cop = str;
std::reverse(cop.begin(), cop.end());
return cop == str;
або так
bool is_palindrome(const std::string& s)
{
   return std::equal(s.begin(), s.begin() + s.size()/2, s.rbegin());
}
источник

V

Vsevolod in IT KPI C/C++ ХВ (не UB)
главное без второй переменной, пожалуйста)
источник

YS

Yevhen Salatskiy in IT KPI C/C++ ХВ (не UB)
Битва разумов
источник

V

Vsevolod in IT KPI C/C++ ХВ (не UB)
Yevhen Salatskiy
std::string cop;
std::copy(str.rbegin(), str.rend(), cop);
return cop == str;
у меня от этого примерно такое ощущение:
источник

V

Vsevolod in IT KPI C/C++ ХВ (не UB)
источник

A

András in IT KPI C/C++ ХВ (не UB)
Yevhen Salatskiy
std::string cop;
std::copy(str.rbegin(), str.rend(), cop);
return cop == str;
навіщо викликати copy, якщо можна просто в конструкторі передати ітератори?
источник

A

András in IT KPI C/C++ ХВ (не UB)
Yevhen Salatskiy
Битва разумов
я хз як мій останній код написати ще оптимальніше
источник

YS

Yevhen Salatskiy in IT KPI C/C++ ХВ (не UB)
András
навіщо викликати copy, якщо можна просто в конструкторі передати ітератори?
Справедливо
источник

V

Vsevolod in IT KPI C/C++ ХВ (не UB)
András
я хз як мій останній код написати ще оптимальніше
простым циклом внезапно эффективнее в 40 раз
источник

RN

Ruslan Neshta in IT KPI C/C++ ХВ (не UB)
Vsevolod
простым циклом внезапно эффективнее в 40 раз
без оптимизаций меряешь?
источник

A

András in IT KPI C/C++ ХВ (не UB)
Ruslan Neshta
без оптимизаций меряешь?
ну, по кількості згенерованого асм коду, цикл виграє в 6 раз. Час я зараз заміряю
источник

A

Arjaz in IT KPI C/C++ ХВ (не UB)
Количество сгенерированного кода мало о чём говорит, на самом деле
источник

A

Arjaz in IT KPI C/C++ ХВ (не UB)
Напиши цикл, который суммирует по массиву, а потом сравни -O0 и -O3
источник

V

Vsevolod in IT KPI C/C++ ХВ (не UB)
Ruslan Neshta
без оптимизаций меряешь?
с)
но это в случае, если передавать туда не стрингу, а просто "..."
если стрингу, то equal хуже всего где-то в 1.1 раз
источник

A

Arjaz in IT KPI C/C++ ХВ (не UB)
(спойлер: в -O3 намного больше кода)
источник

A

András in IT KPI C/C++ ХВ (не UB)
András
ну, по кількості згенерованого асм коду, цикл виграє в 6 раз. Час я зараз заміряю
беру свої слова назад
При -О3 воно відрізняється аж на 1 рядок
источник

V

Vsevolod in IT KPI C/C++ ХВ (не UB)
прикольно, или у меня уже комп с ума сошел, или шланг в 2 раза медленнее gcc
источник