std::bind derleme ve çalışma zamanında fazladan yüktür(overhead) ve moderncpp ile artık "never use" kategorisindedir. update gibi bir fonksiyonda yapılan işlemin lambda ile değiştirmek derleyiciye optimizasyon şansı tanıyacaktır, runtime & compile time yükünü azaltacaktır, birden fazla yerde var göz gezdirdiğim kadarıyla, benzer işlemi tüm bindlara uygulamanızı öneririm. debug açısından lambdalar anonim oldukları için compilerın yazdığı closure type isimlendirmesi karmaşıktır(tamamen compilera bağlı), debug edecek olursanız buna dikkat edin(breakpoint vs gibi araçlar boşuna var edilmedi tabii).
//arat
// değiştir
ufak bir simülasyon(optimizasyon flaglerinizi ekleyip farklı sonuçları simüle edebilirsiniz)
https://godbolt.org/z/E78EsTrqz
//arat
C++:
transform(m_map_pkPCChr.begin(), m_map_pkPCChr.end(), back_inserter(v), select2nd<NAME_MAP::value_type>());
// değiştir
C++:
transform(m_map_pkPCChr.begin(), m_map_pkPCChr.end(), back_inserter(v), [](const auto& pair) { return pair.second; });
ufak bir simülasyon(optimizasyon flaglerinizi ekleyip farklı sonuçları simüle edebilirsiniz)
https://godbolt.org/z/E78EsTrqz