【问题标题】:What does this strange code do? [duplicate]这个奇怪的代码有什么作用? [复制]
【发布时间】:2015-03-16 16:37:30
【问题描述】:

我在网上找到了这个奇怪的代码,但不知道它的作用。当我编译它时,我没有得到任何输出。

int main()<%auto f = <::><%%>;%>

【问题讨论】:

标签: c++


【解决方案1】:

使用二合字母,&lt;% 对应于{%&gt; 对应于}

将这些替换为收益率

int main(){ auto f = <::>{}; }

最后,&lt;: 等价于[:&gt; 等价于],所以我们最终得到

int main(){ auto f = []{}; }

[]{} 是一个空的 lambda,f 是闭包对象的副本。

【讨论】:

    【解决方案2】:

    它使用digraphs 来混淆一些简单的代码。完全一样

    int main() { auto f = []{}; }
    

    换句话说,不多。它只是实例化一个空的 lambda,将其绑定到 ff 甚至没有被调用。

    【讨论】:

      猜你喜欢
      • 2011-10-12
      • 2021-01-12
      • 1970-01-01
      • 2015-06-27
      • 1970-01-01
      • 1970-01-01
      • 2013-04-17
      • 2010-12-15
      • 2010-09-09
      相关资源
      最近更新 更多