C++ konform bleiben und memset-analogon?



  • WeißBier schrieb:

    ist das eine meinung die aus erfahrung spricht (Beispiel)?

    neulich http://www.c-plusplus.net/forum/viewtopic-var-p-is-1696844.html#1696844



  • Dravere schrieb:

    PS: Als Moderator sollte man doch eigentlich höflicher sein, nicht?

    stimmt, hab ich doch glatt vergessen.
    ich nehme alles zurück und schließe mich pumuckl an.


  • Administrator

    volkard schrieb:

    Dravere schrieb:

    PS: Als Moderator sollte man doch eigentlich höflicher sein, nicht?

    stimmt, hab ich doch glatt vergessen.

    Irgendwie glaub ich dir das nicht ... 🤡

    volkard schrieb:

    ich nehme alles zurück und schließe mich pumuckl an.

    Ja, pumuckl hat es sehr gut zusammengefasst. Ich hätte allerdings noch ein paar zusätzliche Warnungen eingebaut. Vor allem, dass ein Neuling nicht zu schnell denken soll, dass er wüsste, was er tut 😉

    Grüssli



  • Es ist einfach nur wichtig zu wissen, was man tut, warum man es tut, warum man es mit C-Mitteln macht

    genau damit hab ich ein problem, ich weiß eben als neuling nie ob es jetzt besser ist dies so oder so zu machen. Soll das jetzt heißen - codest du in C++ machs in C++ es sei denn du weißt was du tust wenn du es in C machen willst?



  • WeißBier schrieb:

    Es ist einfach nur wichtig zu wissen, was man tut, warum man es tut, warum man es mit C-Mitteln macht

    genau damit hab ich ein problem, ich weiß eben als neuling nie ob es jetzt besser ist dies so oder so zu machen. Soll das jetzt heißen - codest du in C++ machs in C++ es sei denn du weißt was du tust wenn du es in C machen willst?

    Schau dir verschiedene Möglichkeiten an und Probiere etwas damit rum, schau dir vor allem die Nachteile an.

    Ich geb dir ein Beispiel.

    Ich bin selbst ein Nutezr von C Sprachelementen ich nutze für meien Dateioperationen fast nur C Sprachmittel, also FILE. Das ist das gegenstück zu fstreams, es hat den Vorteil das ich die Bedienung sehr viel komfotabler und einfacherer Finde, hat aber auch den Nachteil das es nicht so sicher ist wie fstreams. Über solche Sachen soltle man sich dann aber im klaren sein das man eben etwas mehr aufpassen muß.

    Im übrigen bin ich volkhards Meinung was ide verwendung angeht. Bei obengenannten Beispiel bastel ich gerade an eienr C++ reinen lösung und die ist schon komplizierter als die C Variante.



  • WeißBier schrieb:

    Soll das jetzt heißen - codest du in C++ machs in C++ es sei denn du weißt was du tust wenn du es in C machen willst?

    So könnte man es formulieren. Wenn du wirklich C++ programmieren willst, dann schau dir zuerst an, ob du ein entsprechendes Mittel in C++ findest. Erst wenn du die Mittel kennst und merkst, in C würde eine bestimmte Sache besser gehen, solltest du dich danach umschauen.

    Und der Grund dafür ist nicht - wie gewisse Leute hier den Eindruck machen - weil es in Foren nicht angesehen ist, C mit C++ zu mischen. Es gibt wirklich sehr vieles, das in C++ eleganter geht. Nur schon durch Templates, objektorientierte Programmierung und die dadurch entstehende Abstraktion vom Low-Level-C-Gefrickel hat man viel mehr Möglichkeiten. Von den darauf aufbauenden Konzepten ganz zu schweigen.

    Xebov schrieb:

    Im übrigen bin ich volkhards Meinung was ide verwendung angeht. Bei obengenannten Beispiel bastel ich gerade an eienr C++ reinen lösung und die ist schon komplizierter als die C Variante.

    Dass sie für dich komplizierter ist, hängt wahrscheinlich auch damit zusammen, dass du dich bisher mehr mit den C-Varianten auskennst und vielleicht noch nicht genau weisst, wie so etwas in C++ sauber gelöst wird. Auch wenn du mit FILE* beginnst, werden dir die Streams am Anfang schwer fallen. Das ist immer so.

    Von daher empfehle ich, sich für eine Sprache zu entscheiden. Falls diese C++ ist, sollte man versuchen, besonders als Anfänger sauberes C++ zu programmieren, damit man sich nicht bereits von Anfang an einen schlechten Stil angewöhnt und sich nachher umgewöhnen muss. Man hat später noch genügend Gelegenheit, sich auch mit den Eigenschaften von C auseinanderzusetzen. Denn die Fälle, in denen man in C++ auf C zurückgreift, sind für Anfänger meistens irrelevant. Oft geht es darum, für gewisse Optimierungen oder aus Kompatibilitätsgründen Low-Level-Konstrukte anzuwenden. Darum braucht sich ein Einsteiger noch nicht zu kümmern.



  • @Nexus:
    Zusammengefasst kann man wohl sagen: man kann zwei Möglichkeiten erst vergleichen, wenn man beide ausreichend gut kennt 🙂



  • Nexus schrieb:

    Dass sie für dich komplizierter ist, hängt wahrscheinlich auch damit zusammen, dass du dich bisher mehr mit den C-Varianten auskennst und vielleicht noch nicht genau weisst, wie so etwas in C++ sauber gelöst wird. Auch wenn du mit FILE* beginnst, werden dir die Streams am Anfang schwer fallen. Das ist immer so.

    Ja das ist gut möglich, sie sind vor allem Restriktiver was die übergabe von Zeiegrn angeht (char* statt void*) und wenn ich in|out machen will und die Datei nicht existiert wird mir nicht automatisch eine erstellt, alles recht sicher aber wenn man weis was man will nicht gerade angenehm.



  • hustbaer schrieb:

    @Nexus:
    Zusammengefasst kann man wohl sagen: man kann zwei Möglichkeiten erst vergleichen, wenn man beide ausreichend gut kennt 🙂

    Und man kann erst beides ausreichend kennen, wenn man beides gleichwertig gelernt hat. Von daher bin ich der Meinung das man immer zuerst mit einer Sprache (in diesem Fall ENTWEDER C oder C++) beginnen sollte, und sich anschließend bei Bedarf auch mit der anderen Auseinander setzt.



  • hustbaer und asc, ihr habt es wieder mal gut auf den Punkt gebracht. 🙂



  • ich verstehe eure Argumentation....allerdings würde ich mich persönlich immer fragen....ich bin doch noch Anfänger....ich darf noch nicht C in C++ unetrsuchen - und asc und Nexus haben gesagt es geht immer mit C++.

    Und leider gesagt fehlt mir die Zeit mich erst intensiv damit zu beschäftigen ob es denn nun in C++ besser/schneller/schöner/oder sonstwie geht als mit C.

    Unter Zeitdruck nimmt man doch immer das her von dem man überzeugt bzw. mit dem man bewandert ist....ich weiß ja bis heute nicht wie ich meine Programmierkünste einstufen kann/darf...mit so etwas tut man sich glaube ich sehr sehr schwer.



  • Weißbier schrieb:

    und asc und Nexus haben gesagt es geht immer mit C++.

    Nicht immer, aber in sehr vielen Fällen. 🙂

    Weißbier schrieb:

    Und leider gesagt fehlt mir die Zeit mich erst intensiv damit zu beschäftigen ob es denn nun in C++ besser/schneller/schöner/oder sonstwie geht als mit C.

    Also wie sieht es denn bei dir genau aus? Du kennst gewisse Dinge von C und weisst nicht, ob es sich lohnt, sich mit denen aus C++ auseinander zu setzen (u.a. wegen Zeitdruck)? Denn wenn du von Anfang an C++ lernen würdest, stellte sich diese Frage gar nicht...


Anmelden zum Antworten