vector は構造化束縛できない

間違い

競技プログラミングのコードで、構造化束縛を使いたくなりました。
しかし、vector からの構造化束縛がエラーになります。
調べてみたら当たり前のことでした。

構造化束縛とは

構造化束縛の定義は以下の通りです。

「構造化束縛 (structured bindings)」は、組やタプル、配列や構造体を分解して各要素を取り出す機能である。

https://cpprefjp.github.io/lang/cpp17/structured_bindings.html

私は普段はpython を使っているので、アンパック代入のようなものと理解しました。

何を間違えていたのか?

定義にあるように、構造化束縛は、配列やタプルなどの、コンパイル前に要素数が決定されている必要があります。

vector は動的配列なので、構造化束縛はできないということです。

コメント

タイトルとURLをコピーしました