size_t - беззнаковый, потому если например я поставлю if(sz>=0) то компилятор мне скажет что-то неприятное и тупо заменит ее на if(1). А если if(sz>0), то компилятор молча преобразует код в if(sz), просто я об этом знать не буду.
Другой вопрос, что для полной защищенности еще и реальный размер массива дабл должен совпадать с sz, что достигается только использованием спец. классов или коллекций (например вектора и т.п.), которые гарантирует синхронность sz и реального размера data.
Тогда код будет абсолютно защищенным и чистым от ошибок.
Социальные закладки