Sujet : Re: size_t best practice
De : Bonita.Montero (at) *nospam* gmail.com (Bonita Montero)
Groupes : comp.lang.cDate : 24. Aug 2024, 18:49:09
Autres entêtes
Organisation : A noiseless patient Spider
Message-ID : <vad6el$1fro3$1@raubtier-asyl.eternal-september.org>
References : 1
User-Agent : Mozilla Thunderbird
Am 18.08.2024 um 10:03 schrieb Mark Summerfield:
void vec_insert(vec* v, size_t index, void* value) {
if (v->_size == v->_cap) {
vec_grow(v);
}
for (size_t i = v->_size - 1; i >= index; --i) {
v->_values[i + 1] = v->_values[i];
if (!i) // if i == 0, --i will wrap!
break;
}
v->_values[index] = value;
v->_size++;
}
Ultra-ugly, better use C++ and std::vector<>::emplace_back()/emplace().