C Code in C++



  • Hallo!
    Kann ich C Funktionen (nach einbindung der Headerdateien) auch ohne "Leistungsverlust" in C++ verwenden?

    mfg jakob buchgraber



  • Hallo,

    cout schrieb:

    Hallo!
    Kann ich C Funktionen (nach einbindung der Headerdateien) auch ohne "Leistungsverlust" in C++ verwenden?

    mfg jakob buchgraber

    wodurch sollte denn ein Leistungsverlust entstehen?

    mfg
    v R



  • Du meinst also ich kann alles was ich in c verwende auch in c++ verwenden?



  • cout schrieb:

    Du meinst also ich kann alles was ich in c verwende auch in c++ verwenden?

    Eigentlich sollte das keine Probleme bereiten. Ein gueltiges C-Programm ist auch
    ein gueltiges C++-Programm, nur umgekehrt gilt das natuerlich nicht.

    mfg
    v R



  • So rum gilt das natürlich auch nicht 100%ig, aber

    Stroustrup schrieb:

    Gute C-Programme tendieren dazu, auch C++-Programme zu sein.



  • Welche Schweinereien kann man eigentlich in C anstellen, die in C++ nicht funktioniern?



  • Hi!

    Keine, C(89) ist nämlich eine Untermenge von C++. In C++ sind nur einige Sachen deprecated, allerdings noch durchaus verwendbar. Dadurch soll die Abwärtskompatibilität erhalten bleiben.

    Code-Hacker



  • Code-Hacker schrieb:

    Keine, C(89) ist nämlich eine Untermenge von C++. In C++ sind nur einige Sachen deprecated, allerdings noch durchaus verwendbar. Dadurch soll die Abwärtskompatibilität erhalten bleiben.

    Verdammt. Warum will mein C++ Compiler dann folgende Codes nicht schlucken?

    //was interessantes
    int xor = a ^ b;
    
    //was fieses
    memset(p, 'x', sizeof('x'));
    
    //was relevantes
    void foo();
    foo(3);
    
    //was lustiges
    char* p=strchr(s, 'x');
    
    //was veraltetes
    void f(a)
    int a;
    {}
    
    //was verwirrendes
    int i; int i=1;
    
    //was kompiliziertes
    foo1.c
    struct S { int i; }
    
    foo2.c
    struct S { long i; }
    
    //was fehlerhaftes?
    char c[2]="hi";
    
    //was gleiches
    typedef int foo;
    
    struct foo {};
    
    //was altbekanntes
    char* p=malloc(10);
    

    Hand aufs Herz: wer kann alle diese Punkte erklären?

    Achja: ich bin mir natürlich im klaren, dass Code-Hacker im Prinzip recht hat - aber mir war langweilig, deshalb habe ich versucht alle Unterschiede aufzuzählen.



  • Hi!

    Ich glaube das hier kann man in diesem Fall zum Nachschlagen verwenden (wobei es sich um C99 handelt):
    http://david.tribble.com/text/cdiffs.htm

    Code-Hacker


Anmelden zum Antworten