Generic Programming with C++ Template
■ このスレッドは過去ログ倉庫に格納されています
0529直してみた
NGNG265:{
266: assert(!chunks_.empty());
267: assert(deallocChunk_);
268:
269: const std::size_t chunkLength = numBlocks_ * blockSize_;
270:
271: Chunk* lo = deallocChunk_;
272: Chunk* hi = deallocChunk_; // ココ
273: Chunk* loBound = &chunks_.front();
274: Chunk* hiBound = &chunks_.back() + 1;
275:
276: for (;;)
277: {
278: if (lo)
279: {
280: if (p >= lo->pData_ && p < lo->pData_ + chunkLength)
281: {
282: return lo;
283: }
284: if (lo == loBound) lo = 0;
285: else --lo;
286: }
287:
294: if (++hi == hiBound) hi = 0; // ココ
288: if (hi)
289: {
290: if (p >= hi->pData_ && p < hi->pData_ + chunkLength)
291: {
292: return hi;
293: }
295: }
296: }
297: assert(false);
298: return 0;
299:}
■ このスレッドは過去ログ倉庫に格納されています