函数式转换语法如何工作?

时间:2009-10-20 12:14:57

标签: c++ casting

我想我的语法有点困惑。以下是什么意思?

typedef char *PChar;
hopeItWorks = PChar( 0x00ff0000 );

3 个答案:

答案 0 :(得分:5)

相当于(PChar) 0x00ff0000(char *) 0x00ff0000。在语法上将其视为调用单参数构造函数。

答案 1 :(得分:5)

SomeType(args)表示显式构造函数调用,如果SomeType是用户定义的类型,那么通常的c-cast (SomeType)args如果SomeType是基本类型或指针。

PChar相当于char *(指针)。因此hopeItWorks = (char *)0x00ff0000;

答案 2 :(得分:4)

typedef char *PChar;

char*Pchar的typedef。您可以使用Pchar定义变量,而不是使用char*

hopeItWorks = PChar( 0x00ff0000 );

等同于==>

 hopeItWorks = (char *)( 0x00ff0000 );