do...while(0)的用处

char* buffer = NULL;
do {
    buffer = createBuffer();
    if (!buffer) {
        break;
    }

    if (buffer[0] == 0) {
        break;
    }
     // do sth else
} while (0);

delete[] buffer;
buffer = NULL;

如上述代码,使用此方式后,只需要在函数末尾添加一处释放清理代码,而不需要在每个条件判断都加上释放代码。

你可能感兴趣的:(do...while(0)的用处)