腾讯云
开发者社区
文档
建议反馈
控制台
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
登录/注册
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
(9999+)
视频
沙龙
1
回答
C++
可变
模板
参数
:
对象
不作为
引用
转发
c++
、
variadic-templates
、
perfect-forwarding
ConstructAndPrint<Printable>(ncRef); // "Call to deleted constructor of NotCopyable" } 即使我显式地提供了
引用
变量作为
参数
,NotCopyable似乎也没有被正确地作为
引用
转发
。有没有办法确保
引用
是
转发
的,而不是复制构造的
对象
?
浏览 13
提问于2021-04-09
得票数 0
回答已采纳
1
回答
boost中的
模板
髓元连接
c++
、
templates
、
boost
在Boost (例如,)提供的与MPL库相关的文档中,可以找到以下构造: 我有两个问题: 文档是否
引用
了f具有默认
模板
参数
的情况(考虑编写文档时的语言状态)?考虑到语言的当前状态(在发布
浏览 4
提问于2017-10-15
得票数 0
回答已采纳
1
回答
C++
类需要对另一个类的
对象
具有
可变
数量的
引用
c++
、
templates
、
reference
、
variadic-templates
假设我有一个
C++
类(类A),它需要
引用
另一个类(类B)的
可变
数量的实例。所需的
引用
数量在编译时是已知的。就用法而言,我希望能够在编译时将对B类型
对象
的
引用
传递给A类型
对象
。我一直在思考如何解决这个问题,我的一个想法是使用
可变
模板
构造。我不是很熟悉
可变
模板
,所以在学习这个主题之前,我想知道它是否对我的问题有很好的解决方案。
浏览 11
提问于2021-07-26
得票数 0
回答已采纳
1
回答
如何对
可变
函数中的所有
参数
调用std::forward?
c++
、
c++11
、
variadic-templates
、
rvalue-reference
、
perfect-forwarding
我刚刚编写了一个通用
对象
工厂,并使用boost预处理器元库来制作一个
可变
模板
(使用2010,但它不支持它们)。我的函数使用rval
引用
和std::forward来做完美的
转发
,它让我得到了thinking...when,C++0X出来了,我有一个标准的编译器,我会用真正的
可变
模板
来做这件事。但是,我如何对
参数
调用std::forward呢?
浏览 4
提问于2010-05-13
得票数 126
回答已采纳
2
回答
成员函数
模板
,用于对具有任意
参数
的数据成员调用一个函数。
c++
、
c++11
、
templates
、
variadic-templates
我正在编写一个C++11代码库,并想知道如何在传递任意
参数
的成员类型上调用任何函数。注意,由于我使用的是std::invoke.,所以不能使用像 C++11这样的东西 我开始在Outer类中创建一个函数
模板
,但是我的初次尝试给出了一个编译错误。
浏览 3
提问于2020-02-19
得票数 0
回答已采纳
2
回答
在
模板
参数
推导过程中丢失限定符
c++
、
templates
、
variadic-templates
由于我使用的是C++11,因此我编写了自己的make_unique函数,该函数接受一个
可变
模板
参数
包并将其
转发
给std::unique_ptr构造函数。这对于简单的数据类型很有效。然而,我试图构造的
对象
通过常量
引用
接受其他类型的
对象
。然而,在传递const
引用
时,我得到了"Conversions loses“,即struct B { B(const A& ob) { ... } }; auto
浏览 6
提问于2018-08-06
得票数 2
2
回答
向量的emplace_back
c++
、
stl
、
c++11
你能解释一下“完美
转发
”是如何工作的吗? 我读到向量的emplace_back不需要复制或移动
对象
,因为它的
参数
是作为
可变
模板
实现的。
浏览 0
提问于2012-07-09
得票数 18
3
回答
为什么非位置的“新”和“删除”被内置在语言中,而不仅仅是常规功能?
c++
、
new-operator
、
delete-operator
为什么非位置和被实现为语言内置而不是常规函数? template <typename T, typename... Ts>{ new (pt
浏览 6
提问于2017-07-07
得票数 38
回答已采纳
4
回答
如果可能,
C++
按rvalue
引用
传递
参数
,否则复制lvalue
引用
。
c++
、
function
、
c++11
、
templates
、
rvalue-reference
对于rvalue
引用
,可能会删除许多冗余副本,但这似乎需要我多次编写相同的函数(一个用于rvalue
引用
,一个用于const lvalue
引用
)。但是标准库似乎只需要声明一些函数一次。表示它只接受rvalue
引用
参数
。当传递给它的值是一个蹂躏的
引用
时,它似乎也不会复制,但是在我上面的示例中使用时,它会复制一个副本(正如大多数人所期望的那样)。 我怎么能让foo像这样工作呢?
浏览 9
提问于2017-03-23
得票数 5
回答已采纳
3
回答
如何从
参数
包构建std::元组
引用
?
c++
、
c++17
、
variadic-templates
、
stdtuple
我有一个构建器类,我想存储
参数
作为
引用
,以便在后续的构建中使用。 我希望将
可变
数量的
参数
传递给我的类,使用类
模板
参数
推断
模板
参数
,并将这些传递的
参数
作为
引用
存储在std::tuple中。从
参数
包转换到std::tuple
引用
的最简单方法是什么?我发现了std::forward_as_tuple,它所做的事情与我想要的类似,但是我不想要一个
转发
引用
浏览 1
提问于2019-09-13
得票数 0
回答已采纳
5
回答
在
C++
中可以将函数作为
参数
传递吗?
c++
、
function
、
parameters
有没有办法在
C++
中将函数作为
参数
传递,比如,我知道在C中可以使用函数指针将函数作为
参数
传递,我想知道在
C++
中是否也可以这样做。
浏览 2
提问于2013-01-08
得票数 0
回答已采纳
1
回答
具有
可变
模板
参数
的成员函数的显式专门化
c++
、
templates
、
variadic-templates
我正在编写一个
模板
化的事件处理程序,它允许用户向连接的侦听器发送事件(以struct的形式)。 我有一个"emit“成员函数,它将从提供的
可变
模板
参数
构造一个事件
对象
并
转发
事件。但是,我想提供一个专门的"emit“函数,它将检测所提供的
参数
是否是预先构造的事件
对象
,在这种情况下,我可以
转发
事件,而不需要进行多余的复制。 我最初的尝试..。T_Event& event) printf(&quo
浏览 15
提问于2019-05-30
得票数 3
回答已采纳
2
回答
转发
非
引用
类型的
引用
c++
template<typename T>如果我们用整数类型的
参数
来调用它&一切都是明确的--
引用
就会发生崩溃,而且我们仍然有lvalue-
引用
。但是,如果我们用int
参数
来调用它,会发生什么。我的想法是:我们已经推导了T=int类型,用rvalue-
引用
来修饰它,所以F采用整&
参数
,用int类型调用它会导致错误。
浏览 4
提问于2017-12-09
得票数 0
回答已采纳
1
回答
完美
转发
和std::在此上下文中移动行为
c++
、
c++11
、
variadic-templates
我是一个
C++
新手,我想了解如何与std::move一起进行完美的
转发
。 为向量内实际分配的
对象
移动构造函数(如果为临时构造函数定义的,否则
浏览 4
提问于2017-03-14
得票数 4
回答已采纳
2
回答
通用
引用
和
转发
引用
之间有区别吗?
c++
、
templates
、
perfect-forwarding
、
universal-reference
、
forwarding-reference
此函数的
参数
将绑定到右值
引用
:但是,此函数的
参数
将绑定到右值或左值
引用
:void f(T && t);它们的意思是一样的吗? 如果函数体调用std::forward,它是否只是一个
转发
引用
浏览 1
提问于2016-09-18
得票数 62
回答已采纳
3
回答
在
C++
中包装
可变
参数
函数
c++
、
variadic-functions
、
wrapper
我想将xmlrpc "call“函数(接受
可变
数量的
参数
)与另一个函数(也接受数量
可变
的
参数
)包装在一起。我只想将传入包装器函数的
可变
数量的
参数
转发
给xmlrpc "call“函数。我知道如何使用va_start和va_arg,但我真的不关心传入的值,我只想将它们
转发
给包装函数。这个是可能的吗?.); 我的包装器负责前三个
参数
和按
引用
的结果,它只需要将额外的
参数
转发</e
浏览 0
提问于2009-07-24
得票数 3
2
回答
为什么const
模板
参数
不是通用/
转发
引用
?
c++
、
c++11
、
language-lawyer
我正在阅读关于通用
引用
/
转发
引用
和的文章:void f(T&& param); void f(const T&& param); 如果一个变量或
参数
声明为T类型&对于某些
浏览 3
提问于2020-08-24
得票数 4
回答已采纳
2
回答
线程如何存储通过构造函数传递的各种
参数
?
c++
、
variadic-templates
、
std-function
、
stdthread
、
boost-tuples
我知道他们使用的是一个
可变
模板
,首先传入一个函数,然后是一个
参数
包
参数
。我对它们如何
转发
所有这些
模板
参数
感到困惑,然后在调用联接或分离时以某种方式使用所有
参数
调用输入函数。函数具有类似的功能,当您调用std::bind时,它将在
对象
中存储一个函数及其
参数
,然后当您调用std::function
对象
时,它将使用它的
参数
执行绑定函数。我很好奇,在
C++
中,如何在<em
浏览 11
提问于2022-06-21
得票数 2
回答已采纳
1
回答
能给我康斯特
参数
包吗?
c++
、
constants
、
c++17
、
variadic-templates
但是,我的心态是,如果一个
参数
没有被函数修改,那么它应该被标记为const (用于优化,并作为程序员的注意事项),所以我尝试了这样做:void我不应该担心
参数
包的一致性吗?有更好的方法吗?这个
参数
包装业务有时很难让我头脑发热。
浏览 0
提问于2019-01-21
得票数 1
回答已采纳
5
回答
继承构造函数在
C++
中有多大用处?
c++
、
inheritance
、
constructor
、
c++11
、
perfect-forwarding
当我坐在
C++
标准委员会的会议上时,他们正在讨论放弃的利弊,因为还没有编译器供应商实现它(感觉是用户还没有要求它)。让我快速提醒大家什么是继承构造函数:{}; {};谢谢!
浏览 2
提问于2010-11-09
得票数 31
回答已采纳
点击加载更多
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
相关
资讯
请问C+11有哪些新特性?
C+11完美转发及实现方法详解
C/C+编程笔记:一文带你读懂C+面向对象和Java面向对象的区别
聊聊C+的模板和泛型编程
c+的左值(lvalue),右值(rvalue),移动语义(move),完美转发(forward)
热门
标签
更多标签
活动推荐
运营活动
广告
关闭
领券