информационная безопасность
без паники и всерьез
 подробно о проекте
Портрет посетителяСтрашный баг в WindowsSpanning Tree Protocol: недокументированное применение
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 PHP2Shell начали эксплуатировать... 
 Четыре уязвимости Plex объединяют... 
 Вредоносный релиз LiteLLM 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / programming
Имя Пароль
ФОРУМ
если вы видите этот текст, отключите в настройках форума использование JavaScript
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
  • Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
  • Новичкам также крайне полезно ознакомиться с данным документом.
ИМХО, только стиль форматирования. Во всяком случае в спецификации я никаких оговорок о круглых скобках с return'ом не нашёл. 05.09.05 21:44  Число просмотров: 2560
Автор: Heller <Heller> Статус: Elderman
<"чистая" ссылка>
<programming>
[C++] return ( ... ) 05.09.05 20:55  
Автор: void <Grebnev Valery> Статус: Elderman
<"чистая" ссылка>
Часто замечал в коде пофи, когда выражения после кл. слова return помещают в скобки, в том числе и константы.
Например,

return ( rc ) ;
...
return ( true ) ;
...
return ( -1 );

==================

Что за этим стоит, кроме возможно стиля форматирования ?

Спасибо.
Возможно дело в том, что профи относится к функциям, как к подпрограммам и, в результате выходит return'ом, как функцией exit(). Т.е. рассматривает выражение return не как "вернуть значение Х", а как "выйти с кодом Х и остановить работу". 25.09.05 02:23  
Автор: kstati <Евгений Борисов> Статус: Elderman
<"чистая" ссылка>
[C++] Дело говорят. Только стиль 06.09.05 00:14  
Автор: amirul <Serge> Статус: The Elderman
<"чистая" ссылка>
Вот микрософтовская грамматика для инструкций перехода:
http://msdn.microsoft.com/library/en-us/vclang/html/_pluslang_jump_statements.asp

Вот пример из свободно распространяемой грамматики для yacc/bison:
jump_statement:
	BREAK ';'
	| CONTINUE ';'
	| RETURN expression_opt ';'
	| GOTO identifier ';'
	;

/* ... */

expression_opt:
	/* epsilon */
	| expression
	;

---

Скобки относятся к expression и могут как быть так и не быть. Лично я всегда беру в скобки возвращаемое значение, если оно сложнее одного токена (константы/переменной), в остальных случаях - не беру.
Привычка. С "детских времен", чтобы быть уверенным, 26.09.05 03:56  
Автор: Zef <Alloo Zef> Статус: Elderman
<"чистая" ссылка>
что компилер не напутает порядок команд, во всех неясных местах ставить скобки.
Да я и сейчас не уверен в ассоциативности и приоритете всех операторов 26.09.05 11:13  
Автор: amirul <Serge> Статус: The Elderman
<"чистая" ссылка>
> что компилер не напутает порядок команд, во всех неясных
> местах ставить скобки.

Так что всегда расставляю скобки, если операторов больше одного :-)

Хотя с return-ом другой случай. Я уверен, что выражение вычислится до того как будет выполняться return, но тем не менее ставлю скобки вокруг сложных выражений просто для красоты.
Аналогично... Я просто не заморачиваюсь этим вопросом. Воткнуть скобки 27.09.05 03:54  
Автор: Zef <Alloo Zef> Статус: Elderman
<"чистая" ссылка>
проще, чем выяснять, что будет, если их не воткнуть...
ИМХО, только стиль форматирования. Во всяком случае в спецификации я никаких оговорок о круглых скобках с return'ом не нашёл. 05.09.05 21:44  
Автор: Heller <Heller> Статус: Elderman
<"чистая" ссылка>
1





Рейтинг@Mail.ru


  Copyright © 2001-2026 Dmitry Leonov   Page build time: 0 s   Design: Vadim Derkach