再一次,我偶然发现了一些练习,我无法理解一些基本的线条,也就是说我无法真正理解某些事情是如何工作的。我知道指针,但有时在我看来,我仍然缺乏一些基本的知识。指针作为函数参数
以下示例中使用指针的要点是什么(在函数参数中,并将字符串类型数据与char类型数据进行比较,因为它在名为InsertPerson的函数中指出)。
让我这样说吧,我们已经得到了下面的代码:
struct SPerson
{
string name;
string surname;
int age;
};
priority_queue<SPerson, vector<SPerson>, FunkyFunctor> SuperPQ;
// ** THIS IS THE BIT OF CODE WHICH I'M HAVING PROBLEM WITH
void InsertPerson(SuperPQ &kp, const char *name, const char *surname, int age)
{
SPerson newPerson;
newPerson.name = name;
newPerson.surname = surname;
newPerson.age = age;
kp.push(newPerson);
}
int main(void)
{
SuperPQ superQUEUE;
InsertPerson(superQUEUE, "Jeremy", "Clarkson", 54);
}
为什么需要指针作为函数的参数叫做InsertPerson功能,为什么我不能使用这些变量,而不是自己的指针?
预先感谢您的礼貌和任何容易理解的解释;)
干杯!
你可以使用'const std :: string&name,const std :: string&surname' – Creris 2014-10-17 22:22:11