操作员过载
Overloading Operators
本文关键字:操作员 更新时间:2023-10-16
我目前正试图为我的平方列表控件重载.begin()上的++运算符。
在我的hpp文件中,我有以下内容:
template <typename T_>
class sq_list
{
public:
typedef T_* iterator;
iterator _itr;
square_list( iterator n ) : _itr(n) { }
sq_list operator ++ (sq_list<int> lhs) {
return lhs++;
}
};
目前,这需要我将迭代器放在方形列表对象中。我需要它做的是在.cpp文件执行++名称.begin()时调用++方法;而不是将该值放入我的容器中,然后递增该容器。如何让重载函数只在++name.begin()上工作来增加迭代器,而不必将其放入sq_list容器中?
谢谢!
通常,您需要在迭代器上定义运算符。在这里,迭代器是指向底层元素类型的指针,所以++已经在上面工作了。您是否尝试过简单地在迭代器上调用++,而根本没有operator++
实现?
相关文章:
- <<操作员在下面的行中工作
- C++ 与操作员不匹配<<
- 操作员C++的模棱两可的过载
- C++中>>操作员过载时出现问题?
- NaN 上的宇宙飞船操作员
- 比根<操作员
- SFINAE不能防止模棱两可的操作员过载吗?
- 什么是现实中的"endl"(或任何输出操纵器)?它是如何实现的,它如何与操作员<<一起工
- 为什么"delete"操作员给我访问权限冲突
- 为什么使操作员成为新的专用会打破 std::shared_ptr?
- 在这种情况下是私有的吗?试图使操作员<<过载
- C++操作员过载>>
- 是否有 C++20 浮点数的包装器,使我能够默认宇宙飞船操作员?
- 与异常处理程序中的操作员<<不匹配
- 复印作业操作员说明
- 友谊和操作员+=重载
- >操作员在比较两个C++容器时会怎么做?
- 与操作员比较两个计时时间点
- C++操作员订单评估
- 如何强制新操作员根据我的需要解释语句