Используя g++, я замечаю, что создание вектора нулевого размера вызывает один раз конструктор типа объекта с параметрическим параметрированием. Затем он удаляется. Почему это происходит?
#include <iostream>
#include <vector>
using namespace std;
class s
{
public:
s() { cout << endl << "default s constructor" << endl; }
~s() { cout << endl << "default s destructor" << endl; }
};
int main()
{
vector<s> v(0);
}
Вывод:
конструктор по умолчанию
деструктор по умолчанию