Unterschiede Befehle: PHP und C++



  • Hallo!

    Ich versuche von PHP auf C++ umzusteigen. PHP beherrsche ich schon recht gut und verstehe auch die Logik dahinter, C++ beherrsche ich leider (noch) kaum. Was mir bisher absolut nicht nachvollziehbar erscheint, ist, warum es so viele praktische PHP-Befehle in C++ nicht gibt (bzw. mir nicht bekannt sind).

    Vielleicht kann mir jemand (mit PHP-Kenntnissen eventuell) helfen, wie man folgende PHP-Befehle in C++ realisieren kann:

    isset
    Beispiel "if (isset($Variable)) {...}": überprüft, ob eine Variable gesetzt wurde

    explode
    Beispiel "$Array = explode (" ", $String)": Erzeugt ein Array aus einem String anhand eines Trennzeichens (Trennzeichen hier ist das Leerzeichen).

    strpos
    Beispiel "strpos ($String, "Wort")": Gibt die Position in einem String zurück, in dem zum ersten Mal das gesuchte "Wort" auftaucht.

    Danke im Voraus!



  • Zu isset: Variablen werden in C++ beim deklarieren auch definiert.

    Also ein
    int i;
    Deklariert eine Integervariable mit Namen i und setzt deren Inhalt auf 0.
    Bei Z.b. char oder char* ist das auch so...

    Das mit explode musst du meiner Meinung selber machen...



  • Hallo

    1. Variablen werden in C deklariert, danach kann der Compiler nicht mehr unterscheiden ob ein Wert gesetzt wurde oder nicht. Deshalb ist es gut die Variablen mit der Deklaration auch gleich zu initialisieren, wenn nötig mit einem Wert mit dem signalisiert werden kann, das die Variable noch nicht benutzt wurde.

    2. Suche hier im Forum nach explode

    3. Schau dir std::string an, das hat find-Methoden. Für C-Strings (char*) gibt es dafür auch strstr

    bis bald
    akari



  • GCoder schrieb:

    Also ein
    int i;
    Deklariert eine Integervariable mit Namen i und setzt deren Inhalt auf 0.

    Nein. Der Wert von i ist undefiniert.

    Bei Z.b. char oder char* ist das auch so...

    hier ist der Wert ebenso undefiniert.

    MfG

    GPC



  • GCoder schrieb:

    Variablen werden in C++ beim deklarieren auch definiert.

    Andersrum. Definition bedeutet gleichzeitig Deklaration, umgekehrt gilt das nicht.

    GCoder schrieb:

    Also ein
    int i;
    Deklariert eine Integervariable mit Namen i und setzt deren Inhalt auf 0.

    Das ist abhängig vom Sichtbarkeitsbereich. Bei automatischen Variablen ist das, wie GPC schon schrieb, nicht so, da undefiniert.



  • Das isset macht der Compiler. Entweder er kompilliert oder eben nicht. Zur Laufzeit zu ueberpruefen ob eine Variable existiert ist daher nicht noetig und auch auch nicht moeglich.


Anmelden zum Antworten