restrict? 0.o



  • Ich habe eine Frage zu einem Schlüsselwort(?) von C++. Ich benutze Code::Blocks als IDE und dank der Code-Completition ist mir aufgefallen, dass "restrict" als Schlüsselwort auftaucht. 😮 Ich habe bis jetzt aber in keinem Buch zu C/C++ das Schlüsselwort restrict gesehen. Im Stroustrup steht es auch nicht im Index und im ganzen ISO-Standard ist es auch nicht zu finden...

    Gehört "restrict" zu C++ und was macht es?

    Felix :xmas2:



  • Hallo Phoemuex,

    ich glaub, das ist compiler spezifisch. Microsoft benutzt dieses keyword z. B. zum Steuern des Speicher-Aliasing. Siehe MSDN

    Viele Grüße
    Knecht



  • Das ist eine Erweiterung im C99-Standard, die wohl viele Compiler-Hersteller auch in ihre Compiler einbauen und auch hoffentlich in C++0x enthalten sein wird. Damit sagst du dem Compiler, das er sich keine Sorgen um Pointer Aliasing machen muss. Dadurch kann er deutlich effektiveren Code erstellen und so den Vorteil von Nicht-Pointer-Sprachen bei der Optimierung (zumindest teilweise) aufholen.


Anmelden zum Antworten