It's 'IrrlichtDevice' and it is a class. What this line does is that it calls the function createDevice(). Which returns a pointer to a class-instance (also called object) of IrrlichtDevice. As the function name hints it has created that object internally. And the pointer to that object is assigned to the variable device which is also of type IrrlichtDevice* (pointer to an object of class IrrlichtDevice).
"createDevice()"is a function call with default parameter,this function will generate a IrrlichtDevice object at heap and return it's pointer! I'm also new to irrlicht!
Yes. createDevice is a function. In fact, you could say this function precisely it is a bit closer to C than C++ with regard to its usage. It creates an instance of the class "IrrlichtDevice" with new, and returns its pointer, in a nutshell.
There is a way to not get confused with the functions and the methods. Basicly, if it is not inside a class, it is a function, if it belongs to a class, it is a method.
"There is nothing truly useless, it always serves as a bad example". Arthur A. Schmitt