【发布时间】:2018-02-09 06:30:35
【问题描述】:
我正在开发一个学生信息系统,所以我有这个结构来存储学生信息:
struct student_info
{
string name;
int id;
string course;
int percent;
};
我也做了这个排序功能:
bool sorting(const container &a, const container &b) {
return a.percent < b.percent;
}
这里,我从一个文件中读取并存储在结构中,将其推入结构的向量中,然后对其进行排序:
student_info raw_data;
vector <student_info> container;
ifstream infile("data.txt");
while(!infile.eof())
{
infile >> raw_data.name >> raw_data.id >> raw_data.course >> raw_data.percent;
container.push_back(raw_data);
}
sort(container.begin(), container.end(), sorting);
然后,我在某处看到了这个,但它没有清楚地解释为什么我不需要括号,即使排序是一个函数,比如为什么在调用 sort 时它只是 sorting 而不是 sorting()?
【问题讨论】:
-
sorting没有在那里调用,因此没有括号。std::sort稍后会调用它。