Mówiąc z kolegą z kopalni, mówili, że:Czy uzyskujesz dostęp do statycznego poza zakresem niezdefiniowanego zachowania?
foo() { int *p; { int x = 5; p = &x; } int y = *p; }
tworzy niezdefiniowanej zachowanie, ponieważ żywotność zasady i reguły zakres nie nie określił.
Jednakże:
foo() { int *p; { static int x = 5; p = &x; } int y = *p; }
nie jest niezdefiniowany! Kończy się problemami "pośredniego zakresu".
Używanie terminologii nie brzmi poprawnie.
Wiem, że statyczne nie ma nic wspólnego z określaniem zakresu.
Czy prawdą jest, że drugi przypadek ma określone zachowanie?
Komentarze nie są przeznaczone do rozszerzonej dyskusji; ta rozmowa została [przeniesiona na czat] (http://chat.stackoverflow.com/rooms/114724/discussion-on-on---rerevor-hickey-jest-dostępem-a-statycznym-w-suku-skasie- undef). –