c++ - 复制无状态对象(lambdas)的成本?
问题描述
如何确定通过复制 lambda 创建对象是否有成本?
template<typename Lambda>
class A {
public:
A(Lambda lambda) : _lambda(lambda) {} // const Lambda& lambda less efficient?
auto call(double x) { return _lambda(x); }
private:
Lambda _lambda; // is const Lambda& _lambda less efficient?
};
我想知道如果 lambda 没有状态,那么引用是否成本高昂或微不足道(与复制 lambda 相同)?
解决方案
如何确定通过复制 lambda 创建对象是否有成本?
通过使用您打算使用的特定编译器(和开关)进行测试和分析。其他任何事情都是对您尚未确定的实施质量做出假设。
推荐阅读
- java - 我想看Pdf,想一起下载
- javascript - 如何设置调光元素 Tizen Wearable Web 的值
- azure - 即使在多租户应用获得管理员同意后,Azure AD 用户登录应用也会失败
- delphi - Delphi - DBGrid 不显示 ADO 表的内容
- laravel - 试图获取非对象的属性“用户”
- python - 单元测试返回错误,“详细信息:密钥(用户名)=(test123)已经存在。”
- arrays - 如何更改 char *array[] 中的值?
- .net - 如何在安装新版本的 Wix 安装程序之前强制完全卸载?
- wpf - 为什么 System.IO.Compression.ZipFile.ExtractToDirectory() 在 TeamCity 的 Artifact.zip 上抛出 InvalidDataException?
- php - 如何在php中按月份名称对多维数组进行排序