Lambda in statischem Array
-
void f(std::string const&); f("Aber du hast doch sicher schon hundert mal sowas hier gesehen?");Sowas nicht sofort zu sehen bedeutet nicht dass man kein Basiswissen hat. Ich kenne auch nicht viele C++ Programmierer persönlich von denen ich annehme dass sie aus der Zeile überhaupt irgendwann schlau geworden wären. Und ich kenne ein paar zig C++ Programmierer die mit C++ ihr Brot verdienen.
Hier gibt es aber einen Widerspruch. knivil ist viel erfahrener und schlauer als ich. Hätte er gewusst, dass das so möglich wäre, aber nicht geahnt, dass
functioneinen solchen Konstruktor hat, dann wäre das sehr merkwürdig. Daher musste ich darauf tippen, dass er das "Feature" nicht kennt. Und das war überraschend.
-
Sone...
Als "fortgeschrittener Anfänger" der gerade alle Features von irgendwas "frisch" gelernt hat, verfällt man leicht in den Glauben, dass jeder alte Hase alles im Schlaf können/wissen muss was man selbst kann/weiss. Ganz speziell wenn man diese Irgendwas nicht als Mittel zum Zweck sieht, sondern sich aus Neugier und Spass an der Sache in alle Details vertieft.
Dieser Glaube entspricht aber nicht der Realität. Zumindest nicht bei nicht-trivialen Dingen wie Programmieren.Und ganz speziell bei C++11 Features wirst du viele alte Hasen finden die nix oder nicht viel davon wissen. Ich hab' mir z.B.
std::functionauch nie wirklich angesehen. Ich kenne und verwende seit langemboost::function, und hab' mich einfach mit Aussage zufriedengegeben dassstd::functionim Prinzip das selbe wieboost::functionist. Verwendet hab' ichstd::functionselbst auch noch nie. Unsere Projekte sind allesamt ziemlich gross, und es wurde noch keines auf nen C++11-fähigen Compiler umgestellt. Wäre einiges an Arbeit. Und alle Verwendungen vonboost::functiondurchstd::functionwäre dann nochmal extra Aufwand. Den halt keiner zahlt.