gpt4 book ai didi

c++ - 定义遍历函数的 const 和非常量版本

转载 作者:行者123 更新时间:2023-11-30 05:23:12 29 4
gpt4 key购买 nike

<分区>

我有一个类似于列表的数据结构:

template<typename T>
struct node {
T val;
unique_ptr<node<T>> next;
};

和一个简单的遍历函数:

template<typename T, typename UnaryOp>
void traverse(node<T>& list, UnaryOp op) {
node<T>* current = &list;
while(current) {
op(*current);
current = current->next.get();
}

我现在需要一个 const和一个 non-const traverse 的版本接受 const node<T>& list 的函数或 node<T>& list ,根据上下文,最好避免代码重复。这是如何实现的?

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com