C++の予約語の一つ。
mutableは英語で、変わりやすい、移り気の、気まぐれな、という意味の形容詞である。
メンバー変数を修飾する。
constなインスタンスであっても、内容が変化して良いメンバー変数に付ける。
また、constなメンバー関数においても、mutableなメンバーは変更してよい。
ラムダ式を修飾して、コピーキャプチャした変数の書き換えを許可する。
ラムダ式は、記述したその場に無名関数(匿名関数)オブジェクトを生成する。
クロージャー変数の定義も可能だが、それは通常constであり、変数の書き換えは出来ない。
int n = 123; [n](int x) -> int { return x * ++n; } // ←エラー
int n = 123;
[n](int x) -> int { return x * ++n; } // ←エラー
この変数をどうしてもラムダ式内で書き換える必要がある場合、ラムダ式をmutable修飾する。
[n](int x) mutable -> int { return x * ++n; } // ←OK
コメントなどを投稿するフォームは、日本語対応時のみ表示されます
▼機能別検索
人気検索語
最近の更新語
今日の用語
おまかせ検索
▼別の語で検索
▼索引検索
カテゴリ検索
全グループ一覧
全プラグイン一覧
このサイトについて
趣旨・概要
参加の案内
ダウンロード