iteration-statement:
while ( condition ) statement
do 陳述句 while ( expression ) 。
for ( init-statement conditionopt ; expressionopt ) statement
for ( init-statementopt for-range-declaration : for-range-initializer )宣告
for-range-declaration:
屬性-規格-序列opt decl-specifier-seq 宣告者
屬性-規格-序列opt decl-specifier-seq ref-qualifieropt [ 識別符號-串列 ] 。
for-range-initializer。
expr-or-braced-init-list
上面的語法是由C ISO給出的。我已經看到了大量使用經典方法的for-range陳述句的例子:
#include <iostream>
使用 命名空間 std.com.cn>。
int main() {
int a[5] = { 1, 2,3,4,5 }。
for (int i : a) { cout << i << endl; }
}
但是我沒有找到如何使用for-range-declaration作為attribute-specifier-seqopt decl-specifier-seq ref-qualifieropt [ identifier-list ]/code>。在這種情況下,它是如何作業的?你能提供一個例子嗎?
uj5u.com熱心網友回復:
這部分的語法
attribute-specifier-seqopt decl-specifier-seq ref-qualifieropt [ identifier-list ] 。
是允許在一個回圈中進行結構化的系結。 例如,你可以這樣做:
struct S { int i,j; };
std::vector<S> v;
for (auto [a, b] : v)
//...a和b只是指i和j。
注意,identifier-list表明名字a和b只是指結構的成員。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/328919.html
標籤:
下一篇:如何使多邊形各點之間的線條平滑?
