Namespaces
Variants
Views
Actions

Difference between revisions of "cpp/language/continue"

From cppreference.com
< cpp‎ | language
(details)
m (Typo)
Line 1: Line 1:
 
{{title|continue statement}}
 
{{title|continue statement}}
 
{{cpp/language/statements/navbar}}
 
{{cpp/language/statements/navbar}}
Causes the remaining portion of the enclosing {{rlp|for}}, {{rlp|range-for}}, {{rlp|while}} or {{rlp|do | do-while}} loop body skipped.
+
Causes the remaining portion of the enclosing {{rlp|for}}, {{rlp|range-for}}, {{rlp|while}} or {{rlp|do | do-while}} loop body to be skipped.
  
 
Used when it is otherwise awkward to ignore the remaining portion of the loop using conditional statements.
 
Used when it is otherwise awkward to ignore the remaining portion of the loop using conditional statements.

Revision as of 15:56, 25 February 2016

 
 
C++ language
General topics
Flow control
Conditional execution statements
if
Iteration statements (loops)
for
range-for (C++11)
Jump statements
continue - break
Functions
Function declaration
Lambda function expression
inline specifier
Dynamic exception specifications (until C++17*)
noexcept specifier (C++11)
Exceptions
Namespaces
Types
Specifiers
const/volatile
decltype (C++11)
auto (C++11)
constexpr (C++11)
consteval (C++20)
constinit (C++20)
Storage duration specifiers
Initialization
Expressions
Alternative representations
Literals
Boolean - Integer - Floating-point
Character - String - nullptr (C++11)
User-defined (C++11)
Utilities
Attributes (C++11)
Types
typedef declaration
Type alias declaration (C++11)
Casts
Memory allocation
Classes
Class-specific function properties
explicit (C++11)
static

Special member functions
Templates
Miscellaneous
 
 

Causes the remaining portion of the enclosing for, range-for, while or do-while loop body to be skipped.

Used when it is otherwise awkward to ignore the remaining portion of the loop using conditional statements.

Contents

Syntax

attr(optional) continue ;

Explanation

The continue statement causes a jump, as if by goto to the end of the loop body (it may only appear within the loop body of for, range-for, while, and do-while loops).

More precisely,

For while loop, it acts as

while (/* ... */) {
   // ... 
   continue; // acts as goto contin;
   // ...
   contin:;
}

For do-while loop, it acts as:

do {
    // ...
    continue; // acts as goto contin;
    // ...
    contin:;
} while (/* ... */);

For for and range-for loop, it acts as:

for (/* ... */) {
    // ...
    continue; // acts as goto contin;
    // ...
    contin:;
}

Keywords

continue

Example

#include <iostream>
 
int main() 
{
    for (int i = 0; i < 10; i++) {
        if (i != 5) continue;
        std::cout << i << " ";       //this statement is skipped each time i!=5
    }
 
    std::cout << '\n';
 
    for (int j = 0; j < 2; j++) {
        for (int k = 0; k < 5; k++) {   //only this loop is affected by continue
            if (k == 3) continue;
            std::cout << j << k << " "; //this statement is skipped each time k==3
        }
    }
}

Output:

5
00 01 02 04 10 11 12 14

See also

C documentation for continue