我在尝试生成随机无符号__int64值时遇到问题,是否有人能够快速有效地执行此类操作?下面是我正在做的,检查下面的代码.
unsigned __int64 m_RandomKey = 0;
while(m_RandomKey == 0)
{
m_RandomKey = (unsigned __int64) rand() << 32 | rand();
}
Run Code Online (Sandbox Code Playgroud)
生成无符号__int64密钥的最佳方法是什么,以便在一段时间后甚至根本不能再次获得相同的密钥?它不必是唯一的,只要在18,446,744,073,709,551,615中有一个机会不再做它!
我正在使用visual studio 2010,当我做类似的事情时
for(int i = 0, j = 0; i < 10; i++)
{
if(m_Var == 1)
j++;
}
if(j == 0)//This line errors undeclared identifier
DoSomething();
Run Code Online (Sandbox Code Playgroud)
我j在for循环中声明了为什么它会出错"未声明的标识符"?
另一个例子是
for(int i = 0; i < 10; i++)
{
m_Var1++;
}
for(i = 0; i < 200; i++)//This line errors undeclared identifier
{
m_Var2++;
}
Run Code Online (Sandbox Code Playgroud)
那个代码错误,即使它是在for循环中声明的,但为什么呢?有没有办法做到这一点,而不必i在循环之前声明,但在循环中声明它,而不是像上面的例子?