Witam!
Czy istnieje możliwość takiego przeciążenia operator<< by jako argument przyjmował wskaźnik do funkcji ?? Jeśli tak to jak coś takiego zrealizować ?
Pozdrawiam :D
0
4
Brzmi wybitnie przerażająco, ale możesz. Nie ma, z tego co wiem, ograniczeń na to, jaki jest drugi argument dla operator<<
, więc i wskaźnik na funkcję się nada.
A jak zrealizować — deklarujesz i piszesz, nie bardzo wiem, o co konkretnie pytasz…
5
std::ostream& operator<<(std::ostream& os, int(*func)(int, int))
{
return os << func(42, 42);
}
int main()
{
auto add = +[](int a, int b){ return a+b; };
auto mult = +[](int a, int b){ return a*b; };
cout << add << '\n' << mult << '\n';
}
https://wandbox.org/permlink/Y4z8se1BMnHElfqc
Tylko po co?
3
Jest w standardzie:
ostream &tab(ostream &s) { return s<<'\t'; }
cout<<'<'<<tab<<'>'<<endl;