什么是笑脸胡子表情:“<:] {%>”?
我遇到了下面的程序,其中没有错误或甚至警告编译:
int main(){ <:]{%>; // smile! }
现场示例。
该节目做什么,笑脸expression是什么?
这是一个空的lambda使用有形伪装。 正常的lambda没有胡须。
该程序使用有向图来表示以下内容:
[] {};
这是一个什么都不做的lambdaexpression式。 相应的符号有这些等价物:
<: = [ %> = }
尽pipe今天通常不需要,但是当你的键盘缺less使用C ++的基本源字符集(即graphics字符集)所必需的键时,二叉字符是有用的。 构成有向图的字符的组合被处理为单个令牌。 这反过来弥补了任何装备不足的键盘或其他这样的硬件或软件。
该程序正在使用二元graphics ,它允许使用键盘(或文本编码)进行C ++编程,这些键盘可能没有C ++通常使用的字符。
代码parsing为:
int main(){ []{}; // smile! }
int main(){ <:]{%>; // smile! }
它基本上是一个Lambdaexpression式 (Lambdaexpression式是C ++ 11的一个特性),它使用二元图 (在C ++中都是二元图和三元图):
[] {};
只使用图:
<:]<%}; <:]<%%>; [:>{%>; // like my cubic hat? [:><%}; [:><%%>;
混合他们与Trigraphs:
<:??)<%??>; // popeye ??(:>{??>; // pirate