Yes, it get destroy every time the function execution ends (in your case its get created/destroyed for 30 times per second).
if you want it to keep value after execution, use member variable of the class where this function belong to instead or use static variable or global variable.
void updateLoop(double delta)
{
static double TestVar = 1;
}
But in case you are trying to allocate memory dynamically inside this function, make sure you always perform delete operation on pointer you allocated memory to or you will get memory leaks. Because the pointer you allocated will be destroyed once program is out of scope, but memory allocated where this pointer pointed to will not destroyed. So you will loss the reference to it and hence memory leaks.
void updateLoop(double delta)
{
int* TestVar = new int;
// your codes
delete TestVar;
}