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





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
  • Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
  • Новичкам также крайне полезно ознакомиться с данным документом.
[C++] Дело говорят. Только стиль 06.09.05 00:14  Число просмотров: 2665
Автор: 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 и могут как быть так и не быть. Лично я всегда беру в скобки возвращаемое значение, если оно сложнее одного токена (константы/переменной), в остальных случаях - не беру.
<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: 1 s   Design: Vadim Derkach