Benutzerdefinierte Qualifikationsmerkmale

8

Ich habe über eine kleine Spracherweiterung für C ++ nachgedacht und einen Entwurf für einen Vorschlag geschrieben ( Ссылка ) ).

Die Idee ist, dass ein Benutzer Qualifizierer wie const und volatile selbst definieren kann, um sicherzustellen, dass einige, die sich qualifizieren, Code (d. h. Methoden) nur als gleich qualifiziert bezeichnet.

Die Frage ist, ob dies mit irgendwelchen Sprachregeln kollidieren würde oder ob ich etwas verpasst hätte.

    
Klemens Morgenstern 21.09.2013, 17:21
quelle

1 Antwort

1

Nicht wirklich zum Thema für StackOverflow. Aber ja, "benutzerdefinierte Typ-Qualifier" ist eine nette Idee, und eine mit einer langen Geschichte. Sie werden häufig für die Taint-Analyse verwendet (dh sie stellen sicher, dass benutzergesteuerte und potentiell schädliche Bits nicht als vertrauenswürdige Bits verwendet werden; stellen Sie sicher, dass Ihr gesamter HTML-Code korrekt maskiert ist, bevor Sie ihn anzeigen; so etwas).

Ссылка hat die Taint-Analyse als Hauptmotivation, erwähnt aber auch sicheren Informationsfluss (dh sicherstellen, dass sensible Informationen wie kryptografische Schlüssel nicht in die nicht sicheren Teile des Codes gelangen).

Für die meisten Anwendungen genügen "benutzerdefinierte Datentypen". Sie können fast immer mechanisch transformieren, z.B. std::string [[tainted]] x in Tainted<std::string> x .

%Vor%     
Quuxplusone 01.10.2013 23:06
quelle

Tags und Links