Что это за стиль кодирования в c? - PullRequest
5 голосов
/ 18 мая 2011
(void) fputs( line, stdout );
(void) alarm( TIMEOUT );

Выше приведено в теле функции, я никогда не видел такого кода раньше ...

Ответы [ 3 ]

10 голосов
/ 18 мая 2011

Это форма кодирования для инструментов отладки за счет того, что люди читают ваш код, и это Считается вредным . В частности, классический инструмент lint и, возможно, некоторые компиляторы генерировали предупреждения, если вы не использовали возвращаемое значение функции, возвращающей значение, и единственным способом подавить это локально было приведение результата к void.

Либо игнорируйте его, либо исправьте его (удалите ненужные void приведения), если у вас достаточно полномочий для этого.

4 голосов
/ 18 мая 2011

Единственное, что необычно - приведение к void. Это способ указать, что вы собираетесь игнорировать возвращаемое значение функции, или указать, что функция не возвращает значение. Некоторые компиляторы предупреждают о игнорируемых возвращаемых значениях, поэтому можно обойти это предупреждение. Я не думаю, что это очень хороший стиль сам.

1 голос
/ 18 мая 2011

Если вы имеете в виду часть (void), то это явно отбрасывает результат вызова функции.fputs(...) возвращает int.(void) fputs(...) сбрасывает возвращаемое значение int без генерации предупреждений компилятора.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...