Чтение разн. учебные пособия, связанные с разработкой SDL Я нашел два разных примера, выполняющих одно и то же, но по-разному. Мне было интересно, какой из этих двух вариантов вы считаете верным, если судить с точки зрения «безопасности» и удобства сопровождения кода.
В первом примере программист вообще не использует assert, но код выглядит нормально (по крайней мере, на мой взгляд):
int main(){
SDL_Surface *screen;
/** Initialize SDL */
if(SDL_Init(SDL_INIT_VIDEO)!=0){
fprintf(stderr,"Unable to initialize SDL: %s",SDL_GetError());
}
atexit(SDL_Quit);
/** Sets video mode */
screen=SDL_SetVideoMode(640,480,16,SDL_HWSURFACE);
if(screen==NULL){
fprintf(stderr,"Unable to set video mode: %s",SDL_GetError());
}
return (0);
}
Во втором примере программист [другой] использует другой подход, что-то вроде (код не совсем копирование-вставка):
int main(){
SDL_Surface* screen;
/** Initialize SDL */
assert(SDL_Init(SDL_INIT_VIDEO)==0);
atexit(SDL_Quit);
/** Sets video mode */
screen=SDL_SetVideoMode(640,480,16,SDL_HWSURFACE);
assert(screen!=NULL);
return (0);
}
Можно ли "заменить" условия if (из первого примера) утверждениями, как во втором примере?
Какова правильная стратегия (если есть)?