Pause; C ++: In welcher Schleife bricht es eigentlich?

8

einfache Frage zu C ++ - Code:

%Vor%

Ich möchte sicherstellen, dass

  • Jede Zeile von double **simplex wird höchstens einmal in double **bestList eingefügt
  • Die Instanz von break bricht hier aus der zweiten (inneren) for Schleife aus.

Ist das der Fall?

    
octoback 14.05.2012, 16:17
quelle

4 Antworten

28

Die break-Anweisung in C ++ bricht aus der for- oder switch-Anweisung heraus, in der der break direkt platziert wird. Es bricht die innerste Struktur (Schleife oder Schalter). In diesem Fall:

%Vor%

Es gibt in C ++ keine Möglichkeit, eine andere Schleife zu unterbrechen. Um aus den Eltern-Schleifen auszubrechen, müssen Sie einen anderen unabhängigen Mechanismus verwenden, wie zum Beispiel das Auslösen der Endbedingung.

Wenn Sie mehr als eine innere Schleife beenden möchten, können Sie diese Schleifen auch zu einer Funktion extrahieren. In C ++ können 11 Lambdas verwendet werden, um es in-Place zu tun - so wird es nicht notwendig sein, goto zu verwenden.

    
Sergey K. 14.05.2012, 16:19
quelle
4

Die Anweisung break in C ++ bricht aus der Anweisung for oder switch aus, in der break direkt platziert wird. In diesem Fall wird es aus der for (int j = ... Schleife ausbrechen.

In C ++ gibt es keine Möglichkeit, break auf eine andere Schleife zu setzen. Um aus den Eltern-Schleifen auszubrechen, müssen Sie einen anderen unabhängigen Mechanismus verwenden, wie zum Beispiel das Auslösen der Endbedingung.

%Vor%     
JaredPar 14.05.2012 16:19
quelle
3

Sie brechen aus Ihrer zweiten Schleife zu Ihrer ersten Schleife aus.

%Vor%

Sie könnten oben einen Booleschen Wert festlegen

%Vor%

und wenn Sie Pause schreiben, schreiben Sie

%Vor%

Überprüfen Sie dann am Ende Ihrer Schleife jedes Mal,

%Vor%     
Martol1ni 14.05.2012 16:19
quelle
-1
%Vor%

Sie könnten oben einen Booleschen Wert festlegen

%Vor%

und wenn Sie die andere Schleife unterbrechen möchten, schreiben Sie

%Vor%     
kalpani thakshila 25.05.2013 04:33
quelle

Tags und Links