C/C++ ポインタ入門 > 動的配列クラス > push_back
Nobuhide Tsuda
Jan-2014
push_back:
void Vector::push_back(int d)
{
if (++m_size > capacity()) { // m_size をインクリメントし、キャパシティを超えていれば
reserve(m_size); // データ領域を拡張
}
m_data[m_size - 1] = d; // 末尾にデータを格納
}
解説:
- m_size をインクリメントし、キャパシティを超えていれば reserve() を使ってデータ領域を拡張します。
- この部分は resize(++m_size); と書いてもいいと思います。
- 末尾にデータを格納して処理は終わりです。
前:
| 次: