プログラミング言語C++ (アスキーアジソンウェスレイシリーズ―Ascii Addison Wesley programming series)

プログラミング言語C++ (アスキーアジソンウェスレイシリーズ―Ascii Addison Wesley programming series)

第19章 反復子とアロケータ


データ構造とアルゴリズムがなめらかに共同作業を実行できるのは・・・・。
それらが互いのことを知らないからである。 
         Alex Stepanov

lexander Stepanov (born November 16, 1950 in Moscow) is the key person[clarification needed] behind the C++ Standard Template Library, which he started to develop around 1993 while employed at HP Labs. He had earlier been working for Bell Labs close to Andrew Koenig and tried to convince Bjarne Stroustrup to introduce something like Ada Generics in C++[1]. He is currently employed by Adobe Systems.

Alexander Stepanov is an advocate of what is known as generic programming. Although David Musser had developed and advocated some aspects of generic programming already by 1971, it was limited to a rather specialized area of software development (computer algebra).
Stepanov recognized the full potential for generic programming and persuaded his then-colleagues at General Electric Research and Development (including, primarily, David Musser and Deepak Kapur) that generic programming should be pursued as a comprehensive basis for software development. At the time there was no real support in any programming language for generic programming.
The first major language to provide such support was Ada, with its generic units feature. By 1987 Stepanov and Musser had developed and published an Ada library for list processing that embodied the results of much of their research on generic programming. However, Ada had not achieved much acceptance outside the defense industry and C++ seemed more likely to become widely used and provide good support for generic programming even though the language was relatively immature. Another reason for turning to C++, which Stepanov recognized early on, was the C/C++ model of computation which allows very flexible access to storage via pointers is crucial to achieving generality without losing efficiency. It eventually led to the development of the Standard Template Library of C++.

19−1 イントロダクション

19−2 反復子とシーケンス
 19−2−1 反復子の演算
 19−2−2 反復子の特性
 19−2−3 反復子のカテゴリ
 19−2−4 挿入子
 19−2−5 逆反復子
 19−2−6 ストリーム反復子

19−3 チェック付反復子
 19−3−1 例外 コンテナ アルゴリズム

19−4 アロケータ
 19−4−1 標準アロケータ 
 19−4−2 ユーザ定義アロケータ
 19−4−3 汎用アロケータ
 19−4−4 初期設定されていないメモリ
 19−4−5 ダイナミックメモリ
 19−4−6 Cスタイルのメモリ確保

19−5 アドバイス

19−6 練習問題

追記

法律が改正されるということがどういうことなのか、法律が改正されることで、
現実の日本の取引社会にインパクトを与えるとはどういうことなのかということが、Vividに現れているので、
列挙しておきます。
同和と銀行: 信託大好きおばちゃんのブログ

政治家がなぜ権力を得るかというと、国を動かす基本ラインを決めることができるからです。政治家のさじ加減で、どのような政策をチョイスするかが決まります。政策が決まると、その政策にかかわるところで新たな需要が生まれ、そこにお金がいっぱい落ちる。一ミリ、政策が右にいくか、左にいくかでは、日本全体でみると、そんなに大きな影響はないですけど、かかわる人や業界には大きな影響がでる。だから、みんな必死で自分に利益が落ちるようにがんばります。政治家だけでなく、官庁も業界も。がんばったりするためにはお金がいっぱいいるし、がんばりが効をなすと、莫大なお金が入ってきます。


Case ?

http://mainichi.jp/select/biz/news/20090918k0000e020030000c.html

アイフルは、改正貸金業法に基づく上限金利の引き下げで、利用者からの過払い金返還請求が急増し、返還による損失で業績が悪化。昨年秋以降の金融危機資金調達も厳しくなり、債務の元利返済を来春まで猶予してもらうことで負担軽減を図りたい考え。

Case ?
http://www003.upp.so-net.ne.jp/ikeda/auction-faq.html

Q1. 周波数オークションは何のためにやるのか?

現在の電波行政は、官僚が社会主義的に割り当てを決めるため、電波の配分はきわめて非効率的になっている。これを改めて電波の有効利用を促進し、競争を導入することが本来の目的だ。それによって兆円単位の国庫収入が上がるが、これは目的ではない。

周波数オークションについては、2001年に鬼木甫氏と奥野正寛氏を共同代表とする「IT革命を実現させる電波政策を」という提言が行なわれ、200人以上の経済学者・実務家が賛同した。日本以外の主要先進国では15年前から実施され、問題点も解決策も十分わかっている。周波数オークションは政府がやると決めればすぐでき、2011年には300MHz(時価4兆円)も空く「電波埋蔵金」だ。これこそ自民党の集票基盤となってきたテレビ局の独占を打破し、財源を生み出し、競争を促進して潜在成長率を引き上げる、一石三鳥の政策である。

http://www003.upp.so-net.ne.jp/ikeda/faq.html

表の空白の部分が、放送局に割り当てられながら使われていないホワイトスペースである。携帯電話業者が見たら目まいのするような超低利用率で、全40チャンネル(13〜52)×10エリアの1割も使われていない。このように(独立系U局を含めても)全国で40チャンネルのうち、たかだか10チャンネルしか使っていないのだから、テレビの電波は任意の地点で30チャンネル以上(ほぼ200MHz)空いているのである。

これは非常に大きな帯域で、今のすべての携帯電話業者がほとんどすっぽり収容でき、オークションにかければ2兆円以上の価値がある。このホワイトスペースをWiMAXなどの無線ブロードバンドに使うことも可能だし、4GHz帯で実験の始まっている4Gも、UHF帯を使ったほうがはるかに効率が高い。

ただ日本は中継局の密度が高いので、ホワイトスペースを携帯端末に使う場合は、たとえば水戸で空いている35チャンネルが高萩ではフジに使われているため、周波数を切り替える必要がある。これはcognitive radioで周波数を検知して切り替えてもよいし、チャンネルプランをデータベース化してGPSで携帯端末の位置と照合して切り替えるgeolocationという技術もある。