2017-03-21 1 views
0

Wenn tloc nicht NULL ist, wird der Rückgabewert auch im Speicher gespeichert, auf den tloc zeigt.Entwurfsgrundsatz für Zeit (2)

Frage: Warum möchte man den Wert irgendwo anders als im Rückgabewert speichern? Ist das eine Art historisches Relikt?

Antwort

0

Anscheinend ist es ein Relikt:

Das tloc Argument ist obsolescent und sollte immer in neuen Code NULL sein.

Aber das wirft die Frage auf, warum es auf diese Weise in erster Linie entworfen wurde.

+2

Meine Vermutung ist, dass "Tloc" wie der ursprüngliche einzige Mechanismus aufgrund der alten typlosen Pre-K & R C alle Funktionen, 16-Bit-native Integer/Zeiger, mit einem 32-Bit-Rückgabewert zusammen mit verbesserter Unterstützung für zurückgegeben Lange Integer und K & R-artige Rückgabewert-Funktionssignaturen, noch mit "tloc", wurden aus Gründen der Abwärtskompatibilität beibehalten. Ich bin jedoch ziemlich verschwommen in der frühen Entwicklungsgeschichte, also solltest du wahrscheinlich in den alten UNIX-Quellcodearchiven nach Hinweisen suchen. – doynax