* 总:(建议)中文文档是否考虑标点符号的正确与完整使用?比如使用`“。”`、`“;”`等的使用规范。 *** + 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"]会。` + 2 语法 + 2.1 语句 + 第二行:(问题)本段称”一行代码称为语句“,而第三行举例为一行三句代码,有一定歧义。 + 2.2 预处理 + 第二行:(问题)本段称”#之后内容均视为注释“,有一定歧义理解为c++中的”/*“,(建议)写明本行内生效、或代码中始终生效。 + 第六行:(问题)读者易产生”\@begin和\@end间是否可以写‘打多个分号’的多个语句“的疑问。(建议)阐明本问题。 + 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()?
“。”、“;”等的使用规范。1内建类型:(排版)是否应将初始值写在每个类介绍第一行?
+(更改)改为:
可使用下标运算符(”[]“)访问表中键所对应的值,若键不存在,将自动建立键与0(number类型)组成的映射;其余情况正常返回所对应权值。也可以使用点运算符(”.“)访问表中的字符串键所对应的值,若与散列表扩展函数冲突,则该次访问行为被忽略;若键不存在将触发运行时错误;其余情况正常返回所对应权值。例如,map[“hello”] 可使用 map.hello 代替。但 map.hello 不会自动新建映射,而map["hello"]会。2 语法
分别对比内容,(问题)读者易产生“是否gcnew与new皆返回指针”的疑问。(建议)在2.5.2中写明是否返回指针。
取相反数对数值进行数学加法运算,或对字符串拼接“是否”。结构化绑定(Structured Binding)指的是将数组中的值,按序绑定至小括号内逗号表达式列表中,如: (a, b) = {1, 2}我们将等号左侧的小括号内逗号表达式列表称为“结构化绑定列表”。结构化绑定也可以嵌套,但要嵌套结构中对应位置的数组必须也是嵌套的,如: (a, (b, c)) = {1, {2, 3}}。