- 论坛徽章:
- 2
|
本帖最后由 OwnWaterloo 于 2010-12-22 14:17 编辑
VLA(variable length array), 这术语以前也没仔细想过应该如何翻译。
C99的中文资料不多, 印象中那些资料对这个术语也是保留原文。
单就这个术语的"字面含义"而言, 给我的感觉是:
1. 它是数组
2. 它的尺寸是可变的
也就是类似std::vector那样的东西。
但VLA实际上是尺寸不需由常量表达式指定的固定尺寸数组:
1. 尺寸可由变量指定
2. 一旦指定, 不可再改变
所以一直对这个术语耿耿于怀, 词不达意啊……
------ ------ ------ ------ 以上背景 ------ ------ ------ ------
刚看到《狂人C》对这个翻译的观点: 选择"变量长度数组", 而不是"可变长数组"。
变量长度数组, 咋一看, 脑海中浮现的是good good study…… 拼凑流……
但多想想, 以及看看书中的解释, 又好像就应该是这样的。
------ ------ ------ ------ 以下问题 ------ ------ ------ ------
1. VLA应该如何翻译:
1.1 可变长数组
1.2 变量长度数组
2. VLA的本意?
其实我纠结的就是这个问题……
是我对ISO的术语理解错误了? 还是(如果没理解错, 那一定就是)ISO脑残了?
投票吧, 欢迎参与 :
认为翻译为"可变长数组", 且ISO就是这个含义的(长度可变) —— 显然、ISO脑残了 —— 请选1。
认为翻译为"变量长度数组", 且ISO含义为长度可变 —— 翻译负负得正, 太给力 —— 请选2。
认为翻译为"变量长度数组", 且这是ISO本意 (长度可由变量指定), 请选3。
|
|