问题标签 [result-of]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2054 浏览

c++ - c++推演“非类型函数指针”类模板参数

考虑一个模板类,如:

这可以通过使用实例化:

但是显式声明返回值类型似乎是不必要的。我想要实现的是:

不幸的是,我不是 c++ 期望的,这似乎是语言的一个隐藏角落(至少对我来说)。

如果我可以从指向函数的指针获取其类型 - 类似于: std::tr1::result_of<&fn>::type // 错误 1 ​​错误 C2923: 'std::tr1::result_of' : 'fn1 ' 不是参数 '_Fty' 的有效模板类型参数

该错误是有道理的,因为该参数根本不是“类型”

C++0x 有 decltype(&fn1) 但那是几年后的事了。

在 C++03 (+ tr1) 中有什么方法可以做到这一点?

限制: - 我不想传递函子,f1 和 f2 必须保留具有返回值的全局函数(不能将其移动到参数)。)

0 投票
2 回答
22021 浏览

c++ - std::result_of 和 decltype 之间的区别

我在理解std::result_ofC++0x 中的需求时遇到了一些麻烦。如果我理解正确的话,result_of是用来获取调用具有某些类型参数的函数对象的结果类型。例如:

我真的看不出与以下代码的区别:

或者

我可以看到这两种解决方案的唯一问题是我们需要:

  • 有一个函子的实例以在传递给 decltype 的表达式中使用它。
  • 知道函子的定义构造函数。

我是否认为decltype和之间的唯一区别result_of是第一个需要表达而第二个不需要?

0 投票
1 回答
218 浏览

c++ - 如何使用 boost 确定给定数组类型的下标运算符的返回类型?

如果我想使用 boost 确定数组 (T) 的下标运算符返回的类型,我需要使用什么类型签名?请注意,我将使用它的数组不包含 typedef 并且是第三方的。

例子。我想确定:

就像是

? 我一直在类型签名中遇到 operator[] 的问题。:|

谢谢!

0 投票
1 回答
1192 浏览

visual-c++ - 获取模板 lambda 参数的返回值,如何简化代码?

这是我的把戏:

使用示例:

如果 F 是 lambda:

我认为函数 get_return_value 看起来很难看......如何简化它?

0 投票
1 回答
1810 浏览

c++ - result_of 对我不起作用

两个 typedef 都给出错误

0 投票
1 回答
7783 浏览

c++ - std::result_of 简单函数

请解释为什么std::result_of<f(int)>::type x;无效...

cppreference 说“(std::result_of)在编译类型推导出函数调用表达式的返回类型。”。

有什么问题?

0 投票
1 回答
2714 浏览

c++ - c++错误std::result_of没有命名类型

g++ -std=c++0x'ing后std::result_of产生以下错误信息

(SUSE 上的 g++ 版本 4.5.0。)

足以重现错误的相关代码如下

此外,我尝试从 wikipedia 或 cpluplus.com 编译示例,但无济于事。这是特定编译器的问题还是我做错了什么?

0 投票
1 回答
718 浏览

c++ - 基本的提升精神语义动作无法编译

我正在尝试向 ast 添加大于运算符>:代码与文档中的代码 95% 相同。

下面的两个兴趣点

  • 我正在尝试编写对大于的支持的代码块:在下面的代码中注释。
  • 解析中的一行term无法编译,因为我还不了解语义动作:不确定如何通过 phoenix 和语义动作绑定lhsof 。lhs > rhs

对于 Spirit 的普通用户来说,该解决方案应该是微不足道的,但我仍在学习,到目前为止只能通过示例获得。

任何帮助,将不胜感激。TIA。

代码

0 投票
3 回答
825 浏览

c++ - 检测函数参数类型

我使用以下代码来检测给定函数的长参数。

所以,给定:

我想提取int *.

这是我的尝试:

然而,这不起作用并且 gcc 4.6 给出了错误

所以,我有两个问题:

a) 上面的代码有什么问题?

b)是否有可能以任何其他方式/方式做到这一点?

0 投票
2 回答
237 浏览

c++ - 类方法的结果类型?

考虑以下示例:

有没有办法得到返回的类型T::operator[](unsigned int)

目前,g++ 说:argument in position '1' is not a potential constant expression