我最近开始用 C++ 编写代码,现在我正在处理结构......这是我的问题
这是我的基本结构。
struct myStruct
{
string A;
int B;
} myStruct[100];
我想将“myStruct
”中的字符串(对于结构数组中的所有元素)传递给排序函数(我使用的是内置排序函数)。我该怎么做?我希望对所有字符串进行排序...
我已尽力解释我的问题。我希望你明白并帮助我..
最佳答案
如果我没理解错的话,你想根据字符串 A
对你的数组进行排序在每个结构中,您需要通知 std::sort
如何比较你的结构。
一种方法是添加 operator<
为您的自定义类型。
bool operator< (myStruct const& lhs, myStruct const& rhs) {
return lhs.A < rhs.A;
}
另一种方法是传递std::sort
比较函数对象:
std::sort( std::begin(myArray), std::end(myArray),
[](myStruct const& lhs, myStruct const& rhs)
{ return lhs.A < rhs.A; } );
关于c++ - 将结构成员传递给函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40146198/