作者timrau (没code没真相)
看板EE_DSnP
标题Re: [请益] 一些语法
时间Fri May 30 16:04:33 2008
试试cdecl 或 c++decl.
进入之後使用explain,可以得到下列答案:
※ 引述《danielko (蛋尼尔糕)》之铭言:
: 1. int(*a)(int) 是什麽意思
cdecl> explain int(*a)(int)
declare a as pointer to function (int) returning int
: 2. int(*a[10])(int) 是什麽意思
cdecl> explain int(*a[10])(int)
declare a as array 10 of pointer to function (int) returning int
: 3. int(*a)[10] 跟 int*a[10] 一样吗
cdecl> explain int(*a)[10]
declare a as pointer to array 10 of int
cdecl> explain int*a[10]
declare a as array 10 of pointer to int
: (我对後者的认知是宣告一个大小10的array,里面装的都是int*)
: 感谢:)
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.112.20.226
1F:推 danielko:那两个是要另外安装的软体吗?? 05/30 17:11
2F:推 ric2k1:ccws 好像没装, 231 有. 有人可以向 PC室助教反应一下吗? 05/30 17:17
3F:推 ric2k1: 看饶神的文章长知识! 05/30 17:17
4F:推 kalawang:真的是看饶神文章长知识!!! 05/30 17:20
5F:→ danielko:BTW 这些用法是过时的用法吗 还是只是我太嫩了没看过? 05/30 22:24
6F:→ timrau:在C里面只得这样写 在C++里通常想办法用functor代替 05/30 22:26
7F:→ timrau:不过像是第二项 可以用来把某些要花linear time的switch 05/30 22:28
8F:→ timrau:压成constant time的操作 05/30 22:28
9F:推 bnsblue:可以请饶神开示一下上面这两句是什麽意思吗XD 05/31 00:33
10F:→ timrau:想像一下用暴力switch和用polymorphism写CmdParser的差异吧 05/31 00:46
11F:→ timrau:virtual function所用的机制 其实就是这样 05/31 00:47
12F:→ timrau:switch虽然在理想状况下也能做到constant time dispatching 05/31 00:47
13F:→ timrau:但是compiler常常处理不了这动作,只能弄得很像多个if 05/31 00:48
14F:→ timrau:然後就变linear time了 05/31 00:48
15F:推 bnsblue:太厉害了! 05/31 11:25