Przeciążenie << dla parametru wskaźnika funkcji

0

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

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;

1 użytkowników online, w tym zalogowanych: 0, gości: 1