Spezialkommandos in vc++6.0



  • Hallo Leute,
    Es würde mich mal interessieren, was es in vc++ so alles für spezialkommandos bzw. nicht Standard C++ Sprachkonstrukte gibt? sowie __stdcall __cdecl usw...
    Insbesondere interessiere ich mich dafür, ob es eine Möglichkeit gibt, festzustellen, wie gross ein Feld ist, irgendwo muss das ganze ja gespeichert werden:

    int *arrNbr = new int[50];
     delete []arrNbr; // woher weiss das Laufzeitsystem nun, wie gross das Feld ist, bzw. wie viel er löschen muss? das muss doch irgendwo gespeichert werden??
    

    Vielen Dank auch schon, Ishildur



  • Dafür gibt es AFAIK keinen Befehl.
    Du könntest natürlich über Pointerarithmetik versuche etwas hinzubiegen. Aber das kann sich schon bei der nächsten Compilerverson ändern.

    Gegenfrage: Warum willst du das wissen? Erstell doch selbst eine Variable die das speichert, oder besser, nimm std::vector. Dann kannst du dir das new[] und delete[] ganz sparen.

    Für den Microsoft VC++ haben wir übrigens ein eigenes Forum, im WinAPI-Forum ist diese Frage fehl am Platze.
    Ansonsten hilft bei Compilerspezifischen Fragen die Doku. 🙂



  • http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vclang/html/_pluslang_c.2b2b_.keywords.asp

    Die C++-Implementaiton muß sich natürlich intern merken, wieviele Elemente - zumindest, wenn die Elemente einen Destruktor haben. Das ist aber Implementationsspezifisch und im Rahmen des C++-Standards nicht abfragbar.


Anmelden zum Antworten