getch()和(* getch)()之间的区别

时间:2011-09-12 04:30:48

标签: c++

我想知道这两个陈述之间的区别......

  1. CH =的getch();
  2. CH =(*的getch)();
  3. 两个语句在“ch”中返回相同的值。我可能错了,但我认为当我们想加快程序的执行时会使用第二个语句。

2 个答案:

答案 0 :(得分:6)

他们完全一样。

没有任何区别。

答案 1 :(得分:2)

getch()可能作为宏实现(除了作为实际函数实现)。如果是的话,

ch=getch();

将调用宏,

(*getch)()

将绕过宏定义并调用实际函数。在这种情况下,getch()可能会更快。

在实践中,至少对于我尝试过的实现,getch() 不是实现为宏,并且两个版本是相同的。

在任何一种情况下,(*getch)()都是没有充分理由的混淆。