问一下CRect的简单用法,高手帮解决下。该怎么处理

问一下CRect的简单用法,高手帮解决下。!
我看孙鑫老师的视频发现了有这么个语句
m_btn.Create("维新",WS_CHILD | BS_DEFPUSHBUTTON,CRect(0,0,100,100),this,123);
是创建一个按钮,在类中已经申明了 CButton m_btn;
MSDN中对Creat的声明是
CButton::Create 
BOOL Create( LPCTSTR lpszCaption, DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID );

这里问下CRect(0,0,100,100)为什么可以这样用,CRect是个类,在没有实例化的情况下怎么可以赋值呀
在编译和运行都没错,为什么?有没有人告诉我

------解决方案--------------------
这是调用构造函数
------解决方案--------------------
CRect(0,0,100,100)是创建了一个无名对象,相当于:
CRect temp(0,0,100,100);

无名对象和有名对象其实是一样的,只是无名对象在编程时无法引用,编译成机器码后是一样的,机器码里面没有名字这个概念,只有地址,无名对象也是有地址的。
------解决方案--------------------
生成临时变量:
1)传递一个参数时,
2)返回一个值,
int return(int i, int j)
{
return i+j;
}
3)还有就是LS的那样的使用。