Google
ブログ(iiyu.asablo.jpの検索)
ホットコーナー内の検索
 でもASAHIネット(asahi-net.or.jp)全体の検索です。
 検索したい言葉のあとに、空白で区切ってki4s-nkmrを入れるといいかも。
 例 中村(show) ki4s-nkmr

ウェブ全体の検索

イテレータは、挿入、削除などで無効になる。内部と外部のイテレータ2017年04月29日 11時44分59秒

ASAHIネット(http://asahi-net.jp )のjouwa/salonから。
---
 C++に限らず、たいていのプログラミング言語やライブラリでは、イテレータ(Iterator)を使って、コレクションに挿入、削除などすると、そのイテレータは無効になります。
 これを知らないと、イテレータがメモリの変なところを指して、致命的な結果になります。
 普通は、挿入、削除後の新しいイテレータが返ってくるので、それを使って処理します。
 そういう仕様になっているのは、それが効率的だからです。
 ちゃんと使うのは、プログラマの責任。

 C++での要素の削除は、使えるコレクションなら、remove_ifとeraseを使ってもいいと思います。それは関数型っぽいアプローチ。

http://marupeke296.com/TIPS_No12_ListElementErase.html
その12 イテレート中のSTLのlistから要素を安全に削除する方法

http://qiita.com/izmktr/items/0c95aff5ba7554afcaa7
イテレータ破壊の問題
izmktr
2014年12月09日に更新

http://qiita.com/satoruhiga/items/fa6eae09c9d89bd48b5d
各種stlコンテナでのループ中の要素の削除
satoruhiga
2014年03月04日に投稿

http://d.hatena.ne.jp/Ox8000ffff/20100225/1267201650
[C++][STL]std::map - erase 時の iterator の無効化を防ぐ
2010-02-25

http://d.hatena.ne.jp/Ox8000ffff/20100322/1269268470
[C++][STL]std::vector - erase 時に std::remove を活用する
2010-03-22

http://ppp-lab.sakura.ne.jp/ProgrammingPlacePlus/cpp/library/021.html
C++編【標準ライブラリ】 第21章 削除の STLアルゴリズム

http://ppp-lab.sakura.ne.jp/ProgrammingPlacePlus/cpp/library/006.html#erase
C++編【標準ライブラリ】 第6章 list
削除

 コレクション内の要素の削除については、関数型言語や、変数やコレクションを書き換える命令型言語でも関数型のパラダイムのライブラリをサポートする言語では、コレクションにあるfilterなどの関数・メソッドで、不要なものを削除した新しいコレクションが返ってくるようになっていることが多くなりました。

 関数型のコレクションの処理は、食品工場で、ベルトコンベアに材料が流れていて、それが少しずつ、形や色が変わっていき、最後に出来上がるイメージ。
 ベルトコンベアに、データが流れていて、それをいろんな関数・メソッドを組み合わせて、少しずつ変換していって、最終結果を得るといったイメージです。

 前述のイテレータが、プログラマの目にみえる形のイテレータだとすると、こちらのアプローチは、プログラマの目にふれない形のイテレータで実装されています。
 前者を外部イテレータ、後者を内部イテレータと呼びます。

https://ja.wikipedia.org/wiki/イテレータ
http://itpro.nikkeibp.co.jp/article/COLUMN/20050930/221978/?rt=nocnt
まつもと直伝 プログラミングのオキテ 第5回(2)

 コレクションの処理は多岐にわたるので、フィルタリングの場合のみ。

■C++
 C++11から、ラムダ式(クロージャ)が入って、それらしく書けるようになりました。

http://stackoverflow.com/questions/21204676/modern-way-to-filter-stl-container

http://www.cplusplus.com/reference/algorithm/copy_if/

■Java
 Java 8から、ラムダ式(実質クロージャ)が入って、それらしく書けるようになりました。

■Scala
 関数型とオブジェクト指向のハイブリッド言語なので、最初から書けます。

http://bach.istc.kobe-u.ac.jp/lect/ProLang/org/scala-list.html
4 リストと関数 15
4.1 mapとfilterなど

http://www.ne.jp/asahi/hishidama/home/tech/scala/collection/method.html#h_filter
条件判定による要素・サブコレクションの取得

■C#
LINQは、とても強力で、SQL的な処理ができます。

http://dobon.net/vb/dotnet/programing/arrayfilter.html
配列やコレクションのフィルタ処理を行う(条件に合う要素を抜き出す)

■参考:
http://www.techscore.com/blog/2015/12/24/java-8-lambda-collection-2/
5分で読む入門編:Java 8 ラムダ式 コレクション編(2)リストの検索
2015年12月24日 09:00 | By 梶原 知恵 | Categories: Advent Calendar 2015, 記事 | Tagged Advent Calendar, Java

https://www.amazon.co.jp/exec/obidos/ASIN/4777518418/showshotcorne-22/
Java8ではじめる「ラムダ式」 (I・O BOOKS) 単行本 – 2014/7
清水 美樹 (編集)

https://www.amazon.co.jp/exec/obidos/ASIN/4873117046/showshotcorne-22/
Javaによる関数型プログラミング ―Java 8ラムダ式とStream 単行本(ソフトカバー) – 2014/10/24

https://www.amazon.co.jp/exec/obidos/ASIN/4877833684/showshotcorne-22/
Java 8のキーポイント―最新のJavaをより効果的に使うために 単行本 – 2015/2
日向 俊二 (著)

https://www.amazon.co.jp/exec/obidos/ASIN/4844336673/showshotcorne-22/
Javaプログラマーなら習得しておきたい Java SE 8 実践プログラミング (impress top gear) 単行本(ソフトカバー) – 2014/9/22
Cay S. Horstmann (著), 柴田 芳樹 (翻訳)

https://www.amazon.co.jp/exec/obidos/ASIN/B00VM0FMIW/showshotcorne-22/
Javaプログラマーなら習得しておきたい Java SE 8 実践プログラミング Kindle版
Cay S. Horstmann (著), 柴田 芳樹 (翻訳)

https://www.amazon.co.jp/exec/obidos/ASIN/B00BOBYZTQ/showshotcorne-22/
Guide to ScalaーScalaプログラミング入門 Kindle版
中村修太 (著)

https://www.amazon.co.jp/exec/obidos/ASIN/B01HI7BCT0/showshotcorne-22/
ゼロから学ぶScala Kindle版
飯田 健二 (著), 内山 知美 (イラスト)

https://www.amazon.co.jp/exec/obidos/ASIN/4774144363/showshotcorne-22/
オブジェクト指向プログラマが次に読む本 -Scalaで学ぶ関数脳入門 単行本(ソフトカバー) – 2010/11/13
株式会社テクノロジックアート (著), 長瀬 嘉秀 (監修), 町田 修一 (監修)

https://www.amazon.co.jp/exec/obidos/ASIN/4844337769/showshotcorne-22/
Scala関数型デザイン&プログラミング ―Scalazコントリビューターによる関数型徹底ガイド (impress top gear) 単行本(ソフトカバー) – 2015/3/20
Paul Chiusano (著), Rúnar Bjarnason (著), 株式会社クイープ (翻訳)

https://www.amazon.co.jp/exec/obidos/ASIN/B00WM54V5Q/showshotcorne-22/
Scala関数型デザイン&プログラミング―Scalazコントリビューターによる関数型徹底ガイド Kindle版
Paul Chiusano (著), Rúnar Bjarnason (著), 株式会社クイープ (著)

コメント

コメントをどうぞ

※メールアドレスとURLの入力は必須ではありません。 入力されたメールアドレスは記事に反映されず、ブログの管理者のみが参照できます。

※なお、送られたコメントはブログの管理者が確認するまで公開されません。

※投稿には管理者が設定した質問に答える必要があります。

名前:
メールアドレス:
URL:
次の質問に答えてください:
一富士、二鷹、三は? ひらがなで。

コメント:

トラックバック