информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
Spanning Tree Protocol: недокументированное применениеПортрет посетителяАтака на Internet
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Бэкдор в xz/liblzma, предназначенный... 
 Три миллиона электронных замков... 
 Doom на газонокосилках 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / programming
Имя Пароль
ФОРУМ
если вы видите этот текст, отключите в настройках форума использование JavaScript
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
  • Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
  • Новичкам также крайне полезно ознакомиться с данным документом.
Привычка. С "детских времен", чтобы быть уверенным, 26.09.05 03:56  Число просмотров: 2147
Автор: Zef <Alloo Zef> Статус: 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




Rambler's Top100
Рейтинг@Mail.ru


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