gpt4 book ai didi

c++ - 这感觉有点反模式,有没有更好的方法(C++ - 分配给引用)

转载 作者:太空宇宙 更新时间:2023-11-04 14:34:20 24 4
gpt4 key购买 nike

代码:

static Layout::Pad& chooseFirst(Layout::Pad& A, Layout::Pad& B, bool swap) {
if(swap) { return B; } else { return A; }
}

static Layout::Pad& chooseSecond(Layout::Pad& A, Layout::Pad& B, bool swap) {
if(swap) { return A; } else { return B; }
}

void FlowchartDrawArea::addEdge(Layout::Pad& A, Layout::Pad& B) {
bool swap = false;
if(A.getPadDir() == Layout::PAD_DIRECTION::IN) {
swap = true;
}
Layout::Pad& source = chooseFirst(A,B,swap);
Layout::Pad& dest = chooseSecond(A,B,swap);

flowchart.addEdge(new Edge(source,dest));
}

我不知道还能说什么,静态函数感觉不像是解决方案,但这就是问题所在。

最佳答案

Layout::Pad& source = swap ? B : A;
Layout::Pad& dest = swap ? A : B;

flowchart.addEdge(new Edge(source,dest));

关于c++ - 这感觉有点反模式,有没有更好的方法(C++ - 分配给引用),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24995830/

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