Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
最近、次のようなことができることに気づきました
void foo(){ } //... std::cout<<foo<<std::endl;
これは、渡された関数に関係なく、「1」を出力する傾向があります。
今、私は興味があります: これは正確に何をしているのですか?
fooは関数ポインタに減衰し、ブール値はデフォルトで数値として出力されるため、値が true のブール値に変換されます (関数ポインタは null ではないため)。これは "1" として出力されます。
foo
これを試して:
std::cout << std::boolalpha << foo << std::endl;