腾讯云
开发者社区
文档
建议反馈
控制台
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
登录/注册
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
(9999+)
视频
沙龙
1
回答
查找所有
移动
构造函数和
移动
赋值
运算符
(特别是那些没有‘noexcept’的函数)
c++
、
visual-studio-2017
、
move-semantics
、
c++-standard-library
、
noexcept
在Visual Studio 2017中,我尝试向所有相关的
移动
构造函数和
移动
赋值
运算符
添加'noexcept‘,以便它们可以被标准库容器
调用
。 有没有办法找到所有的
移动
构造函数和
移动
赋值
操作符?或者,如果
移动
构造函数/
赋值
运算符
没有标记为“noexcept”,是否有编译器警告
要
打开?
浏览 11
提问于2018-03-21
得票数 1
1
回答
为什么
要
调用
移动
赋值
运算符
?
c++11
、
return
、
move
value constructor, move assignment operator} 在表达式a = 123fo中,由于A(static_cast<int>(value));
调用
了值构造函数请告诉我
为什么
调用
移动
赋值
运算符
浏览 21
提问于2020-06-30
得票数 0
回答已采纳
3
回答
琐碎的可复制类-在C++20中发生了什么变化?
c++
、
c++20
、
trivially-copyable
一个微不足道的可复制类是一个类: (1.1)至少有一个符合条件的复制构造函数、
移动
构造函数、复制
赋值
运算符
或
移动
赋值
运算符
(特殊、class.copy.ctor、class.copy.assign)如果我从字面上看的话,只需要一个构造函数或
赋值
操作符就足够了。根据的说法,这是c++20之前的情况。如果没有任何改变(即我仍然可以删除
赋值
运算符
或构造函数),
为什么
要
更改措辞呢?我不明白的是-
为什
浏览 18
提问于2022-07-18
得票数 5
回答已采纳
1
回答
显式删除
移动
构造函数
c++
、
c++11
、
constructor
、
copy-constructor
为什么
要
这样:{ cout << "construct from int" << endl; } A a = 0;给我一个错误:以及
为什么
当我添加这样的
移动
构造函数时
浏览 2
提问于2017-10-14
得票数 6
回答已采纳
2
回答
为什么
要
调用
移动
赋值
?
c++
、
move
我有一些具有copy和move
赋值
的类,但在我的示例中,move似乎是错误的,并导致意外的行为。
为什么
调用
move,我如何避免这种情况?C1被
赋值
给C2并在之后使用,但是
调用
了move并且C1为空。endl; }C1 size before: 1C1 size after: 0 我真正的问题是有点复杂(有更多的模板和大量的
赋值
变量如果将#if 1更改为#if 0,则会
调用
正确的复制
赋值</
浏览 23
提问于2019-11-30
得票数 3
回答已采纳
2
回答
默认
移动
构造函数与默认复制构造函数与默认
赋值
运算符
c++
、
c++11
为什么
C++编译器对自动生成的
移动
构造函数比自动生成的复制构造函数或
赋值
操作符有更多的限制?我想知道
为什么
会有这样的差别。
浏览 1
提问于2013-03-26
得票数 32
回答已采纳
2
回答
理解复制/
移动
构造函数与操作符之间的推理
c++
、
c++11
、
move-semantics
、
rvalue-reference
一个a2 = a1 -复制构造函数将被
调用
。预测。 return A(1); 一个a3 = helper() --将
调用
默认的构造函数,以便创建该助手返回的对象。由于RVO,
移动
构造函数将不会被
调用
。预测。a3 = helper() -将
调用
默认构造函数以创建助手返回的对象。然后,
调用
移动</e
浏览 6
提问于2021-12-15
得票数 5
回答已采纳
4
回答
复制构造函数的用途是什么,而
赋值
运算符
'=‘也可以做到这一点?
c++
、
oop
、
copy-constructor
为什么
C++
要
提供一个复制构造函数?
赋值
运算符
可以执行相同的任务。复制构造函数比
赋值
运算符
有什么优势吗?
浏览 2
提问于2021-02-24
得票数 15
1
回答
擦除期间的CPP矢量构造函数
调用
c++
、
vector
、
stl
在擦除过程中,我对构造函数
调用
的输出感到有点困惑。******** End of call Erase ********** \n";}复制引用条件//已理解,
移动
分配销毁//销毁临时对象复制引用cons //将第二个临时的
赋值
移动
到向量 在这里,我理解了由于内存不足,向量增
浏览 2
提问于2018-02-24
得票数 0
6
回答
调用
移动
赋值
运算符
实现
移动
构造函数
c++
、
c++11
、
move-semantics
、
move-constructor
如果为类提供了
移动
构造函数和
移动
赋值
操作符,则可以通过编写
移动
构造函数来
调用
移动
赋值
运算符
来消除冗余代码。下面的示例显示
调用
移动
赋值
操作符的move构造函数的修订版本: // Move constructor.我应该总是通过
调用
移动
赋值
操作符来编写
移动
构造函数吗?
浏览 9
提问于2013-06-14
得票数 29
回答已采纳
3
回答
Ruby
赋值
算子
ruby
为什么
加法“
运算符
”是一种方法,而
赋值
运算符
+=不是?操作人员
为什么
要
这样工作:=> 6 红宝石头>i=1红宝石头>i += 1ruby> i.+=(1) SyntaxError
浏览 1
提问于2011-01-01
得票数 4
回答已采纳
3
回答
C++
移动
赋值
运算符
返回类型
c++
移动
赋值
运算符
的正确返回类型是什么?或例如,考虑一个向量类的实现。content to v} { v2 = myfunc;我们希望myfunc返回一个即将到期的值,即;我们希望
调用
移动
赋值
操作符,而不是复制
赋值
操作符
浏览 2
提问于2016-03-05
得票数 0
1
回答
为什么
gcc警告用std::tuple和虚拟继承
调用
一个非平凡的
移动
赋值
操作符?
c++
、
gcc
、
clang
、
c++14
在下面的例子中,gcc 7给出了警告: B another{*b}; // <<<--- this compiles std::tuple<B> t; // <<<--- give
浏览 3
提问于2017-10-06
得票数 9
1
回答
我们是否应该
调用
基类,从派生类中
移动
复制/
赋值
构造函数
c++
、
c++11
我知道,只要在派生类中定义了自定义复制构造函数或
赋值
运算符
,这些方法就有责任
调用
基类的相应方法。现在我将重点放在move构造函数上。假设下面是我的
移动
构造函数。我有两种
调用
基类构造函数的方法。从我的理解和上一篇文章的回答来看,使用formA是危险的,也是不正确的,因为当formA中的派生类构造函数为called.However时,对象将被作废,基类复制构造函数被
调用
。同样,在
移动
复制
赋值
运算符
中,
调用
基类
赋值
浏览 0
提问于2015-05-11
得票数 5
1
回答
当需要
移动
赋值
运算符
时,编译器
为什么
要
寻找副本
赋值
操作符?
c++
ptr) delete[] ptr;}; A a1; a2 = std::move(a1);GCC 11抱怨删除了副本
赋值
操作符constructor or move assignment operator | ^然后,在我定义了
移动
赋值
运算符
(而不是复制
赋值
运算符
)之后,它编译得很好。然后,这意味着编
浏览 3
提问于2021-12-10
得票数 2
回答已采纳
2
回答
Numpy
赋值
操作符
赋值
python
、
numpy
如何创建一个链接到numpy的
赋值
运算符
(=)的变量?例如,我们可以像这样分配一个相等的add op = numpy.ndarray.__iadd__,然后使用op(initial_var, increment)
调用
它,这将与initial_var += increment相同。然而,我似乎想不出如何将op绑定到
赋值
运算符
=。我
为什么
要
这么做?简单地说,为了稍微优化一下,在某些情况下,我们可以通过简单地复制numpy.ndarray项而不是
调用
__ia
浏览 2
提问于2019-05-20
得票数 0
1
回答
为什么
要
调用
移动
构造函数和
移动
赋值
运算符
而不是复制?
c++
、
boost
、
stl
、
c++11
{1,1},{2,2}});std::cout << map.size() << std::endl; // displays 0 令我震惊的是,在gdb下,我注意到在构造和
赋值
b (即使是从地图)时
调用
了
移动
构造函数和
移动
赋值
操作符,尽管我没有用std::move标记a,这不是临时的。
浏览 2
提问于2012-04-13
得票数 0
1
回答
重载=
运算符
,带有具有字符串指针的结构
c++
、
memory-management
、
memory-leaks
、
c++14
、
unions
因此,我有一个union类型struct,它包含一个指向字符串的指针,它是联合可以保存的类型之一,我希望重载=操作符,这样我就可以执行
赋值
了。
浏览 0
提问于2018-01-20
得票数 1
回答已采纳
1
回答
C++中一类隐式成员函数
c++
C++中类的隐式成员函数是: As per:复制构造函数如果没有
移动
构造函数或
移动
赋值
操作符显式地declared.If,则声明析构函数生成副本构造函数。如果没有显式声明复制构造函数、
移动
赋值
运算符
或析构函数,则
移动
构造函数。 复制
赋值
运算符
如果没有
移动
构造函数或
移动
赋值
运算符
显式declared.If,则声明生成一
浏览 2
提问于2013-02-14
得票数 6
回答已采纳
1
回答
当
赋值
运算符
显式删除时允许从rvalue分配?
c++
、
c++11
、
move-semantics
、
move-constructor
、
move-assignment-operator
return 1;我不清楚
为什么
编译,执行
移动
构造函数而不是
移动
赋值
运算符
。我知道RVO允许将构造和
赋值
作为优化来省略,但我的理解是,如果代码中显式使用了
运算符
,那么显式删除
运算符
应该会导致编译失败。C++11规范中是否有一些子句允许编译器将
赋值
初始化转换为复制构造,即使类型的
赋值
运算符
已被显式删除?
浏览 0
提问于2016-03-29
得票数 1
回答已采纳
点击加载更多
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
相关
资讯
Java:对象不再使用时,为什么要赋值为 null?
中国移动科普:为什么手机移动网络要叫 “蜂窝移动网络”
Python 海象运算符 的三种用法
Kotlin系列之类型可空性
带你入门Java之每日3分钟Java—数据运算符和显隐数据类型转换
热门
标签
更多标签
活动推荐
运营活动
广告
关闭
领券