腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
圈层
工具
MCP广场
文章/答案/技术大牛
搜索
搜索
关闭
发布
文章
问答
(9999+)
视频
沙龙
1
回答
enable_if
和
自动
返回
类型
?
、
、
cout << getX(d) << std::endl;} 这是一种解决方案,但存在必须预定义
返回
类型
的问题std::enable_if_t<boost::has_dereference<T>::value, int> getX(T t) return t->x; } 但是使用下面的方法,我可以使
返回
类型
为enable_if
浏览 12
提问于2019-04-16
得票数 2
回答已采纳
4
回答
如何使用自演绎
返回
类型
的std::
enable_if
?
、
、
、
、
将有一些函数,它们的
返回
类型
可以根据
返回
值推断出来。auto function(){}template<class T > auto function(T t) -> typename std::
enable_if
enable_if<
浏览 2
提问于2013-12-21
得票数 18
2
回答
在C++ 11中,如何专门化基于
返回
类型
接受函数对象的函数模板?
、
、
、
不过,我想做的是重载或专门化包装器函数,以便当内部函数
返回
void时,外部函数
返回
默认值0,例如: DoSomething();assert
浏览 1
提问于2014-09-11
得票数 5
回答已采纳
4
回答
为什么我应该在函数签名中避免使用std::
enable_if
、
、
、
、
Scott Meyer发布了他的下一本书EC++11的,他在书中写道,书中的一条可能是“在函数签名中避免std::
enable_if
”。std::
enable_if
可以用作函数参数、
返回
类型
或类模板或函数模板参数,以便有条件地从重载解析中删除函数或类。 std::is_same<U, double>::value, int>::type = 0>}; 作为
返回</
浏览 55
提问于2013-01-30
得票数 174
回答已采纳
1
回答
模板化类中模板化函数的困难
、
、
tuple_size<typename T::tup_t>::value>(delim);template <size_t x>} template <size_t x> typename std::
enable_if
0x -W -Wall -p
浏览 4
提问于2011-10-11
得票数 3
回答已采纳
1
回答
使用`std::
enable_if
`失败的转发包装器
、
、
、
、
我需要处理一些2
类型
, //std::cout<<i<<std::endl;foo是一个
浏览 8
提问于2019-11-03
得票数 2
回答已采纳
1
回答
如何SFINAE启用
返回
`auto`的成员函数
、
、
、
在模板元编程中,可以在
返回
类型
上使用SFINAE来选择某个模板成员函数,即 int sum() const noexcept private: template<int I> typename std::
enable_if
< I,int>::type _sum() const noexcept { return _sum<I-1
浏览 0
提问于2013-01-30
得票数 3
回答已采纳
1
回答
具有不同
返回
类型
的重载运算符上的
enable_if
、
、
、
在这里,我试图同时做3件事:使用模板重载赋值操作符,限制
类型
(使用boost::
enable_if
),以及具有特定的
返回
类型
。template <class T>现在,根据boost (第3节,项目符号1),我必须使用
enable_if
作为
返回
类型
,因为我重载了一个只能接受一个参数的运算符。但是,我希望
返回
<
浏览 1
提问于2010-09-02
得票数 2
回答已采纳
2
回答
为什么这个函数不能重载一个明显不同的签名呢?
、
、
下面的代码无法编译#include <type_traits> std::
enable_if
std::cerr << "float: " << floatVal << "\n";std::
enable_if
voi
浏览 6
提问于2015-07-28
得票数 6
回答已采纳
2
回答
有没有办法根据模板参数的
类型
在不同的类实现之间进行选择?
、
该数组接受要处理的
类型
作为模板参数。现在,如果
类型
是原始
类型
(int,double,short),则可以使用浅拷贝,而如果
类型
是类,则需要使用类的拷贝构造函数。如果它是一种简单的方法,我可以在
返回
值上使用SFAINE
和
std::
enable_if
,但对于构造函数就不是这样了。我尝试过以下几种方法,但GCC-9给出了编译错误: template< typename Type, typename std::
enable_if
< std::is_
浏览 32
提问于2019-07-13
得票数 1
回答已采纳
2
回答
Enable_if
问题
、
为此,我使用了std::
enable_if
,但是编译器抛出了一个错误:typename std::
enable_if
<std::is_same<std::random_access_iterator_tag
浏览 2
提问于2021-09-18
得票数 1
回答已采纳
1
回答
模板参数语法作为表达式
、
、
、
、
有人知道下面的代码如何为
enable_if
的模板参数工作吗?template <int n> void f(typename std::
enable_if
<(n < 0)>::type* = 0) {}template <int n> void f(typename std::
enable_if
<(n >= 0)>::type* = 0) { /* ... n is positive ... *
浏览 4
提问于2016-01-18
得票数 1
回答已采纳
4
回答
enable_if
和
转换运算符?
、
、
、
、
有没有可能将
enable_if
与
类型
转换运算符一起使用?看起来很棘手,因为
返回
类型
和
参数列表都是隐式的。
浏览 2
提问于2010-06-20
得票数 15
回答已采纳
3
回答
不编译过载函数的简单SFINAE示例
、
、
、
、
我指的是这个例子,//
enable_if
struct
enable_if
{};struct
enable_if
<true, T> {}; void do_stuff(typename
enable_if
<std::is_integr
浏览 0
提问于2018-04-07
得票数 1
回答已采纳
2
回答
尾随
返回
类型
的条件重载可能吗?
、
、
、
、
假设您尝试执行以下操作:typename std::
enable_if
< /*conditional*/ , /*type*/ >::type{可以将条件包含/重载(std::
enable_if
)
和
尾随
返回
类型<
浏览 18
提问于2012-08-08
得票数 1
回答已采纳
2
回答
模板参数下标操作符
返回
类型
的C++11
enable_if
、
、
我正在处理包含整数或浮点
类型
的向量类。我想相应地选择一个或另一个函数模板,但是推断
类型
的唯一方法是通过下标操作符[]。是否有方法在模板参数的[]操作符的
返回
类型
上使用
enable_if
<is_integral< ...?类似于:int MyFunc(V vec) {
浏览 3
提问于2021-03-18
得票数 1
回答已采纳
2
回答
std::
enable_if
的第二个参数有什么用?
、
、
、
、
我对std::
enable_if
的第二个参数感到困惑。在使用
返回
类型
的int时,我们可以使用:typename std::
enable_if
<mpi::is_builtin<T>::value, int>::typefoo() { return 1; }template<class T , class = typena
浏览 3
提问于2013-09-24
得票数 5
回答已采纳
2
回答
如何根据
类型
是整型还是浮点型来更改模板方法?
、
、
、
我正在开发一个Matrix类,它同时接受整型(short,int,long)
和
浮点型(float,double)。我希望一些方法仅限于浮点
类型
(如inversion方法),而一些方法则对浮点
类型
和
整数
类型
有不同的实现(如==运算符)。我有一种预感,正确的方法是使用boost的"
enable_if
“
和
"is_integral”/ "is_floating_point",但我似乎不能让它工作。<boost::is_in
浏览 2
提问于2012-04-23
得票数 3
回答已采纳
4
回答
C++如何使template<T>f()
返回
整数T的-1,指针
类型
的nullptr
、
、
、
、
template<typename T> :}这是我迄今为止得到的最好的解决方案:T test(typename
enable_if
is_integral<T>::value, void*
浏览 5
提问于2014-12-23
得票数 4
回答已采纳
1
回答
如何将
enable_if
用于互斥的非成员函数模板?
、
、
、
.*/ }template < typename T, unsigned Lt, typename U, unsigned Lu, class Enable =typename std::
enable_if
<(Lt < Lu)>::type > template < typename T, un
浏览 0
提问于2012-06-02
得票数 6
回答已采纳
点击加载更多
相关
资讯
C+返回值类型后置(跟踪返回值类型)
C#的未来:协变返回类型
Java 日期类型比较没有返回正确的结果
函数返回值类型优化,JSX增强,TypeScript 5.1 发布!
function:xx{}语法,这种写法可以限制返回值的类型
热门
标签
更多标签
云服务器
ICP备案
腾讯会议
云直播
对象存储
活动推荐
运营活动
广告
关闭
领券