видел такое:
boost::array<int, 2> a = {{1, 2}};
в чем смысл удваивания скобок?
еще вопрос, в сишном коде неоднократно видел такое:
int foo();
(void)foo();
что дает привидение в подобных случаях?
Здравствуйте, savitar, Вы писали:
S>видел такое:
S>boost::array<int, 2> a = {{1, 2}};
S>в чем смысл удваивания скобок?
Это правильная запись — внутренние скобки относятся к под-агрегату (т.е. к члену, содержащемуся в boost::array). В ряде случаев (и в данном тоже) внутренние скобки можно опустить.
S>еще вопрос, в сишном коде неоднократно видел такое:
S>S>int foo();
S>(void)foo();
S>
S>что дает привидение в подобных случаях?
Вероятно, дает сигнал компилятору не выдавать предупреждения о том, что возвращаемое значение теряется.
Здравствуйте, Bell, Вы писали:
B>Вероятно, дает сигнал компилятору не выдавать предупреждения о том, что возвращаемое значение теряется.
Только, скорее всего, не компилятору, а дополнительной тулзе, которая ищет ошибки в C-программах. Так как прогать на чистом С без такой тулзы -- себе дороже
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Здравствуйте, savitar, Вы писали:
S>S>(void)foo();
S>
S>что дает привидение в подобных случаях?
опечатка в тему. Это привидение и есть. слово (void) тебе мерещится.