Technischer Name für eine "besondere" Verwendung der switch-Anweisung: enthält eine if- und for-Anweisung

8

Als Disclaimer ist dies ein Hausaufgabenproblem. Aber es ist eine, wo die Antwort nicht aus unseren Vorlesungsnotizen gefunden werden kann und wir sind ermutigt, die Antwort durch Forschung zu finden (im Internet nehme ich an). Wir erhalten das folgende Codefragment und fragen nach dem technischen Namen für diese besondere "besondere" Verwendung der switch-Anweisung (dies ist in C ++)

%Vor%

wobei x, m, n, o und p int

sind

Ich habe alle Fragen beantwortet, die über die Funktionsweise des Codes unter verschiedenen Bedingungen gestellt werden, aber ich kann diesen mysteriösen technischen Namen für diese Art von switch-Anweisung nicht finden. Ich habe ein paar kreative Google-Suchen ausprobiert, und habe mehrere Seiten über switch-Anweisung gelesen, kann aber keine Erwähnung eines Falls finden, in dem, wenn und für darin geschachtelt werden. Kann mir jemand in die richtige Richtung zeigen?

    
Jon 31.05.2011, 17:43
quelle

2 Antworten

8

Eine berühmte Technik, die damit eng verwandt ist, ist als "Duff's Device" bekannt. Die Wikipedia -Seite hat eine ziemlich detaillierte Diskussion, die die folgende Passage enthält:

  

C's Standard-Fall-Through für den Fall   Aussagen gehört schon lange dazu   umstrittenste Merkmale; Duff   beobachtet, dass "Dieser Code bildet einige   Art von Argument in dieser Debatte, aber   Ich bin mir nicht sicher, ob es für oder ist   gegen. "

    
NPE 31.05.2011 17:51
quelle
5

Ich weiß nicht, ob ich jemals etwas so verdrehtes gesehen oder gehört habe, aber ich frage mich, ob dein Professor nicht an Duffs Gerät gedacht hat. Das ursprüngliche Version war:

%Vor%

( to zeigte auf ein speicherabgebildetes IO-Register.) Um Tom Duff (die Erfinder), "Ich fühle eine Kombination aus Stolz und Abscheu Entdeckung, "und" Viele Leute (sogar bwk?) haben gesagt, dass das schlechteste Merkmal von C ist, dass Schalter nicht vor jedem Fall automatisch brechen Etikette. Dieser Code bildet eine Art Argument in dieser Debatte, aber ich bin es nicht sicher, ob es dafür oder dagegen ist. "

Vor vielen, vielen Jahren (ungefähr zu der Zeit, als Tom Duff das erfand), kam ich auf mit etwas in der Art von:

%Vor%

Ich habe ihm jedoch nie einen Namen gegeben und ihn nie in die Produktion entkommen lassen Code.

    
James Kanze 31.05.2011 18:01
quelle

Tags und Links