Advertisement

357-C++及Linux基础课程

阅读量:

1.int a=4,则对于表达式++(a++)的结果为?

结果并非预期中的5。程序在编译阶段出现错误。变量a经后缀运算后的值为4。直接对数字执行前缀运算会导致错误。这里的数值操作涉及右操作数。重新组织运算顺序:将a的后缀增量赋给变量b后再执行前缀增量操作,则最终结果将变为5。

2.若变量a是int类型,并执行了语句a=’A’+1.6;则正确的结果是?

a的值是字符’A’的ASCⅡ值加上1

3.decltype和auto都可以用来推断类型,但是二者有几处明显的差异

  1. auto跳过顶层const, typeof运算符会保留顶层const
  2. 对于引用操作, auto会推导出原有数据类型, typeof运算符会返回引用
  3. 对于解引用操作, auto也会推导出原有数据类型, typeof运算符同样返回引用
  4. 自动进行相应的转换时会实际执行, typeof运算符仅进行逻辑判断而不执行转换。总的来说,在处理涉及常量、引用及指针的操作时需要格外谨慎

在 C 语言中调用 malloc 无需显式地进行类型转换。这是因为从 void_ 到非 void 指针类型的自动隐式转换会被执行。
而在 C++ 中不支持从 void_ 隐式转为非 void 指针类型的。
因此,在使用 malloc 时必须进行显式的类型转换。
否则会导致错误,在 C++

全部评论 (0)

还没有任何评论哟~