腾讯云
开发者社区
文档
建议反馈
控制台
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
登录/注册
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
(9999+)
视频
沙龙
2
回答
从
概念
中
推导
模板
参数
c++
、
clang
、
c++-concepts
我正在学习
模板
和
概念
。我试图为
从
类派生的类型创建一个
概念
,但这个类是一个
模板
。typename T, typename T2> concept DerivedFromAA = requires() {std::derived_from<CAA<T2>,T>;}; 有没有可能在函数中使用这样的
概念
,而不必显式地告诉它类的
模板
类型?关于如何定义这样的
概念
,我的想法是错误的吗?
浏览 25
提问于2021-05-10
得票数 0
回答已采纳
1
回答
从
概念
推导
模板
参数
值
c++
、
templates
、
c++-concepts
我继续我的C++20
概念
(性)旅程.我想通过从谓词
参数
中
推导
模板
参数
T来简化下面的代码,这样如果可以
从
P1
中
推断T的类型,客户端代码就不必精确。我想这是可能的,我只是不知道语法:我尝试了各种形式的
模板
+ requires子句,但是没有成功的编译。 有线索吗?
浏览 3
提问于2022-06-22
得票数 1
回答已采纳
1
回答
推导
出的非类型
模板
参数
的类类型的占位符是C++20特性吗?
c++
、
language-lawyer
、
standards
、
c++20
推导
出的类类型的占位符也可以用于新表达式的新类型id或类型id
中
的类型说明符-seq,作为显式类型转换(函数表示法)
中
的简单类型说明符、或
模板
参数
声明
中
的类型说明符.。constexpr x(T){}struct y {}; 代码: 它没有很好地集成到标准
中
,例如
浏览 2
提问于2020-08-09
得票数 0
回答已采纳
1
回答
电话类型演绎语境
中
“推断A”的意义
c++
、
language-lawyer
这句话描述了如果函数
模板
参数
是
从
“
推导
的A”派生出来的,那么它仍然是有效的,但是,对于“
推导
A”实际上是什么还没有确切的定义。我的理论是,
推导
出的A是原始的P,
从
A
中
替换
模板
参数
,但这会打破类型演绎规则,试图找到
模板
参数
使A和A完全相同,因为在A是非引用,
推导
A是引用的情况下。
浏览 0
提问于2019-04-07
得票数 1
回答已采纳
1
回答
为SFINAE测试人员提供默认值为零的原因是什么?
c++
、
templates
、
c++11
、
sfinae
、
libc++
我记得在某个地方听说它是一种优化(在实例化
模板
时加快编译器的速度),但我不完全理解它是如何工作的。我查看了该标准,其中有一节简要描述了与
模板
参数
推导
有关的默认
参数
发生了什么。14.8.2 在
模板
参数
推导
过程
中
的某些点,需要采用使用
模板
参数
的函数类型,并将这些
模板
参数
替换为相应的
模板
参数
。当任何显式指定的
模板
<
浏览 4
提问于2014-10-18
得票数 18
1
回答
为什么Clang更喜欢主
模板
而不是C++17的专门化?
c++
、
templates
、
language-lawyer
、
template-specialization
下面的从这个中的代码
中
减少struct S; struct S<T, f, void> {}; 在GCC的所有版本
中
,在所有的语言版本
中
,S的专业化都是在实例化s时选择的在所有版本的Clang
中
,但仅从C++17开始,在实例化s时选择主
模
浏览 1
提问于2021-03-22
得票数 11
回答已采纳
1
回答
概念
返回类型需求语法2对1
模板
parm
c++
、
c++20
、
c++-concepts
我想知道std::same_as是如何定义的,以及我们如何在一个
概念
或需求中使用它。class U >让我好奇的是,在这种情况下,我看到了两个
模板
parms T和U,而我们只需要编写一个类似于{ { func() } -> std::same_as<bool>; }的
模板
。
浏览 0
提问于2021-12-02
得票数 2
回答已采纳
1
回答
当部分专门化的
参数
不使用其任何
模板
参数
时,适用哪些规则?
c++
、
templates
、
language-lawyer
、
partial-specialization
n4567 temp.class.spec.matchp2
浏览 1
提问于2016-01-11
得票数 3
回答已采纳
1
回答
为什么std::排序不要求用户指定
模板
类型?
c++
、
templates
、
std
、
c++-standard-library
如果我正确理解,在标准库
中
,存在着的定义constexpr void sort( RandomIt first, RandomIt last )我想我肯定见过不止一个这样的例子,其中
模板
类型似乎几乎是自动
推导
出来的…或者它是自动
推导
出来的?
浏览 6
提问于2022-02-24
得票数 3
回答已采纳
0
回答
无法
推导
模板
参数
'N‘
c++
、
templates
、
c++14
、
stdarray
、
template-argument-deduction
int, N> const & =} f(10);array_test.cpp:4:6:注意:
模板
参数
推导
/替换失败: array_test.cpp:10:9:注意:无法
推导
模板
参数
‘N’f(10); 为什么这会失败?我不明白:它应该是可以
从
默认
参数
中
推导
出来的。我需要一个变
浏览 1
提问于2017-01-11
得票数 0
回答已采纳
1
回答
非静态方法指针的返回值扣除
c++
、
c++11
、
gcc
、
template-argument-deduction
但是,如果我用Y (取消main()
中
的最后一行注释)实例化print_one,事情就会变得更糟: test_ptr.cpp: In instantiation of 'void print_one<T此外,如果我显式地将
模板
实例化如下:_call<int>(&T::print),则整个过程都能正常工作。那么,问题将是:为什么GCC可以推断
模板
参数
Something,尽管它不是print方法签名的一部分,为什么当遇到
从
定义实际方法的类派生的类时,演绎失败?
浏览 0
提问于2020-04-16
得票数 2
回答已采纳
2
回答
是否允许在函数
模板
的显式专门化中演绎多个
模板
参数
?
c++
、
language-lawyer
、
template-specialization
、
template-argument-deduction
、
function-templates
以下是的引文 如果后者是真的,为什么这个句子不按下面的形式形成呢?可以在
模板
id
中
不指定template-arguments尾随,该<em
浏览 0
提问于2019-06-26
得票数 2
回答已采纳
1
回答
推断
模板
参数
顺序?
c++
、
templates
、
function-pointers
// 6 : Inverted deduced parametervoid f(T1 x, T y); 在3和4的情况下,如果
从
变量和函数内部传递的类型不同
浏览 0
提问于2012-11-07
得票数 2
回答已采纳
2
回答
无
参数
模板
参数
的自动检测
c++
、
c++11
int>; std::cout << f3.data << std::endl;直到昨天,我才知道编译器可以在没有
参数
的情况下推断函数
模板
的类型
参数
在上面的代码
中
,表达式和结果是相同的值。我的问题是:在C++03/C++11标准
中
,我们可以为编译器的自动类型检测逻辑找到必要的支持文档吗?
浏览 1
提问于2014-06-24
得票数 4
回答已采纳
2
回答
如何替代扣减可以产生多个可能的“
推导
A"?
c++
、
language-lawyer
、
template-argument-deduction
如果产生多个可能
推导
的A,则类型
推导
失败。注意:如果在函数
模板
的任何函数
参数
中
没有使用
模板
参数
,或者仅在非
推导
的上下文中使用,则不能从函数调用
中
推导
出相应的
模板
参数
,而且必须显式指定
模板
参数
。
浏览 6
提问于2022-08-13
得票数 1
回答已采纳
1
回答
在实例化函数
模板
时,省略
模板
类型
参数
合法吗?
c++
、
c++17
、
language-lawyer
下面的代码实现了一个函数
模板
foo,它接受任意数量的
参数
,随后处理每个
参数
,同时维护该
参数
的位置索引:void foo_impl(T valueT>{} {} 这个递归实例化函数
模板
,直到到达接受单个
参数
的基本<
浏览 5
提问于2020-03-09
得票数 3
回答已采纳
2
回答
为什么类型约束`std::convertible_to`只能与一个
模板
参数
一起使用?
c++
、
templates
、
constraints
、
c++20
、
c++-concepts
我已经浏览了几个小时的和,但没有结果,如果有人能为我解释一下这件事,我会非常感激的:void foo(std::convertible_to<A> auto x) { /* ... */ } ,这个函数可以很容易地接受转换为A的任何类型,这很奇怪,因为第一个
模板
参数
("From")被必要地删除,并在函数调用
中
推导
出来。这是可行的,尽管
模板
需要两个
参数
。我也尝
浏览 14
提问于2021-08-23
得票数 23
回答已采纳
1
回答
非类型
参数
的非
推导
上下文
c++
、
c++11
、
c++14
、
c++17
、
variadic-templates
我正在阅读C++
模板
(第二版),这是本书的一个片段:void f(double (&)[N+1], Ts... ps) {return;}func(1); 为什么我指定的
模板
参数
显式地与提供的
参数
不匹配?
浏览 0
提问于2018-12-15
得票数 13
回答已采纳
2
回答
类
模板
部分专门化的匹配
c++
、
templates
、
language-lawyer
N4527 14.5.5.1temp.class.spec.match 2如果可以从实际
模板
参数
列表
中
推导
出部分专门化的
模板
参数
,则部分专门化与给定的实际
模板
参数
列表相匹配。template<class T,int I> class A<T,T*,I> { };// #2 template<class T1,class T2,int I> class A<T1*,T2,{ };/
浏览 4
提问于2015-08-31
得票数 14
回答已采纳
2
回答
在C++
中
添加双数和复数
c++
std::cout << z2 - 1.0 << "\n"; // must change to z2 - 1 to compile这会产生编译错误,因为在表达式z1 - 1或z2 - 1.0
中
找不到任何类型的天真地说,对于z1 - 1,我希望int 1被提升为double,并期望z2 - 1.0
中
的带有基本类型int的z2被提升为complex<double>。到底怎么回事?
浏览 4
提问于2015-06-05
得票数 7
回答已采纳
点击加载更多
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
相关
资讯
在 Power Automate 中从模板创建云端流
Vision Pro发售:在VR中工作,从概念走进生活。
C+11支持函数模板的默认模板参数
社汇观点:从概念到落地数据中台DMP可以解决哪些问题?
从概念到现实:数字孪生在智慧园区建设中的实现路径
热门
标签
更多标签
云服务器
即时通信 IM
ICP备案
对象存储
实时音视频
活动推荐
运营活动
广告
关闭
领券