为了账号安全,请及时绑定邮箱和手机立即绑定

留着胡须的表情是什么:“ <:] {%>”?

留着胡须的表情是什么:“ <:] {%>”?

C++
慕勒3428872 2019-12-09 09:54:43
我遇到了以下程序,该程序编译时不会出现错误甚至警告:int main(){  <:]{%>; // smile!}该程序做什么,那笑脸是什么?
查看完整描述

3 回答

?
扬帆大鱼

TA贡献1799条经验 获得超9个赞

那是用有向图伪装的空lambda。普通的lambda没有胡须。


查看完整回答
反对 回复 2019-12-09
?
大话西游666

TA贡献1817条经验 获得超14个赞

该程序使用有向图表示以下内容:


[] {};

这是一个不执行任何操作的lambda表达式。相应的符号具有以下等效项:


<: = [

%> = }

尽管现在通常不需要二字图,但是当键盘缺少使用C ++基本源字符集(即图形化的字符集)所需的某些键时,二字很有用。组成有向图的字符组合作为单个标记处理。这又弥补了任何配备不足的键盘或其他此类硬件或软件。


查看完整回答
反对 回复 2019-12-09
?
慕盖茨4494581

TA贡献1850条经验 获得超11个赞

int main(){

  <:]{%>; // smile!

}

它基本上是使用二字图的Lambda表达式(Lambda表达式是C ++ 11的功能之一)(二字图和三字图都适用于C ++):


[] {};

仅使用有向图:


<:]<%}; 


<:]<%%>;


[:>{%>; // like my cubic hat?


[:><%};


[:><%%>;

将它们与Trigraphs混合:


<:??)<%??>; // popeye


??(:>{??>; // pirate


查看完整回答
反对 回复 2019-12-09
  • 3 回答
  • 0 关注
  • 444 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信