Open
Description
- 总:(建议)中文文档是否考虑标点符号的正确与完整使用?比如使用
“。”
、“;”
等的使用规范。
-
1内建类型:(排版)是否应将初始值写在每个类介绍第一行?
- 1.1 number
- 第一行:(别字)0~9是否应为0~9?
- 1.4 char
- 第一行:(建议)举例字符时(如'A','C')分别使用大小写和符号。
- 1.6 array
- 第四行:(问题)自动增长部分填0,读者会产生“array是否仅用于number”、或“同一array内,不同元素可以多个类型”的疑问。
- 1.7 list:(问题)没有访问方法的介绍。
- 1.8 pair:(问题)没有访问方法的介绍。
- 1.9 hash_map:
- 第五行:(句式)句子太长,眼睛看不清。(建议)考虑重新排版本段,拆分为两段。
- (问题)”自动建立键与0的映射“,与1.6array问题类似,0类型不明;”与扩展函数冲突则忽略“,状语从句中主语指代不明。
+(更改)改为:可使用下标运算符(”[]“)访问表中键所对应的值,若键不存在,将自动建立键与0(number类型)组成的映射;其余情况正常返回所对应权值。也可以使用点运算符(”.“)访问表中的字符串键所对应的值,若与散列表扩展函数冲突,则该次访问行为被忽略;若键不存在将触发运行时错误;其余情况正常返回所对应权值。
- 最后一行:(句式)(建议)补全后半句:
例如,map[“hello”] 可使用 map.hello 代替。但 map.hello 不会自动新建映射,而map["hello"]会。
- 1.1 number
-
2 语法
- 2.1 语句
- 第二行:(问题)本段称”一行代码称为语句“,而第三行举例为一行三句代码,有一定歧义。
- 2.2 预处理
- 2.5.2 在栈上新建对象/2.5.3 在堆上新建对象
分别对比内容,(问题)读者易产生“是否gcnew与new皆返回指针”的疑问。(建议)在2.5.2中写明是否返回指针。 - 2.6 表达式:(用词)递增、递减在++--中的取义是否应为自增自减?在此使用递增、递减,有未来与foreach等具有迭代功能的文本描述语义冲突的风险。
- 2.6.2 一元运算符
- -功能:(建议)取反应改为:
取相反数
- -功能:(建议)取反应改为:
- 2.6.3.1 右结合运算符
- +功能:(句式)对称描述不全,后半句缺少主语,(建议)改为:
对数值进行数学加法运算,或对字符串拼接
- .功能:(用词)“各种对象”中,各种一词是否多余?
- <、<=、>、>=功能:(用词)表达式返回值,而if选择分支,私以为代码语义上有别。此处“比较是否”的文本解释既可以用于<比较符的解释,也可以用于if(a<b)的解释。(建议)删去
“是否”
。 - &&、and、\、or:(问题)\是否是误写?若不是应加入对'\'转译的解释。(建议)c++中一种说法&与&&分别称为“位运算的与运算”和“逻辑运算的与运算”,可以考虑借鉴该说法/位与运算、逻辑与运算/
- +功能:(句式)对称描述不全,后半句缺少主语,(建议)改为:
- 2.6.3.2 左结合运算符:(问题)除=功能,以下所有功能解释存在“主语与宾语指代不全”问题。建议改为“对数值进行数学减法运算后的值赋予左边”。
- 表下第二行:(问题)数组填零问题,同1.6array的疑问;哈希表存在类似疑问。
- 2.6.5 结构化绑定:
- 第二行:(句式)太长拗口,(建议)改为:
结构化绑定(Structured Binding)指的是将数组中的值,按序绑定至小括号内逗号表达式列表中,如: (a, b) = {1, 2}
- 第三行:(句式)太长拗口,(建议)改为:
我们将等号左侧的小括号内逗号表达式列表称为“结构化绑定列表”。
- 第五行:(句式)状语重复,冗长,(建议)改为:
结构化绑定也可以嵌套,但要嵌套结构中对应位置的数组必须也是嵌套的,如: (a, (b, c)) = {1, {2, 3}}。
- 第二行:(句式)太长拗口,(建议)改为:
- 2.7 作用域和名称空间
- block和namespace:(问题)缺少对namespace变量周期的说明,读者易产生“namespace也会销毁变量”的误解,(建议)补充对namespace变量生命周期的说明。
- 2.7.2 名称查找
- 倒数第四行:(问题)本行描述“将会把点运算符左边的变量作为函数的第一个参数传入”,读者易产生“这种传参行为是否是强制的”的疑问,(建议)阐明强制性。
- 倒数第一行:(问题)str.size是否为误写,实际为str.size()?
- 2.1 语句