• optional@feddit.org
    link
    fedilink
    arrow-up
    3
    ·
    edit-2
    17 hours ago

    Habe ich vorhin ausprobiert und nicht hinbekommen. Also nicht ohne dass zwischen den Operatoren zumindest noch rvalues stehen. Aber wie gesagt ich habe auch lange kein C++ mehr gemacht, vielleicht geht’s doch irgendwie. Codebeispiele werden gerne genommen.

    a<b/c>d ist jedenfalls schonmal möglich:

    #include <iostream>
    
    struct A {
        A operator<(A) {
            std::cout << " to be ";
            return *this;
        }
        A operator/(A) {
            std::cout << "It's ok";                                                                                                                                           
            return *this;
        }
        A operator>(A) {
            std::cout << "gay";
            return *this;
        }
    };
    
    int main() {
        A a,b,c,d;
        a<b/c>d;
    }