1. x,y是double型,
x=1,y=x+3/2=2.0
为什么??我觉得应该是2.5.2.CRuntimeclass * PASCAL load() ----->这是什么意思??声明两个??PASCAL是 个变量名还是数据类型??3.CObject * pobject = NELL;
pobject = (*m_pfnCreateobject)();------>这是什么语法??我在书上没见过.它是什么意思???谢谢!!
x=1,y=x+3/2=2.0
为什么??我觉得应该是2.5.2.CRuntimeclass * PASCAL load() ----->这是什么意思??声明两个??PASCAL是 个变量名还是数据类型??3.CObject * pobject = NELL;
pobject = (*m_pfnCreateobject)();------>这是什么语法??我在书上没见过.它是什么意思???谢谢!!
x=1,y=x+3*1.0/2=2.5
2.CRuntimeclass * PASCAL load() ----->这是什么意思??声明两个??PASCAL是 个变量名还是数据类型??返回CRuntimeclass 类对象的指针,,,PASCAL 是按照PASCAL 规则调用
3.CObject * pobject = NELL;
pobject = (*m_pfnCreateobject)();------>这是什么语法??我在书上没见过.它是什么意思???(*m_pfnCreateobject) 的意思访问这个函数指针指向的函数,该函数的参数为空。。返回直是CObject 对象的指针
抱歉错了!11
第一问
#include<iostream.h>
int main(int argc, char* argv[])
{
double x,y;
x=1;y=x+3*1.0/2;
cout <<y;
return 0;
}
在Win32下不必了解细节,全部都是_stdcall了。
细究起来就是这种调用方式(_stdcall)的函数参数的进栈顺序是从右到左的,并且由被调用方恢复栈现场。3.CObject * pobject = NELL;//应该是NULL,表示空
pobject = (*m_pfnCreateobject)();------>这是什么语法??我在书上没见过.它是什么意思???
这段代码的意思是m_pfnCreateobject是一个指向函数的指针,它的返回值是一个CObject类的指针。而(*m_pfnCreateobject)();则是执行(调用)一个函数。
在大数C的教材上都可以找到这种调用函数的方式,你可以把它就理解为
int a=0;
int *p=&a;
*p=10;//这里a的值便成了10了,这种赋值方式就和那种奇怪的函数调用差不多了吧。
建议你看指针的概念搞定义。