Будет ли корректным следующий вариант удаления элемента из массива:
template <class T>
class MyList {
T *buf = nullptr;
uint cnt = 0;
uint capa = 0;
...
void delByIndex(uint idx) {
assert( idx < cnt );
// вот такой:
buf[idx].~T();
for (uint ii = idx+1; ii < cnt; ++ii)
new(&buf[ii-1]) T(std::move(buf[ii]));
// *******
--cnt;
}
};