P.003 リスト1-1について
if文の条件を訂正します。
【誤】if (size_ <= capacity_) {
【正】if (size_ == capacity_) {
P.014 3行目 MAXの定義について
カッコの対応を訂正します。
【誤】#define MAX(x,y) (((x)>(y) ? (x):(y))
【正】#define MAX(x,y) ((x)>(y) ? (x):(y))
P.057 リスト3-1について
「ilst」を「llst」に訂正します。
【誤】
il = std::find(ilst.begin(), ilst.end(), 7L);
if (il != ilst.end()) { /* 見つかった!*/ }
【正】
il = std::find(llst.begin(), llst.end(), 7L);
if (il != llst.end()) { /* 見つかった!*/ }
P.090 リスト4-10について
「&」が抜けておりました。
【誤】
template <class T>
struct add_reference<T&> {
typedef T type;
};
【正】
template <class T>
struct add_reference<T&> {
typedef T& type;
};
P.121 下から4行目について
説明を修正します。
【誤】 クラスの型特性はなんでしょうか。それは「メンバを持っている」ということです。先ほどは「iterator型を持っている」というチェックをtypename C::iterator と書きましたが、「メンバを持っている」というのは同じように「C::*」と書くことができます。それを使って、リスト5-21のように実装します。
【正】 クラスの特徴とはなんでしょうか? それは「クラスにのみ許可された構文を使用できる」もしくは「メンバを使用できる」ということです。そしてこれは、「C::*」と書くことでチェックできます。
実際にそれを使って、リスト5-21のように実装します。
P.122 5行目について
説明を修正します。
【誤】 「int C::*」とすることで、なぜ「メンバを持っている」という判定になるのでしょうか?
【正】 「int C::*」とすることで、なぜ「メンバを使用できる」という判定になるのでしょうか?
P.249 リスト11-8について
「s」が抜けておりました。
【誤】 for_each(v|reversed|filtered(is_even)|transformed(to_tring),disp)
【正】 for_each(v|reversed|filtered(is_even)|transformed(to_string),disp)
P.283 リスト11-38について
引数の名前を訂正します。
【誤】
make_transformed_iterator<func_result>(f_, r.begin()),
make_transformed_iterator<func_result>(f_, r.end())
【正】
make_transformed_iterator<func_ret>(f_, r.begin()),
make_transformed_iterator<func_ret>(f_, r.end())
P.303 リスト12-4について
「typename」指定が抜けておりました。
【誤】
template <class T>
using Vec = Vec_<T>::type;
【正】
template <class T>
using Vec = typename Vec_<T>::type;
P.336 索引について
見出しを修正します。
【誤】L
【正】T
【誤】M
【正】U
【誤】O
【正】X