fix push_back reserve growth

This commit is contained in:
hugogogo
2022-06-03 19:49:09 +02:00
parent 7d857c5e4e
commit 556807669e
3 changed files with 125 additions and 78 deletions

View File

@@ -25,21 +25,21 @@ int main() {
size = myvector.size();
for (int i = 0; i < size; i++)
std::cout << "[" << std::setw(2) << i << "] " << myvector[i] << " - ";
std::cout << "\nsize :" << size << " , capacity :" << myvector.capacity() << "\n";
std::cout << "\nsize : " << size << " , capacity : " << myvector.capacity() << "\n";
std::cout << "\nassign 3\n";
myvector.assign(3, 12);
size = myvector.size();
for (int i = 0; i < size; i++)
std::cout << "[" << std::setw(2) << i << "] " << myvector[i] << " - ";
std::cout << "\nsize :" << size << " , capacity :" << myvector.capacity() << "\n";
std::cout << "\nsize : " << size << " , capacity : " << myvector.capacity() << "\n";
std::cout << "\nassign 7268\n";
myvector.assign(7268, 12);
size = myvector.size();
for (int i = 0; i < size; i++)
std::cout << "[" << std::setw(2) << i << "] " << myvector[i] << " - ";
std::cout << "\nsize :" << size << " , capacity :" << myvector.capacity() << "\n";
// std::cout << "\nassign 7268\n";
// myvector.assign(7268, 12);
// size = myvector.size();
// for (int i = 0; i < size; i++)
// std::cout << "[" << std::setw(2) << i << "] " << myvector[i] << " - ";
// std::cout << "\nsize : " << size << " , capacity : " << myvector.capacity() << "\n";
}
TESTEND
@@ -337,17 +337,28 @@ int main() {
{
ft::vector<int> myvector;
// first test
int myint[] = {12434, -2432, 12, 5345, 23, 0, -4, 387, 8432, -934723, 1};
int size = sizeof(myint) / sizeof(myint[0]);
for (int i = 0; i < size; i++)
{
myvector.push_back(myint[i]);
std::cout << "[capacity : "
<< std::setw(2) << myvector.capacity() << "] "
<< myvector[i] << "\n";
}
for (int i = 0; i < size; i++)
std::cout << "[" << std::setw(2) << i << "] " << myvector[i] << "\n";
std::cout << " -> size : " << myvector.size() << " , capacity :" << myvector.capacity() << "\n";
std::cout << " -> myvector stores " << int(myvector.size()) << " numbers.\n";
// second test
// for (int i = 0; i < 72363; i++)
// {
// myvector.push_back(9);
// std::cout << "[" << i
// << ":" << myvector.capacity() << "] ";
// }
// std::cout << " -> size : " << myvector.size() << " , capacity :" << myvector.capacity() << "\n";
}
TESTEND