при условии, что у меня есть объект, похожий на этот:
struct MenuDef
{
int titleResourceId;
struct MenuItemDef {
char* name;
int value;
SomeFunctionPtr someFactory;
} menuItems[10];
};
То есть инициализируется так:
const MenuDef m = {
1,
{
{
"zero",
0,
(SomeFunctionPtr) & MenuButton::factory,
},
{
"one",
1,
(SomeFunctionPtr) & MenuButton::factory,
},
{
"two",
2,
(SomeFunctionPtr) & MenuButton::factory,
},
}
};
Можно ли предположить, что m.menuItems[3].someFactory == 0
?
например, в таком цикле:
for ( int i = 0; m.menuItems[i].someFactory != 0; ++i)
или мне нужно вставить последний элемент, чтобы отметить конец массива от руки, чтобы быть в безопасности?
...
{
"two",
2,
(SomeFunctionPtr) & MenuButton::factory,
},
{
"",
0,
(SomeFunctionPtr) 0,
},
...