腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
(9999+)
视频
沙龙
3
回答
SFINAE
方法
比较
、
、
下面的代码显示了在编译时检查一个类型(基本上是一个类)是否包含成员函数member_func的
SFINAE
实现。Check_If_T_Is_Class_Type<B>::val)}附言:假设sizeof(char
浏览 2
提问于2010-12-05
得票数 6
1
回答
SFINAE
检测:编译失败时替换成功
、
、
我编写了一个简单的基于
SFINAE
的特性来检测一个类是否有一个具有特定签名的
方法
(背景是我正在尝试检测容器T是否有一个
方法
T::find(const Arg&) --如果是,则存储指向该
方法
的指针)。经过一些测试后,我发现了这样一种情况:如果T将
方法
定义为模板,但定义不是为所有可能的T编译的,那么这个特性会产生一个假阳性结果。template <typename T>}; /&
浏览 10
提问于2022-02-02
得票数 0
回答已采纳
1
回答
基于模板操作符存在性的避免编译特定行
、
、
我目前正在创建一个模板容器类,当模板类有
比较
运算符时,我希望在其中具有排序能力。 } } vector<UseClass> m_classlist;也许我不应该用
SFINAE
浏览 4
提问于2014-10-16
得票数 0
回答已采纳
1
回答
是否有一个
SFINAE
测试来检查一个枚举是否没有签名?
、
、
实际上,我不确定使用operator<或除operator==之外的任何其他
比较
运算符是否有效,但我没有看到任何其他的建议。因此,假设这是有效的,有没有一种
方法
来确定一个枚举是否有效使用
SFINAE
?
浏览 3
提问于2013-09-20
得票数 0
回答已采纳
1
回答
将
SFINAE
上下文中不正确的模板实例化的硬错误转化为软错误
、
、
、
假设我们得到了一个模板实例化Container<U, Args...> (假设Container是一个std::vector)和一个非模板类型T,我们需要检查是否可以在一个Container<T>类型的对象上调用push_back。下面是使用检测器成语的代码:#include <vector>#include <string>#include <boost/iterator.hpp&g
浏览 3
提问于2017-11-17
得票数 6
回答已采纳
1
回答
当多个重载超过
SFINAE
时,创建首选重载
、
、
B { void b() { puts("b"); } };template <typename T> decltype(&T::b, (void)0)
SFINAE
(T t) { t.b(); } {
SFINAE
(A{}); // works fine, c
浏览 0
提问于2019-07-11
得票数 3
回答已采纳
4
回答
我可以使用
SFINAE
来检测模板类成员函数吗?
、
、
我多次成功地使用
SFINAE
。要检测一个类是否提供了一个函数,这不是一个问题。我目前的问题似乎与相反!与还检测派生
方法
不同,我更愿意只检测类的
方法
。这似乎与
方法
是模板这一事实有关。是否有可能检测到类模板
方法
?我试着用一种类型实例化模板,这种类型不应该有害,但是没有运气。char(&YesType)[1]; template< class U, void (U::*)( int ) > struct
Sf
浏览 5
提问于2013-08-06
得票数 2
1
回答
SFINAE
-正在尝试确定模板类型是否具有返回类型为“variable”的成员函数
、
、
、
、
与
SFINAE
有问题。我需要能够确定一个类型是否有成员函数运算符->定义,而不管它的返回类型是什么。示例如下。 ...这个类尝试确定传入的T是否有operator->定义的
方法
;而不管operator->返回类型是什么。因此,它使用Test specialized version Test(
SFINAE
*)。两者都应该能够找到“对象运算符->() const”
方法</e
浏览 0
提问于2012-04-27
得票数 5
回答已采纳
3
回答
SFINAE
未能处理中间类型性状
、
、
、
、
.))void
sfinae
(Args&&... args) { std::cout << "
sfinae
一个重载的
sfinae
函数,即使第一个参数是invalid,也应该能够调用invalid 然而,
SFINAE
机制在这种情况下似乎不起作用,我也不确定为什么。'
sfinae
<invalid<int> &,
浏览 0
提问于2018-08-29
得票数 1
回答已采纳
1
回答
在没有
SFINAE
的情况下启用类
方法
、
、
我正在寻找一种
方法
来启用类
方法
,而不是
SFINAE
,可能是通过继承。我不能使用
SFINAE
解决这个问题的主要原因是,如果我使用
SFINAE
,操作符()需要模板化如下:auto operator() (}&my_functor<void() const>::operator() 我的第一个意图是使用超类,在那里我可以继承operator()
方
浏览 2
提问于2015-08-19
得票数 4
回答已采纳
1
回答
具有模板类成员函数的
SFINAE
、
、
我试图了解
SFINAE
,并在尝试将其应用于模板类成员函数时遇到了一个问题。std::is_same<U, float>::value,int> = 0> std::cout <is_same<U, int>::value,int> = 0> std
浏览 0
提问于2018-12-11
得票数 1
回答已采纳
1
回答
见
SFINAE
对某一功能的解释
、
、
某个函数或整个.cpp是否有将视为错误的
方法
?如果有一个选项--
sfinae
-as-error,或者某个函数的#pragma
sfinae
_disable/#pragma
sfinae
_enable?似乎由于
SFINAE
,我的功能专业化已经消失(变得不可用),我不知道如何找出它失败的原因(
SFINAE
来自哪里),基本上我有一个无意的
SFINAE
案例,我想找出导致它的原因。为了解释这一点,我有一个小
方法
: template <typen
浏览 4
提问于2021-06-07
得票数 0
回答已采纳
3
回答
如何调用模板类型
、
、
我正在尝试创建一个模板函数,它有两个基于模板参数的不同实现。第一个是针对I/O操作器的,第二个是针对任何一般情况的。typename std::enable_if<foo(T& t){} void fo
浏览 0
提问于2016-05-12
得票数 3
回答已采纳
2
回答
使
sfinae
适用于具有导出返回类型的函数?
、
、
、
、
works apply(h, std::vector<double>());// ->
sfinae
works //apply(g, std::array<do
浏览 1
提问于2017-03-26
得票数 2
回答已采纳
1
回答
SFINAE
和能见度-在Clang is与MSVC中的检查--哪个是正确的?
、
、
、
、
sizeof(::new U())>::type
sfinae
(U*);public:};class Testsubstituting explicitly-specified template arguments i
浏览 2
提问于2014-08-13
得票数 7
回答已采纳
3
回答
在模板参数中通过
SFINAE
选择构造函数
、
、
、
我试图通过
SFINAE
选择一个构造函数,如下所示:class MyClasspublic:// MyClass<int> mc2(0); std::is_pointer和std::is_class只是一个例子,原始性状
比较
复杂是否有一种
方法
可以通过
SFINAE
选择构造函
浏览 0
提问于2015-08-23
得票数 5
回答已采纳
1
回答
` `
sfinae
</* .*/>-提案.有用还是不必要?
、
我正在努力学习
SFINAE
是什么。我相信我对此有很好的理解,但在这个问题上,我并没有太多的实践。我的意思是,我会发现很难列出所有应该或可以使用
SFINAE
的情况,或者我很难立即理解一个给定的
SFINAE
代码样本应该做什么。然而,我相信我很好地理解了核心概念,能够有效地利用它。尽管如此,通过使用
SFINAE
的例子,我得出了一些结论。所以我创建了这个别名:(好的“创建”太大了.我刚写了4行代码using
sfinae
= T;
浏览 0
提问于2018-12-19
得票数 10
回答已采纳
1
回答
SFINAE
canAdd模板问题
、
、
我正在试着写一个
SFINAE
模板来决定两个类是否可以添加在一起。这主要是为了更好地理解
SFINAE
是如何工作的,而不是出于任何特定的“现实世界”原因。( typename force_int< sizeof( make<T1>() + make<T2>() ) >::T );}; { a
浏览 0
提问于2010-01-15
得票数 4
回答已采纳
2
回答
如果警员对
sfinae
、
、
随着if constexpr在c++17中的引入,c++14/c++11中使用编译时
SFINAE
可以解决的一些问题现在可以用if constexpr来解决,语法更加简单。#include <iostream>void print_
sfinae
(T&& x) std::cout(T) > 0)> print_
sfinae
(T0&& x, T&&a
浏览 0
提问于2019-01-06
得票数 11
回答已采纳
1
回答
SFINAE
与tag调度的区别
、
、
、
在这段视频中,“标记分派”和
SFINAE
作为替代方案,允许实现所需模板功能的选择。 这是正确的吗?“标签分派”不是在使用
SFINAE
吗?如果是正确的,那么
SFINAE
和tag调度到底有什么区别呢?
浏览 3
提问于2019-10-30
得票数 7
回答已采纳
点击加载更多
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
相关
资讯
ruby puts,print,p方法比较
寻人找人什么方法比较好?
Python 比较两个json的方法
Excel多表查询,这种方法比较快
R语言Outliers异常值检测方法比较
热门
标签
更多标签
云服务器
ICP备案
腾讯会议
云直播
对象存储
活动推荐
运营活动
广告
关闭
领券