mem_fun & mem_fun_ref
Aug. 21st, 2009 02:06 pmВ одному std::find_if поплутав, і замість mem_fun використав mem_fun_ref (а у мене контейнер вказівників). В результаті 30 хвилин ловив феєричні глюки, коли результат булевого виразу залежить від наявності гілки else в умовному операторі.
У мене є досвід пошуку таких багів, одразу запідозрив порушення пам'яті. А саме - неініціалізований об'єкт у якого викликається метод що містить той самий умовний вираз. Уявно відкотив стек викликів на 1 і одразу потрапив очима на find_if із mem_fun_ref. І як я таке міг написати? В якому стані?
У мене є досвід пошуку таких багів, одразу запідозрив порушення пам'яті. А саме - неініціалізований об'єкт у якого викликається метод що містить той самий умовний вираз. Уявно відкотив стек викликів на 1 і одразу потрапив очима на find_if із mem_fun_ref. І як я таке міг написати? В якому стані?