1. add std::nothrow to new operator because then ptr checked with NULL
2. "currentNewBlock" is assigned values twice successively
3. optimize std::vector<>::iterator's usage "iter++" -> "++iter". See preincrement and postincrement operator++()