c++ - 需要帮助破译 gprof 输出

标签 c++ stl vector profiling pointers

我很确定这与 void 函数指针 vector 有关,但我真的无法从中得到任何东西。

谁能帮我分解一下?

__gnu_cxx::__normal_iterator<unsigned long long const*, std::vector<unsigned long long, std::allocator<unsigned long long> > >::difference_type __gnu_cxx::operator-<unsigned long long const*, unsigned long long const*, std::vector<unsigned long long, std::allocator<unsigned long long> ...> >(__gnu_cxx::__normal_iterator<unsigned long long const*, std::vector<unsigned long long, std::allocator<unsigned long long> > > const&, __gnu_cxx::__normal_iterator<unsigned long long const*, std::vector<unsigned long long, std::allocator<unsigned long long> > > const&)

最佳答案

如果我是对的,这可以大致翻译成:

// Typedef for brevity
typedef vector<unsigned long long>::iterator uv_iter;
// Actual function
uv_iter::difference_type operator-(const uv_iter &, const uv_iter &);

所以,它可能指的是计算 vector 的两个迭代器之间的差异(=距离)的函数。无论如何,当优化器启用时,实际上应该在一个简单的内联指针比较中打开这样的函数。

关于c++ - 需要帮助破译 gprof 输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3118543/

相关文章:

c++ - 迭代器作为 unordered_multimap 中的键类型

c++ - 为 STL 容器专门化成员函数

C++ typedef 与未详细说明的继承

c++ - 构造 vector C++

algorithm - 在一个方向上与原点相交 minkowski 差异,我如何找到相交的脸?

c++ - Qt QXmlStreamReader 访问冲突

c++ - 表达式评估顺序

c++ - 从 boost 创建的缓冲区访问数据

C++ 分数类。重载运算符?

C++ 宏间接