影响自动类型扣除
Influencing automatic type deduction
假设我正在编写一个返回某种代理对象的函数,比如说是为了惰性计算或其他目的。如果我写的代码像
auto x = func();
那么x
将是返回值的类型 - 而不是我想要代理的对象的类型。是否可以更改auto
或decltype
,以便在这种情况下使用它们将返回我想要返回的实际结果,而不是代理对象本身的类型?
随机想法:
您可以使用 decltype(*func())
或访问代理对象的类型。除了通常的const
、&
等之外,没有其他修饰符可以auto
。
如果是惰性求值,您可能现在不想要最终的对象类型,是吗?
如果代理具有指向最终对象的 cenversion 运算符,auto
怎么知道应该使用它?如果有多个怎么办?
为什么不在返回时将其键入func()
您想要的内容?
相关文章:
- ArduinoJson 6.15.2:JsonObject没有命名类型
- 删除一个线程上有数百万个字符串的大型哈希映射会影响另一个线程的性能
- 为什么返回类型的'const'限定符对标有 __forceinline/内联的函数没有影响?
- 何时应使用 C++ 固定宽度整数类型,它们如何影响性能?
- 我如何根据某些模板参数影响模板类方法的返回类型
- 定义多个名称相同但类型的函数如何影响C++编译器的性能?
- 原生类型的封装会影响效率吗
- static_cast是否影响简单类型float的Boost
- 32位或64位操作系统如何影响数据类型范围
- 更改 std::p air 类型会影响哈希图
- C++数据类型及其对可执行文件大小的影响
- 函数返回类型是否会影响重载的选择
- 同一类型的多个声明是否会影响编译时间
- 为什么引用的常量会影响它是否可以用不同类型的变量初始化
- 为什么包含未使用的bool类型会影响char类型的引用?
- 函数的返回类型对c++程序有什么影响?
- 为char类型变量输入多个字符的影响
- 如何为仅影响特定枚举类型的枚举编写通用函数
- C++-为什么插入类型的顺序会影响Vector性能(GCC 4.81)
- 影响自动类型扣除