C++ doch nicht so gut?!



  • Shade Of Mine schrieb:

    verwendet das echt niemand??
    ein staticArray hat ne fixe groesse -> also template param
    speed ist also identisch wie int arr[10];

    nein, keiner.
    außer dir vielleicht noch bja.
    und ich hab nicht den blassesten schimmer, warum das so ist.





  • Andere Sprachen nehmen, da C/C++ unsicher!
    Bsp. PHP

    FRAGE: Wie wurde PHP programmiert?
    ANTWORT: In PHP !

    Der Artikel sagt aber etwas wichtiges aus.
    "Jeder der heute HALLO WELT programmieren kann wird auch bereits als Softwareentwickler eingesetzt"

    Das kann ich eigentlich so bestätigen.



  • @Shade Of Mine: PL1 hat dieses Feature schon seit den 60ern... Wenn ich meine Source mit "Testschalter" umwandle, erfolgen ebenfalls Arrayindex-Prüfungen. Mach ich den Schalter aus, dann fehlen die Prüfungen, aber das Programm läuft mit optimaler Geschwindigkeit!

    Kann man mal sehen, wie alt manche Sachen schon sind....

    Aber staticArray's in C++ hab ich bislang auch noch nicht genutzt...



  • Der Artikel ist ziemlich schlecht. Stellt heise nur noch Script Kiddies ein oder die Trolle aus ihren Foren?

    nein, keiner.
    außer dir vielleicht noch bja.

    und kingruedi 🙂



  • Wo kommt StaticArray denn her? Oder ist das so ein "schreibt sich eh jeder selbst"-Konstrukt?

    Ich benutze nur fleißig boost::array, aber dessen at() ist (wie bei std::vector) ja im Release-Build weiterhin langsam. Keine Ahnung, warum operator[] bei den beiden nicht durch assert() gesichert ist - wegen der ODR? 😕 (at() benutze ich dafür aber auch ausreichend.)

    Aber dass C++ als unsicher gilt, wenn es scheinbar schon unter Neulingen trendy ist, gleich nach dem Hello World mit char-Arrays rumzuhantieren, wundert mich eigentlich nicht...



  • StaticArray musst du dir selber schreiben. Kannst du dann aber für jedes Projekt benutzen.



  • Shade Of Mine schrieb:

    vorteil: du kannst die groesse leichter aenern, da du die groesse ja immer ueber arr.size() abfragen kannst (welches inline ist und eine konstante returned - also gratis)

    Ein neues sizeof.

    index ueberwachung hast du in der debug version drinnen:

    Verstehe ich nicht; das kann jedes simple Tool (lint zB) seit ungefähr 10 Jahren. Und versaut dabei nicht den Quelltext.

    edit. Ich muss ein wenig einschränken: lint kann das nicht wirklich, aber genug andere Werkzeuge, von gcc-patches angefangen.



  • Daniel E. schrieb:

    Ein neues sizeof.

    ja, cool gell. das alte sizeof hat hier immer kapituliert:

    template<T>
    int getSize(T const& array)
    {
      return array.size(); 
    }
    

    wie gut ist denn lint?
    und gibts ein lint fuer C++?

    @JFK:
    ich habe nicht behauptet, dass das neu ist.
    ich habe nur gesagt, dass C++ das kann.

    Java kann es nicht und Ada kenne ich nicht gut genung um zu wissen, ob Ada das auch kann.



  • Shade Of Mine schrieb:

    wie gut ist denn lint?

    Kommt auf den lint an :). Mit Arraygrenzen prüfen hat er manchmal Probleme und man muss angesträngt nach neuen Optionen fahnden, die das dann richtig machen. Es gibt gcc-Patches, die machen das besser und schneller. Von unzähligen selbstgeschriebenen Programmen und Techniken, die von jeweils einem Programmierer (dem Erfinder persönlich) eingesetzt werden, abgesehen.

    und gibts ein lint fuer C++?

    Weiß nicht.



  • Shade, wegen Ada: Bei GNAT kann man mit -gnatp alle Runtime-Checks abschalten.


Anmelden zum Antworten