摘要:
C++中有那么多灵活的特性,例如重载、类型安全的模板、const关键字等等,为什么程序员还要写“#define”这样的预处理指令? 典型的一个例子,大家都知道“const int a=100;”就比“#define a 100”要好,因为const提供类型安全、避免了预处理的意外修改等。 然而,还是有一些理由让我们去使用#define。 一、使用预处理宏 1) 守护头文件 为... 阅读全文
摘要:
位运算符用来对二进制位进行操作,包括按位取反(~)、按位与(&)、按位或(I)、异或(‘)、右移(》)、左移(《)及无符号右移(>》)。位运算符只能对整型和字符型数据进行操作。 Java提供两种右移运算符。 熟悉的运算符“>>”执行算术右移,它使用最高位填充左侧的空位。右移的结果为:每移一位,第一个操作数被2除一次,移动的次数由第二个操作数确定。算术右移不改变原数的符号,而... 阅读全文