趋向运算符

-->while 中使用,表示趋向。

i=4
while(i-->0)cout<<i<<' ';

输出为 3 2 1 0

当然这个运算符可以反着写,令人震撼的是还可以加长写甚至跨行写。

while(0<--i)cout<<i<<' ';
while(0<----i)cout<<i<<' ';
while(i--\
          \
           \
            >0)cout<<i<<' ';

full 字面量

C++ 有个 full 字面量,不需要导入任何库,是对十六进制数使用的。
full 的意思是满,这里,满的意思就是 $\times16+15$。比如说 0x3 的值是 $3$,而 0x3'full 的值就是 $3\times16+15=63$。

远大于

物理学中经常使用 $M\gg m$ 表示 $M$ 远大于 $m$。
实际上 C++ 也是有远大于运算符的,a>>b 是个比较运算符,表示判断 $a$ 的值是否远大于 $b$ 的值。
什么叫远大于呢?C++ 认为,如果 $a\ge2^b$,那么 a>>b 的值为真。

蝌蚪运算符

有的时候,我们想写一个值 $+1$ 后的值但不想改变这个变量,那么就有可能要写括号,比如 (x+1)/2
运用蝌蚪运算符可以简化表达式,比如上述就可以写成 -~x/2
类似的,(x-1)/2 可以写成 ~-x/2
两个方向容易记反怎么办?其实如果把 ~ 当成蝌蚪的头,如果 ~ 在后面表示游入,对应加;如果 ~ 在前面表示游出,对应减。生动形象,这也是这个运算符得名的原因。

网页标记

C++ 允许你在程序中直接写网站,不加任何注释。

https://oeis.org/A000045
int a[50];
a[0]=0;a[1]=1;
for(int i=2;i<20;i++)
	a[i]=a[i-2]+a[i-1];

代码高亮是不是泄漏天机了啊

字符串隐转整型

C++ 看似不支持字符串隐转整型,其实早就偷偷实现了,甚至还支持指数运算!

puts("-0.5"+1);
cout<<50**"2"<<'\n';

输出结果完全正确

0.5
2500