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
sindIch 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?
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. "
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.
Tags und Links c++