Struct mit Vektor



  • Hi was ist besser?
    diese Variante?

    struct Point {
        double x, y;
    };
    
    vector<Point> points;
    int main()
    {
        Point p = {42, 23};
        points.push_back(p);
        return 0;
    }
    

    oder diese?
    oder sind beide vom Speicheraufwand gleich?

    struct Point {
      double x, y;
      Point(double x, double y) : x(x),y(y) {}
    };
    ...
    v.push_back(Point(42, 23));
    

    geht es auch noch performanter?

    Gruß Matthias A



  • MatthiasA schrieb:

    Hi was ist besser?
    diese Variante?

    struct Point {
        double x, y;
    };
    
    vector<Point> points;
    int main()
    {
        Point p = {42, 23};
        points.push_back(p);
        return 0;
    }
    

    oder diese?
    oder sind beide vom Speicheraufwand gleich?

    struct Point {
      double x, y;
      Point(double x, double y) : x(x),y(y) {}
    };
    ...
    v.push_back(Point(42, 23));
    

    Der Speicherverbrauch im Vector ändert sich nicht, egal ob mit oder ohne Kontruktor.



  • Danke!



  • MatthiasA schrieb:

    geht es auch noch performanter?

    Wie immer sollte es dir in erster linie nicht um Performanz sondern um Wartbarkeit und Verständlichkeit gehen, also um klaren lesbaren Code.


Anmelden zum Antworten