作者CoNsTaR ((const *)
看板C_and_CPP
标题Re: [问题] 指标型别的疑惑
时间Mon Sep 19 23:05:23 2016
descent 大大在前面已经讲的很清楚了,就当我这篇是帮他补充吧~
程式执行的时候会有好多种状态 (state)
凡是可以被你“参数化”的东西都可以看成是 state
例如:值
有些 state 是一定得在 compile-time 决定的
例如:常数(像是编译日期)
有些 state 则是在 runtime 才能够决定的
例如:user input
大部分的 state 都是既能够在 compile-time 决定,也能在 runtime 决定的
为了增进程式的效能,我们会把一些在 compile-time 就能够决定的 state 纪录在 type
里面,成为「型别资讯」
为了让程式更有弹性,我们会把一些 state 留到 runtime 才决定,当然,有时候型别资
讯也是 runtime 决定的
以 C 语言来说,变数在记忆体中的大小是 compile-time 决定的(大部分情形下)
而且被记录在型别资讯里头,可以利用 sizeof 运算子来向编译器取得
所以这个数字可能不会存在於已经编译好的程式中,而只出现在编译时期
推荐原 Po 可以去了解静态型别和动态型别的不同,两者的做法是不同的
要是还有兴趣,推荐了解一下 type theory,可以让你有更高一层的视野
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 114.33.205.61
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/C_and_CPP/M.1474297525.A.691.html
※ 编辑: CoNsTaR (114.33.205.79), 09/20/2016 00:00:27
※ 编辑: CoNsTaR (114.33.205.79), 09/20/2016 01:43:42
1F:推 wa007123456: 谢谢你的补充^_^ 09/20 06:56