在 C 和 C++ 中,单引号用于标识单个字符,双引号用于字符串字面量。字符串字面量“x”是一个字符串,它包含字符'x'和一个空终止符'\0'。因此,“x”在这种情况下是两个字符的数组。在 C++ 中,字符字面量的类型是 char。在 C 中,字符字面量的类型是整数 (int)。因此,在 C 中,sizeof('a')对于 32 位架构是 4,而 CHAR_BIT 是 8。但是 sizeof(char)对于 C 和 C++ 都是一个字节。
(int)x 是 C 样式的类型转换,而 static_cast(x) 用于 C++。此 static_cast() 提供编译时检查功能,但 C 样式的转换不支持该功能。此 static_cast() 可以出现在 C++ 代码的任何位置。并且使用此 C++ 转换可以更好地传达意图。在 C 样式的转换中,有时我们可以将某种类型的指针指向某些其他类型的数据。例如,一个整数指针也可以指向字符类型的数据,因为它们非常相似,唯一的区别是字符占用 1 个字节,整数占用 4 个字节。在 C++ 中,static_cast() 比 C 样式的转换更严格。... 阅读更多
在 C++ 中,我们可以在 if-else 语句或任何循环后省略花括号。如果我们不使用花括号,则 if-else 或循环后的只有一条语句将被视为该块的一部分。例如 −if(condition) { Line 1 Line 2 } if(condition) Line 1 Line 2在第一种情况下,Line1 和 Line2 都在 if 块中。但在第二个条件中,Line1 在 if 块中,但 Line2 不在 if 块中。因此,我们只能在 if-else 或... 阅读更多
在 C++ 中,我们可以通过不同的方式将参数传递给函数。这些不同的方式是 −值传递引用传递地址传递有时地址传递被称为引用传递,但它们在 C++ 中是不同的。在地址传递中,我们使用指针变量发送确切的内存地址,但在引用传递中,我们传递引用变量(该变量的别名)。此功能在 C 中不存在,在那里我们必须传递指针才能获得该效果。在本节中,我们将了解引用传递的优点... 阅读更多