Kürzlich habe ich ein Beispiel wie das folgende gesehen:
#include <iostream>
class Foo {
public:
int bar;
Foo(int num): bar(num) {};
};
int main(void) {
std::cout << Foo(42).bar << std::endl;
return 0;
}
Was bedeutet diese seltsame : bar(num)
meinen? Es scheint irgendwie die Mitgliedsvariable zu initialisieren, aber ich habe diese Syntax noch nie gesehen. Es sieht aus wie ein Funktions-/Konstruktoraufruf, aber für eine int
? Das ergibt für mich keinen Sinn. Vielleicht kann mich jemand aufklären. Und, nebenbei bemerkt, gibt es noch andere esoterische Sprachfunktionen wie diese, die man nie in einem normalen C++-Buch findet?