- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
#include <stdio.h>
const int (&getArray())[10] {
static int tmp[10] = {1,2,3,4,5,6,7,8,9,10};
return tmp;
}
void foo(const int (&refArr)[10])
{
size_t size = sizeof(refArr); // returns 10*sizeof(int)
printf ("Array size: %d\r\n", size);
}
int main() {
foo(getArray());
printf ("%d", getArray()[0]);
for (size_t i=1; i<sizeof(getArray())/sizeof(getArray()[0]); ++i)
printf (",%d", getArray()[i]);
return 0;
}
Aleskey 30.06.2011 15:31 # 0
guest 30.06.2011 16:28 # 0
Aleskey 30.06.2011 16:35 # 0
guest 30.06.2011 16:36 # 0
guest 30.06.2011 15:56 # 0
Оператор индексного доступа или оператор каста объекта в массив на порядок полезнее. Забавен ещё оператор каста объекта в функцию (не оператор скобочки, а именно преобразования объекта в функцию).
macGovno 30.06.2011 16:17 # 0
Это к вопросу зачем зарывать массив в функцию
guest 30.06.2011 16:29 # 0
Поподробнее можно? Видимо, для исправления порядка инициализации статических данных?
macGovno 30.06.2011 16:39 # 0
Вообще про явление читай в с++ faq.
Aleskey 30.06.2011 16:41 # 0
absolut 30.06.2011 16:46 # +3
Aleskey 30.06.2011 16:59 # +1
macGovno 30.06.2011 17:04 # 0
guest 30.06.2011 20:30 # 0
macGovno 30.06.2011 23:20 # 0
Aleskey 01.07.2011 11:44 # +1
LegionDead 01.07.2011 16:40 # −2
guest 01.07.2011 17:55 # +1
Aleskey 01.07.2011 09:05 # 0
3.14159265 30.06.2011 16:48 # +1
TarasB 30.06.2011 20:26 # +4
А если нажать "перевести", то ваще умора, 1С отдыхает!
(типа это я отписался тут)
guest 30.06.2011 20:31 # +3
bugmenot 30.06.2011 21:11 # +2
rat4 30.06.2011 22:05 # +2
wvxvw 30.06.2011 23:12 # 0
wvxvw 30.06.2011 23:19 # +1
wvxvw 30.06.2011 23:25 # +2
absolut 30.06.2011 22:31 # 0
carsten 05.07.2011 07:18 # +6
Всё зависит от количества говна в голове человека, от его синдрома кулхацкера.
gegMOPO4 06.07.2011 19:59 # 0
Lure Of Chaos 12.07.2011 16:37 # 0
guest 06.07.2011 20:03 # 0
guest8 09.04.2019 11:06 # −999
guest8 09.04.2019 18:10 # −999
guest8 09.04.2019 18:10 # −999