Recently I've seen an example like the following:
#include <iostream>
class Foo {
public:
int bar;
Foo(int num): bar(num) {};
};
int main(void) {
std::cout << Foo(42).bar << std::endl;
return 0;
}
What does this strange : bar(num)
mean? It somehow seems to initialize the member variable but I've never seen this syntax before. It looks like a function/constructor call but for an int
? Makes no sense for me. Perhaps someone could enlighten me. And, by the way, are there any other esoteric language features like this, you'll never find in an ordinary C++ book?
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…