腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
圈层
工具
MCP广场
文章/答案/技术大牛
搜索
搜索
关闭
发布
文章
问答
(9999+)
视频
沙龙
2
回答
为
已
移动
的
std
::
函数
赋值
合法
吗
、
、
以下代码是否
合法
: return [i,previous_f] { previous_f();} {
std
::function<void()>
浏览 32
提问于2018-12-19
得票数 0
回答已采纳
1
回答
隐式生成
移动
构造
函数
、
、
、
、
是否有任何方法可以隐式生成仅
移动
类
的
移动
构造
函数
?假设有这样一个类:{}; foo(
std
::move(m)); 这不编译,因为隐式声明
的
复制构造
函数
不能复制如果类定义声明了一个
移动
构造
函数
或
移动
赋值
操作符,则隐式声明
的
复制构造
函数</em
浏览 3
提问于2012-11-21
得票数 1
回答已采纳
1
回答
C++20
std
:在自我分配中
移动
、
、
包括 one在内
的
大多数答案都指出,
std
::move不适用于自我
赋值
。不过,我确实看到了可能通过自移分配在官方中实现accumulate
的
情况:constexpr // since C++20 init =
std
::move(init) + *first; //
std
::move sin
浏览 0
提问于2020-09-27
得票数 0
回答已采纳
2
回答
替换
std
::线程对象可以
吗
?
、
、
根据我在C++在线文档中可以收集到
的
内容,分配给一个
已
连接
的
std
::线程对象应该调用它
的
析构
函数
并表示一个
合法
的
操作。是这种情况
吗
?这里有一些例子来说明我
的
意思:#include <vector> { vector<thread
浏览 3
提问于2015-05-18
得票数 0
回答已采纳
2
回答
显式默认
移动
构造
函数
、
、
、
、
根据c++11标准,只有在以下情况下才会生成默认
的
移动
构造
函数
: X没有用户声明
的
复制构造
函数
,X没有用户声明
的
副本
赋值
操作符,X没有用户声明
的
移动
赋值
操作符,X没有用户声明
的
析构
函数
,
移动
构造
函数
不会隐式地定义
为
已
删除<code>H 210</code><code>
浏览 1
提问于2012-06-12
得票数 10
回答已采纳
1
回答
为什么标准在
移动
赋值
操作符中使用exchange?
我今天在试验
std
::exchange。根据关于
std
::
的
cppreference::exchange,该
函数
既可以用于
移动
构造
函数
,也可以用于
移动
赋值
操作符。在
移动
构造
函数
中使用
std
::exchange是可以
的
,因为新(
已
构造
的
)对象将接管现有(旧)对象
的
内部,旧对象
的
资源指针将被分配给nullptr值,
浏览 1
提问于2018-03-03
得票数 3
回答已采纳
2
回答
为什么
移动
构造
函数
既不声明也不用clang删除?
、
、
、
、
它得到了明确
的
定义。 with_copy有
已
删除
的
移动
构造
函数
吗
?不是的。没有
移动
构造
函数
与删除构造
函数
是不一样
的
。删除
的
移动
构造
函数
将尝试
移动
格式错误
的
对象,而不是退化为副本
浏览 5
提问于2013-12-16
得票数 17
1
回答
(隐式声明)不能引用--它是
已
删除
的
函数
。
、
、
ABC.h{ { ABC() = delete;{ void func(); ABC obj;} "abcd::ABC::operator=(const::ABC &)“(隐式声明)不能引用-
浏览 91
提问于2020-04-26
得票数 7
回答已采纳
2
回答
如果我们只定义复制构造
函数
/ defined =,为什么
移动
构造
函数
/
移动
分配没有被隐式声明并被定义
为
已
删除?
、
按照C++标准12.8.7: 我想知道为什么
移动
构造
函数
浏览 2
提问于2015-02-16
得票数 3
回答已采纳
2
回答
由于无法使用迭代器擦除向量元素,向量元素实现了
移动
构造
函数
。
、
实现
移动
构造
函数
的
缓存。每当我试图在这个向量上迭代并在特定条件下删除一个元素时,它都无法编译。))
std
::string serviceName; } else { }编译
浏览 5
提问于2017-01-04
得票数 0
回答已采纳
2
回答
移动
构造
函数
(错误:调用隐式删除
的
复制构造
函数
)
、
、
、
、
我第一次尝试使用
移动
构造
函数
和
移动
赋值
操作符,但是当我使用clang++编译时:我收到以下错误消息PS:我在网上查了一下,找不到关于这个错误消息
的
任何信息(除了2011/2012年
的
一些关于clang++中
的
一个bug
的
帖子,我相信到那时它已经修复了)。
浏览 3
提问于2013-10-17
得票数 2
回答已采纳
4
回答
移动
构造
函数
不隐式地
为
成员变量工作
吗
?
、
为什么不这样:(vs2010)在类中
移动
向量?#include <vector> {
std
::vector<int> m_things;{ m.m_things.push_back(12); //
std
::vector has
浏览 0
提问于2011-05-12
得票数 3
回答已采纳
5
回答
即使类没有定义构造
函数
,也不能在类上调用C++默认
移动
赋值
操作符。
、
当我熟悉C++14规范时,我读到,如果一个类没有显式声明
的
复制构造器、复制
赋值
操作符、
移动
构造器或
移动
赋值
操作符,则默认实现应该由编译器生成。考虑线程安全文件
的
空类:{
std
::string m_FileName;};ThreadSa
浏览 18
提问于2016-11-03
得票数 4
回答已采纳
1
回答
什么意思
移动
操作从未被定义
为
已
删除
的
函数
?
、
、
直到第13章在谈到“
移动
操作”时: 与复制操作不同,
移动
操作从未被隐式定义
为
已
删除
函数
。,且编译器无法合成
移动
构造
函数
,则
移动
构造
函数
被定义
为
已
删除。同样,对于move-assignment.The
移动
构造
函数
或
移动
赋值
操作符,如果类
的
成员
的
移动
构造
函数
或<
浏览 1
提问于2020-02-02
得票数 0
1
回答
在C++20中,MSVC对于闭包类型
的
默认构造
函数
有不同
的
行为。
、
、
说 如果lambda表达式具有lambda捕获和默认默认构造
函数
,则与lambda表达式关联
的
闭包类型没有默认构造
函数
。如果lambda表达式具有lambda捕获和默认复制和
移动
赋值
运算符,则它有一个
已
删除
的
复制
赋值
操作符。它有一个默认
的
复制构造
函数
和一个默认
的
移动
构造
函数
(15.8)。注意:这些特殊
的
成员
函数
像往常一样被隐式
浏览 4
提问于2021-07-13
得票数 6
回答已采纳
1
回答
当类定义中涉及私有C++时,引用初始化在unique_ptr中
、
、
#include <iostream>#include <vector> unique_ptrtime error: use of deleted function ‘A& A::operator=(const A&) } 实际上,为什么A& a3 = a1是好
的
,另外,使用
的
是哪个重载版本
的
operator=,如何才能正确地
浏览 2
提问于2015-05-05
得票数 1
回答已采纳
1
回答
为什么在声明
移动
分配时不删除副本分配?
、
、
、
、
}按照C++标准12.8.7: 语句a = b;应该会触发编译器错误。然而,我
的<
浏览 3
提问于2013-10-09
得票数 7
2
回答
std
::swap中不需要
的
析构
函数
调用
、
、
、
我遇到了
std
::swap
的
问题。我得换个东西。该对象在析构
函数
中释放内存。我编写了一个
移动
构造
函数
和一个
移动
赋值
操作符,用于复制指向该内存
的
指针。默认构造
函数
将该指针设置
为
NULL。当然,我有一个常规
的
复制构造
函数
和
赋值
操作符,但是它们分配和复制内存,这显然不是我想要
的
交换操作。 当我调用
std
::swap时,它使用
移
浏览 13
提问于2014-11-15
得票数 1
回答已采纳
6
回答
调用
移动
赋值
运算符实现
移动
构造
函数
、
、
、
如果
为
类提供了
移动
构造
函数
和
移动
赋值
操作符,则可以通过编写
移动
构造
函数
来调用
移动
赋值
运算符来消除冗余代码。下面的示例显示调用
移动
赋值
操作符
的
move构造
函数
的
修订版本: : _data(NULL
浏览 9
提问于2013-06-14
得票数 29
回答已采纳
1
回答
隐式声明
移动
赋值
运算符
、
我很难从cpp参考中了解这个简单
的
规则; 没有用户声明
的
副本构造
函数
;没有用户声明
的
副本分配操作符;隐式声明
的
移动
赋值
运算符不会被定义
浏览 0
提问于2018-03-19
得票数 0
回答已采纳
点击加载更多
相关
资讯
c+的左值(lvalue),右值(rvalue),移动语义(move),完美转发(forward)
不要拷贝
贪吃蛇问题的实现
C+11使用using定义别名(替代typedef)
这个 Python 知识点,90% 的人都得挂~
热门
标签
更多标签
云服务器
ICP备案
实时音视频
即时通信 IM
对象存储
活动推荐
运营活动
广告
关闭
领券