问题描述
考虑通过常量和引用常量传递参数
[assembly: ExportRenderer(typeof(Xamarin.Forms.TimePicker),typeof(TimePickerDialogCustomrenderer))]
namespace App1.Droid
{
class TimePickerDialogCustomrenderer : TimePickerRenderer
{
private readonly Context _context;
public TimePickerDialogCustomrenderer(Context context) : base(context)
{
_context = context;
}
protected override void OnElementChanged(ElementChangedEventArgs<Xamarin.Forms.TimePicker> e)
{
base.OnElementChanged(e);
}
TimePickerDialog dialog;
protected override TimePickerDialog CreateTimePickerDialog(int hours,int minutes)
{
dialog = new TimePickerDialog(_context,Resource.Style.TimePickerTheme,this,hours,minutes,false);
return dialog;
}
}
}
常量已经表示该值不会改变。那为什么程序员需要指定是按值传递参数还是按引用传递参数?
这个优化不应该是编译器做出的决定吗?
例如,如果参数是原始类型,例如 T function(T const x) {}
T function(T const& x) {}
或 char
,那么生成一个副本供函数使用更划算。
如果是复杂类型的参数,例如 int
或 std::string
甚至是用户定义的参数,函数通过引用来处理它更划算。
然而,这些决定并不是程序员必须做出以任何方式影响性能的妥协的困境。
在我看来,对常量的引用是多余的。声明一个参数具有常量性质就足够了,编译器应该处理是按值还是按引用传递它。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)