Cpp'de yazdırma işlevleri [duplicate]

Oct 25 2020

Neden cpp'de bir işlevi her yazdırdığımda, 1. yani

#include <iostream>
using namespace std;
void f1(){
   cout<<"called function f";
}
int f2(){
   cout<<"called f2";
   return 1;
}
int main(){
   cout << f2 <<endl; // prints 1
   cout << f1 <<endl; // still prints 1
}

Sadece neden 1 yazdırdığını merak ediyorum.

Yardımınız için teşekkürler

Yanıtlar

1 MikeCAT Oct 25 2020 at 20:20

Görünüşe göre işlevlerin (işaretleyicilere işlevlere dönüştürülen) boş olmadığına, dönüp dönmediğine trueve 1 olarak yazdırılıp yazdırılmadığına truekarar cout << std::boolalpha;veriyor true. Bu, çıktının eklenmesi ve olarak değiştirildiğini görerek onaylanabilir .

#include <iostream>
using namespace std;
void f1(){
   cout<<"called function f";
}
int f2(){
   cout<<"called f2";
   return 1;
}
int main(){
   cout << std::boolalpha;
   cout << f2 <<endl; // prints true
   cout << f1 <<endl; // also prints true
}