当engine_tick()返回false时它将退出。 while语句不需要正文。 0xa末尾的ull只是指定它是无符号长long,而0x指定它是十六进制。
没有 for 环 适用于任何类型的迭代处理。不仅仅是数字。
for
该声明
for (a;b;c) d;
是(几乎)相同
{ a; while (b) { d; c; } }
空体意味着主要的好处已经在a,b和c中。
所以对于你的陈述:
for (register unsigned long long i = 0xaull; engine_tick(); kRuntimeStatistics::INSTANCE.FramesSinceStart++, ++ i);
它是一样的
{ register unsigned long long i = 0xaull; while (engine_tick()) { kRuntimeStatistics::INSTANCE.FramesSinceStart++; ++ i; } }
register
++i
0xaull
0x
a
unsigned long long