ликбез
От: savitar  
Дата: 10.08.09 06:46
Оценка:
видел такое:
boost::array<int, 2> a = {{1, 2}};

в чем смысл удваивания скобок?

еще вопрос, в сишном коде неоднократно видел такое:
int foo();
(void)foo();

что дает привидение в подобных случаях?
Re: ликбез
От: Bell Россия  
Дата: 10.08.09 06:53
Оценка: 2 (1)
Здравствуйте, savitar, Вы писали:

S>видел такое:

S>
boost::array<int, 2> a = {{1, 2}};

S>в чем смысл удваивания скобок?

Это правильная запись — внутренние скобки относятся к под-агрегату (т.е. к члену, содержащемуся в boost::array). В ряде случаев (и в данном тоже) внутренние скобки можно опустить.

S>еще вопрос, в сишном коде неоднократно видел такое:

S>
S>int foo();
S>(void)foo();
S>

S>что дает привидение в подобных случаях?

Вероятно, дает сигнал компилятору не выдавать предупреждения о том, что возвращаемое значение теряется.
Любите книгу — источник знаний (с) М.Горький
Re[2]: ликбез
От: Erop Россия  
Дата: 10.08.09 07:58
Оценка:
Здравствуйте, Bell, Вы писали:

B>Вероятно, дает сигнал компилятору не выдавать предупреждения о том, что возвращаемое значение теряется.


Только, скорее всего, не компилятору, а дополнительной тулзе, которая ищет ошибки в C-программах. Так как прогать на чистом С без такой тулзы -- себе дороже
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Re: ликбез
От: DEMON HOOD  
Дата: 12.08.09 19:54
Оценка: :)
Здравствуйте, savitar, Вы писали:

S>
S>(void)foo();
S>

S>что дает привидение в подобных случаях?

опечатка в тему. Это привидение и есть. слово (void) тебе мерещится.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.