Scott Meyers hat erste Ideen zu seinen Empfehlungen für ein potentielles Effective C++11.

Einige Kandidaten findet man indirekt auch in C++11 programmieren

  • „Prefer auto to Explicit Type Declarations“ — die Vorteile werden in [typeinfer.auto] besonders beschrieben, aber auch an vielen anderen Stellen
  • „Prefer non-member begin/end to member versions“ — Ausführlich in [syntax.for] besprochen
  • „Be Wary of Default Capture Modes in Lambdas Escaping Member Functions“ — Thema in [lambda.args]
  • „Pass std::launch::async if Asynchronicity is Essential“ — wird in [thread.async] erwähnt
  • „Distinguish Rvalue References from Universal References“ — Der Unterschied zwischen & und && wird in [rval.intro] besprochen.
  • „Prefer Lambdas over Binders“ — die Vorteile stehen auch in [func.funcobjs]
  • „Apply std::forward when Passing Universal References“ — ausführlich in [rval.forward] erklärt
  • „Prefer std::array to Built-in Arrays“ — wird in [stl.algorithm] angerissen
  • „Use std::make_shared Whenever Possible“ in [stl.shptr] begründet
  • „Reserve noexcept for Functions with Wide Interfaces“ — auch empfohlen in [std.noexcept]
  • „For Copyable Types, View Move as an Optimization of Copy“ — angerissen in [class.delete]
  • „Prefer enum classes to enums“ — begründet mit Beispielen in [enum.typed]
  • „Prefer nullptr to NULL and 0 — exakt wie in syntax.nullptr beschrieben

Ich freue mich jedoch darauf, wieder eine exzellente Zusammenfassung und Begründung von Scott Meyers in den Händen zu halten!