腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
(9999+)
视频
沙龙
2
回答
为什么
std
::
get
<
T
>
其中
T
是
调用
constexpr
函数
失败
的
结果
?
、
我
的
问题
是
这段代码到底
是
如何工作
的
:
constexpr
int i = 0;现在,如果我编写以下代码,它将
失败
:
浏览 14
提问于2019-11-01
得票数 0
回答已采纳
1
回答
如果在可变模板解压缩中达到终止功能,则为例外。
、
、
、
因此,我正在使用templates &
constexpr
,特别是各种模板,并实现了以下功能:
constexpr
T
get
_argument(size_
t
get
_argument<
T
,args...>(index-1) : arg;这里
的
终止
函数
目前
是
一个虚拟占位符。所以这个
函数
可以工作,但是返回
浏览 3
提问于2014-02-11
得票数 1
回答已采纳
3
回答
如何根据模板类型转发对成员
函数
模板
的
调用
,该模板可以是常量或非常量?
、
、
我有一些类似的东西(将示例简化到相关点) struct Foo
constexpr
std
::enable_if<someTrait<Foo& foo;} 例如,根据模板类型,Foo::
get
的
计算
结果
为const常量表达式
函数
或完全非常量
的
值。someTrait并再次
调用
常量
函数
constexp
浏览 6
提问于2020-12-08
得票数 1
1
回答
为什么
constexpr
上下文使编译器
失败
,而w/o使编译器优化得很完美?
、
、
、
、
但是,从
constexpr
上下文中
调用
这样一个完全优化
的
函数
会导致错误,因为它在内部使用(编译器内置)
函数
/本质,而这些
函数
没有标记为
constexpr
(特别是在memcpy中)。(在将
constexpr
应用于这样
的
函数
时,即使没有
constexpr
上下文,Clang也会直接
失败
。) ,
为什么
是
这样?作为示例更容易理解,下面<
浏览 2
提问于2020-03-06
得票数 1
回答已采纳
1
回答
SFINAE与
std
::
get
、
、
、
我想检测元组
的
一个元素(或者任何可以与
std
::
get
一起使用
的
东西)是否
是
constexpr
。为了检查出于某种原因错误重载并不总是被
调用
,我注释掉了错误重载并得到编译器错误: 注意:忽略候选模板:N= 0
的
替换
失败
,
T
= const
std
::tuple:非类型模板参数不是常量表达式。自动检查(const& arg) -> sfinae_true<(
std
浏览 4
提问于2016-08-26
得票数 8
1
回答
为什么
不能在
函数
中使用
constexpr
值,但在此值
的
范围内可以这样做呢?
、
、
、
、
我不能在
函数
中使用
constexpr
值,而不是
函数
的
外部。
为什么
我不能在
函数
中使用
co
浏览 0
提问于2016-08-13
得票数 9
回答已采纳
2
回答
如果
constexpr
()与元组一起使用,则为C++17
、
、
、
、
目标
是
将所有变量类型传递给转换器,并“隐藏”转换
的
变量类型。通过这种方式,
调用
者可以尝试转换所有内容,而无需担心是否需要转换,转换器将会知道。);我
的
问题
是
这样
的
: if
constexpr
(
std
::
get
<I>(transformers).CanTransf
浏览 0
提问于2017-12-12
得票数 1
3
回答
为什么
C++编译器可以将一个
函数
声明为
constexpr
,而这个
函数
不能
是
constexpr
呢?
、
、
、
、
为什么
C++编译器可以将一个
函数
声明为
constexpr
,而这个
函数
不能
是
constexpr
呢?size_
t
N> return
std
::accumulate(
std
::next(
std
::begin(initializer_list(); (自C++14)
浏览 5
提问于2016-08-09
得票数 4
回答已采纳
2
回答
使用统一初始化和常量表达式int时,
std
::max出现意外行为
、
、
、
我正在试验
std
::max。我正在尝试传递具有统一初始化(花括号)
的
整数常量表达式,以将它们与浮点变量进行比较。实验a):使用double/int混合
调用
std
::max() double a = 3.0; auto res =
std
::max(a, b); 不编译这当然
是
可以
的
。实验c):与b)相同,但交换
std
::max
的
参数。double a = 3.0; <em
浏览 31
提问于2020-04-12
得票数 5
回答已采纳
1
回答
Constexpr
lambda论点
、
下面提供
的
ForEach
函数
使用索引0、1、2
调用
给定
的
lambda 3次:inline
constexpr
void但是,以下试图打印元组元素
的
代码要求index
是
一个
constexpr
: auto
t
=
std
::make_tuple(1, 2.0,
std
浏览 1
提问于2019-07-08
得票数 2
回答已采纳
1
回答
在结构内部模板参数化中
的
应用
、
、
、
假设您有一个包含static
constexpr
函数
的
结构和一个
的
类型别名(或者您希望使用const表达式
的
结果
来模板
的
任何类型),如下所示: static
constexpr
std
::size_
t
Count() noexcept { } using Bitset =
std
::bitset
浏览 2
提问于2016-03-31
得票数 0
回答已采纳
1
回答
std
::reference_wrapper,构造
函数
实现解释
、
、
、
、
我
的
困惑
是
: 1.)构造
函数
是
模板
函数
,它采用与模板类param
T
不同
的
类型param (U)。我看到一个类
的
成员
函数
是
模板
函数
,并且依赖于不同类型
的
params,然后
是
模板类
的
类型param,但是我想不出它是如何工作
的
。有一个相关
的
问题,但我不能把它与我
的
困惑联系起来。2.我看到构造<em
浏览 11
提问于2022-01-02
得票数 6
回答已采纳
1
回答
替代
失败
、
、
、
、
目前,我正在尝试编写一些灵活
的
编译时数学库,只是遇到了一个无法摆脱
的
替换
失败
。以下
是
问题所在:
T
_denominator;为了让库变得灵活,我试着大量使用SFINAE来限制对操作符
函数
的
调用
,只对有理数,有理数积分和积分有理数下面
是
operator+<e
浏览 2
提问于2012-09-05
得票数 0
回答已采纳
1
回答
Clang、MSVC、GCC不同意在index_sequence中用
函数
应用程序编译这段代码。
、
、
、
、
这段代码从一个到另一个问题:
constexpr
auto apply(F f,
std
::index_sequence<Is...>){template <typename F,
std
::size_
t</
浏览 2
提问于2021-10-07
得票数 7
1
回答
在if中将用于类型检查
的
static_assert转换为C++14
、
、
、
、
constexpr
(
std
::is_same<
T
, int>::value) return "Integer"; else if
constexpr
如果没有匹配
的
类型,则
调用
使用
get
_assertion_message
的
模板
函数
static_assert。 我正在考虑根据前面的问题应用一个解决方案:。该解决方案基于一种称为“标记分派”
的</em
浏览 5
提问于2022-05-22
得票数 2
2
回答
std
:如何应用前向参数而不显式地使用
std
:: forward?
、
、
、
考虑
的
可能实现template <class F, class Tuple,
std
::size_
t
...I>{ return
std
::invoke(
std
::forward<F
浏览 0
提问于2016-12-21
得票数 9
回答已采纳
1
回答
如何将2D元组[x][y]转换为[y][x],并
调用
每个
结果
集
的
变量
函数
、
、
、
、
我希望“旋转”一个2D元组
的
轴,并为每个
结果
集
调用
一个变量
函数
。
constexpr
auto someData =
std
::make_tuple(
std
::make_tuple(4,5, 6.0),
std
::make_tuple(7
浏览 2
提问于2022-05-22
得票数 2
回答已采纳
2
回答
启用if/else类成员模板实例化
、
、
有人能告诉我如何基于预定义基组
的
不同派生类启用if/ set类成员模板吗?// User-derivedclass DerivedB : public BaseB {};obj.foo<DerivedA>(); // Automatically deduce type = Type::TypeA obj.foo<
浏览 2
提问于2016-05-25
得票数 0
回答已采纳
1
回答
使用带有
constexpr
参数
的
std
::enable_if进行重载解析不能按预期工作
、
、
、
我试图根据
其中
一个模板参数
的
类型为
函数
模板添加
函数
重载,并将定义为consexpr
的
参数传递到其他地方以帮助解决重载问题。下面
是
我想要实现
的
代码示例: struct use_my_impl_
t
{}; typename然而,
结果
并不是我所期望
的
。如果我像这样
浏览 20
提问于2021-03-25
得票数 0
回答已采纳
1
回答
std
::foward
的
第二次超载(以cppreference.com为例)
、
、
我知道
std
::forward
的
第二个过载
constexpr
T
&& forward(
std
::remove_reference_
t
<
T
>&&
t
) noexcept有一个例子说明在中使用这种重载(普拉托利亚在中也提到了这一点): 将rvalue转发为rvalue,并禁止将rvalue转发为lvalue --这种重载使将表
浏览 3
提问于2021-08-04
得票数 5
回答已采纳
点击加载更多
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
相关
资讯
C++20:核心语言
C+11线程thread与任务async
C+23 特性概览
实现线程安全队列——细粒度锁实现
从 C+98到C+17,元编程是如何演进的?
热门
标签
更多标签
云服务器
ICP备案
对象存储
腾讯会议
云直播
活动推荐
运营活动
广告
关闭
领券