spamsink: (Default)
[personal profile] spamsink


Кто не пишет на С++, догадайтесь, что печатает эта программа:
#include <vector>
using namespace std;
int ctors, dtors, copyctors;

struct foo {
        foo() { ctors++; }
        foo(const foo &) { copyctors++; }
        ~foo() { dtors++; }
};
vector < vector < foo > > pool;
void addline() {
        ctors = dtors = copyctors = 0;
        pool.push_back(vector < foo > ());
        pool.back().reserve(1000);
        for (int i = 0; i < 1000; ++i)
                pool.back().push_back(foo());
        printf("ctors = %d, dtors = %d, copyctors = %d\n",
        ctors, dtors, copyctors);
}

main() {
        addline();        
        addline();
        ctors = dtors = copyctors = 0;
        pool.push_back(vector < foo > ());
        printf("ctors = %d, dtors = %d, copyctors = %d\n",
        ctors, dtors, copyctors);
}


И при всем богатстве выбора языков другой альтернативы нет.

Улита едет, когда-то будет.
This account has disabled anonymous posting.
If you don't have an account you can create one now.
HTML doesn't work in the subject.
More info about formatting
Page generated Mar. 9th, 2026 03:17 am
Powered by Dreamwidth Studios