我很确定这与void函数指针的向量有关,但我无法用它做任何事情。
有人可以为我打破这个吗?
__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&)
答案 0 :(得分:2)
如果我是对的,可以大致翻译为:
// Typedef for brevity
typedef vector<unsigned long long>::iterator uv_iter;
// Actual function
uv_iter::difference_type operator-(const uv_iter &, const uv_iter &);
所以,可能它指的是计算向量的两个迭代器之间的差异(=距离)的函数。无论如何,当优化器开启时,这个函数实际上应该用简单的内联指针进行比较。
答案 1 :(得分:2)
似乎与减去两个std::vector<unsigned long long>::iterator
s。
答案 2 :(得分:2)
这是减法运算符(operator-
),用于将两个迭代器的差异转换为unsigned long long
s的向量。在普通的C ++中,如果没有所有的分配器和额外的模板参数,这个函数签名将如下所示:
std::vector<unsigned long long>::iterator::difference_type operator-
(const std::vector<unsigned long long>::iterator& first,
const std::vector<unsigned long long>::iterator& second);
std::vector<unsigned long long>::iterator::difference_type
通常与ptrdiff_t
相同。