小编aad*_*dam的帖子

声明lambda时<:和:>是什么意思?

我偶然发现了以下lambda语法,我不明白:

#include <iostream>

template<typename Callback>
void do_it(Callback callback) {
        callback();
}

template<typename T>
void p() {
        std::cout << __PRETTY_FUNCTION__ << std::endl;
}

int main() {
        auto a = <:&:> { };
        p<decltype(a)>();
        do_it(<:&:> { std::cout << "Hello" << std::endl; }); //this
}
Run Code Online (Sandbox Code Playgroud)

上面的程序产生一个输出:

void p() [with T = main()::__lambda0]
Hello
Run Code Online (Sandbox Code Playgroud)

你能解释一下,是什么<:&:> {/* ... */}意思?是否有可能将这种方式声明为带有参数的lambda?

c++ lambda digraphs c++11

18
推荐指数
1
解决办法
2139
查看次数

Chrome 时间线不会在火焰图上显示所有调用

在使用 Google Chrome 时间轴功能时,我注意到一件奇怪的事情。在我的 PC 上,工作场所火焰图非常平坦,仅显示 1-2 个深度的函数调用。我的第一个想法是:“嗯,这就是这件事的运作方式”。但是当我从家里打开同一个 web 应用程序时,火焰图要高得多,显示了所有的函数调用。

两个浏览器的版本相同(51.0.2704.84 m - 目前最新)。DevTools 中的所有设置都是相同的。

工作中电脑的火焰图: 个人电脑

家里电脑的火焰图: 笔记本电脑

我的问题很简单:为什么工作中的计算机没有显示完整的调用图,我该如何解决这个问题?

timeline google-chrome flamegraph

6
推荐指数
1
解决办法
611
查看次数

标签 统计

c++ ×1

c++11 ×1

digraphs ×1

flamegraph ×1

google-chrome ×1

lambda ×1

timeline ×1