C++核心準(zhǔn)則?T.141:如果你需要只在一個(gè)地方使用的簡單的函數(shù)對(duì)象,使用無名的lambda表達(dá)式

T.141: Use an unnamed lambda if you need a simple function object in one place only
T.141:如果你需要只在一個(gè)地方使用的簡單的函數(shù)對(duì)象,使用無名的lambda表達(dá)式
Reason(原因)
That makes the code concise and gives better locality than alternatives.
這種做法使代碼更簡潔,比其它方式具有更好的本地性。
Example(示例)
auto earlyUsersEnd = std::remove_if(users.begin(), users.end(),
[](const User &a) { return a.id > 100; });Exception(例外)
Naming a lambda can be useful for clarity even if it is used only once.
為lambda表達(dá)式命名有助于改善明確性,即使是該表達(dá)式只使用一次。
Enforcement(實(shí)施建議)
Look for identical and near identical lambdas (to be replaced with named functions or named lambdas).
檢索完全一致和差不多一致的lambda表達(dá)式(以便替換為命名函數(shù)或命名lamabda表達(dá)式)
原文鏈接
https://github.com/isocpp/CppCoreGuidelines/blob/master/CppCoreGuidelines.md#t141-use-an-unnamed-lambda-if-you-need-a-simple-function-object-in-one-place-only
新書介紹
《實(shí)戰(zhàn)Python設(shè)計(jì)模式》是作者最近出版的新書,拜托多多關(guān)注!

本書利用Python 的標(biāo)準(zhǔn)GUI 工具包tkinter,通過可執(zhí)行的示例對(duì)23 個(gè)設(shè)計(jì)模式逐個(gè)進(jìn)行說明。這樣一方面可以使讀者了解真實(shí)的軟件開發(fā)工作中每個(gè)設(shè)計(jì)模式的運(yùn)用場景和想要解決的問題;另一方面通過對(duì)這些問題的解決過程進(jìn)行說明,讓讀者明白在編寫代碼時(shí)如何判斷使用設(shè)計(jì)模式的利弊,并合理運(yùn)用設(shè)計(jì)模式。
對(duì)設(shè)計(jì)模式感興趣而且希望隨學(xué)隨用的讀者通過本書可以快速跨越從理解到運(yùn)用的門檻;希望學(xué)習(xí)Python GUI 編程的讀者可以將本書中的示例作為設(shè)計(jì)和開發(fā)的參考;使用Python 語言進(jìn)行圖像分析、數(shù)據(jù)處理工作的讀者可以直接以本書中的示例為基礎(chǔ),迅速構(gòu)建自己的系統(tǒng)架構(gòu)。
覺得本文有幫助?請(qǐng)分享給更多人。
關(guān)注微信公眾號(hào)【面向?qū)ο笏伎肌枯p松學(xué)習(xí)每一天!
面向?qū)ο箝_發(fā),面向?qū)ο笏伎迹?/span>
