C ++类实例化为方法参数

时间:2014-05-18 19:25:09

标签: c++ arguments const inline

快速提问,(C ++)

假设我有一个名为findPlayer( Player &p )

的函数

如果我按以下方式打电话

findPlayer(Player());

p内的本地findPlayer的常量是什么?

另外,Player()是通过引用还是值传递的?我猜测价值......

2 个答案:

答案 0 :(得分:0)

无视

这一事实
findPlayer(Player());

不应该编译,pfindPlayer()的行为不依赖于它的调用方式。这会破坏功能界面的目的。

如果您的界面为findPlayer(Player& p),那么您告诉全世界findPlayer可以通过p的公共界面访问来自Player的任何内容on-const对象。

答案 1 :(得分:0)

带有findPlayer( Player &p )

findPlayer(Player())应该给出指示常量的错误,该函数应该被定义为findPlayer(const Player &p ),并且除了使用传递引用方法之外,常量引用将是无用的对于那种方法。

相关问题