【发布时间】:2015-12-01 05:46:02
【问题描述】:
class Node{
private:
vector<Node*> children;
public:
vector< Node* > getChildren ();
//or
vector< Node* >& getChildren();
}
在 Main 函数的某处我有 STL 排序:
**stl::sort((n->getChildren()).begin(),(n->getChildren()).end(),comp);**
问题来了,如果使用vector getChildren() 代码会有严重的过度问题,只有使用vector& getChildren() 有效。 我很困惑,为什么在这种情况下只有参考有效?
【问题讨论】:
-
这个问题看起来和我今天看到的另一个问题很相似:stackoverflow.com/q/34008337/1553090
-
即使这没有造成问题,它仍然毫无意义。为什么
sort一个向量然后扔掉排序好的向量? -
你的意思是
std::sort吗?