- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
//
// true - success
// false - value not found for given key
//
bool CATStorage::getValueForKey(const std::string &key, std::string &value) const
{
...
std::string().swap(value);
...
}
guest 03.12.2008 11:30 # 0
"The swap trick" по Мейерсу.
Частный случай своп трика для пустого контейнера.
value = "" не гарантирует ошибку.
говнопостер убейся, это нормальный код.
guest 03.12.2008 11:31 # 0
"не гарантирует ошибку" = не гарантирует освобождение памяти
guest 03.12.2008 16:25 # 0
нормальный, и даже рекомендуемый...
guest 03.12.2008 17:06 # 0
Супер код!
всегда делал так:
template<class T> void clear(T& obj)
{
T temp;
obj.swap(temp);
}
и почему-то не приходило в голову вместо temp использовать временный анонимный объект!
template<class T> void clear2(T& obj)
{
T().swap(obj);
}
спасибо за идею! Этому коду место не здесь, а в учебниках по C++.
guest 03.12.2008 18:14 # 0
Автор видать не в курсе, что clear может не убивать память.
6arPoBblu_nemyx 05.04.2019 18:43 # 0
Какой анскилл )))
guest 03.12.2008 19:31 # 0
К "говнокоду" можно сразу относить всё то что написано для освобождения ресурсов контейнеров STL, людьми, которые не знают такой возможности. А "шедевров" на эту тему встречается тоннами.
6arPoBblu_nemyx 05.04.2019 18:45 # 0
guest8 21.09.2019 15:05 # −999
guest8 21.09.2019 15:10 # −999
guest8 21.09.2019 15:17 # −999
guest8 24.09.2019 14:22 # −999
guest8 24.09.2019 23:19 # −999
guest8 25.09.2019 16:11 # −999
guest8 25.09.2019 22:39 # −999
guest8 26.09.2019 16:51 # −999
guest8 26.09.2019 20:27 # −999
guest 04.12.2008 11:40 # +1
так оптимизить строки - я бы не рекомендовал.
Гамнокод.
Вектора на мегабайты - да. А если в строке хранить тонну и потом так чистить - явно - гамно.