В реализации OpenSL ES для Android следующий пример кода можно найти в файле android-ndk /samples/native-audio/jni/native-audio-jni.c.
SLresult result;
result = slCreateEngine(&engineObject, 0, NULL, 0, NULL, NULL);
assert(SL_RESULT_SUCCESS == result);
(void)result;
SLResult
определяется как тип SLuint32
, который по определению является 32-битным целым числом без знака.
Мой вопрос: что делает строка (void)result;
? Я думал, что это ничего не даст, и компилятор сможет оптимизировать это. Тем не менее, подобная линия появляется во многих местах в примере, и я задаюсь вопросом, имеет ли она какое-то значение в конце концов.