[c++] mapの要素(pair?)の[a,b]表記

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら

トピックに返信する


答えを正確にご入力ください。答えられるかどうかでスパムボットか否かを判定します。

BBCode: ON
[img]: ON
[flash]: OFF
[url]: ON
スマイリー: OFF

トピックのレビュー
   

展開ビュー トピックのレビュー: [c++] mapの要素(pair?)の[a,b]表記

Re: [c++] mapの要素(pair?)の[a,b]表記

#3

by fly3555 » 5年前

ご返信有難うございます。
これが構造化束縛というのですね。全然理解していませんでした‥‥

Re: [c++] mapの要素(pair?)の[a,b]表記

#2

by Bull » 5年前

そのページに書かれているように C++17 で追加された、 構造化束縛ですね。
g++ 6.3.0 ではどうかわかりませんが、g++ 7.3.0 ではコンパイルできました。
ただし、-std=c++17 のオプションが必要になります。

[c++] mapの要素(pair?)の[a,b]表記

#1

by fly3555 » 5年前

https://qiita.com/_EnumHack/items/f462042ec99a31881a81
では

コード:

auto const& [k, v] = *begin(dic);

コード:

for (auto const& [k, v] : dic)
    printf("(%d,%d)\n", k, v); 
}
のように、mapの要素を[k, v]などと表記していますが、私の環境ではエラーが出ます。
この書き方は便宜上のものなのでしょうか?

環境はWindows 10, MinGW6.3.0, #include <bits/stdc++.h>です

ページトップ