腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
圈层
工具
MCP广场
文章/答案/技术大牛
搜索
搜索
关闭
发布
文章
问答
(9999+)
视频
沙龙
1
回答
避免
赋值
构造
函数
的
新
位置
、
、
、
使用placement new来规避拷贝分配是一个可行
的
解决方案吗? 我有一个包含const成员
的
成员对象。对象本身是在运行时创建
的
,但它
的
成员是const。
浏览 14
提问于2021-04-26
得票数 2
4
回答
重新分配结构
的
最有效方法是什么?
我
的
程序中有一个叫做Square
的
结构类型,它用来表示棋盘上一个正方形
的
位置
(int Rank,int File)。如果我通过
新
的
Square sq()
赋值
Square;比如说,然后我想重新
赋值
它,是不是更好
的
方法是或者通过编写内部Set方法并调用Set,从而sq.Set(rank, file); 我想问
的
是,当你在一个struct上使用new时,运行库是重
浏览 0
提问于2010-07-23
得票数 0
回答已采纳
2
回答
C++:两个指向同一地址
的
指针(假设)。更改其中一个
的
内容不会更改另一个
的
内容
、
、
我是C++和阿杜伊诺
的
新手,我不明白发生了什么。问题是:char *_array;当我这样做
的
时候:_array = data;,然后我改变了_data
的
内容,比如data[0] = 'C',data_array
的
内容没有更改,我需要再次执行_array = _data才能应用更改。 它们似乎没有指向相同
的
地址。
浏览 3
提问于2013-02-15
得票数 3
回答已采纳
1
回答
RVO,移动语义和最优代码
的
斗争
、
、
、
、
如果我没弄错的话,移动语义允许从临时
的
、未命名
的
对象中移动和重用资源。RVO,尽管在move语义之前走得更远,并“窃取”整个对象,以
避免
额外
的
构造
函数
调用和
赋值
/复制
函数
。这对我来说似乎有点违反直觉,如果被调用
的
构造
函数
直接使用最终左值目标的地址来直接将数据放在用户需要
的
地方,不是更快、更简单、用户显而易见吗?我
的
意思是,“在这个
位置
创
浏览 4
提问于2013-12-17
得票数 5
2
回答
std::swap中不需要
的
析构
函数
调用
、
、
、
我遇到了std::swap
的
问题。我得换个东西。该对象在析构
函数
中释放内存。我编写了一个移动
构造
函数
和一个移动
赋值
操作符,用于复制指向该内存
的
指针。默认
构造
函数
将该指针设置为NULL。当然,我有一个常规
的
复制
构造
函数
和
赋值
操作符,但是它们分配和复制内存,这显然不是我想要
的
交换操作。 当我调用std::swap时,它使用移动
构造
函数</em
浏览 13
提问于2014-11-15
得票数 1
回答已采纳
3
回答
隐藏自动生成
的
赋值
运算符和复制
构造
函数
,而不替换它们
我想公开隐藏复制
构造
函数
和
赋值
运算符。是否可以只将复制
构造
函数
和
赋值
操作符标记为protected或private,并在克隆
函数
中使用它们?原因是该类包含一些数据和一个唯一
的
id,每个实例都应该递增。因此,制作副本将使用默认
赋值
操作符,然后更改id。我想
避免
手动复制每个成员
的
需要,以
避免
在将成员添加到类中时忘记添加成员。
浏览 0
提问于2016-02-01
得票数 0
4
回答
c++中
的
赋值
运算符重载
、
我使用了以下代码来实现
赋值
运算符重载:{ return *this; return *this;我
的
复制
构造
函数
是:{
浏览 40
提问于2012-04-10
得票数 37
回答已采纳
1
回答
用类型推断声明变量与在变量名称后用括号初始化变量
的
“经典方法”一样有效吗?
、
、
如果能够轻松地在我
的
代码库中搜索某个对象
的
构造
函数
的
位置
,那就太好了。下面是模式。而不是古典: 这样,我就可以使用简单
的
文本搜索"Object(",并获得调用Object
构造
函数
的
位置
列表。它也减少了语法上
的
模棱两可,因
浏览 0
提问于2016-12-28
得票数 3
回答已采纳
1
回答
根据标准,从std::向量擦除操作符返回
的
值是多少?
、
、
、
、
我更喜欢从源获取信息,这里是ISO 14882,其中擦除方法描述如下: 迭代器擦除( const_iterator优先,const_iterator最后复杂性:T
的
析构
函数
称为等于擦除元素数
的
次数,而T
的
移动
赋值
操作符称为擦除元素之后向量中元素数
的
次数。 抛出:无异常,除非复制
构造
函数
、移动
构造
函数
、
赋值
运算符或T.
的</
浏览 3
提问于2018-09-12
得票数 5
回答已采纳
1
回答
指向存储整数
的
堆内存
位置
的
指针
我是C++
的
新手,我对以下问题和答案感到非常困惑: 问:已经声明了一个名为Pair
的
类,但
构造
函数
尚未实现。单个
构造
函数
对( int,int):这应该将pa和pb设置为指向堆上
新
分配
的
内存
位置
。应该根据
构造
函数
的
整数参数a和b为这些内存
位置
的
整数
赋值
。复制
构造
函数
对(const配对和其他):这
浏览 0
提问于2021-01-20
得票数 0
3
回答
什么时候C++默认
赋值
运算符变得不可访问?
如果我定义了自己
的
赋值
运算符,该运算符
的
签名与正常生成
的
默认
赋值
运算符不同:struct A { // assignsomething}; 默认
的
赋值
操作符,在本例中是operator = (A&) (或类似的,如果错误,请纠正我)是否变得未定义/不可访问?这对于默认
构造
函数
是正确
的<
浏览 2
提问于2009-08-19
得票数 6
回答已采纳
2
回答
如何在c++中创建包含在共享指针中
的
object
的
重复实例?
、
、
我有一个定义了复制
构造
函数
和
赋值
操作符
的
对象。它被封闭在一个共享指针中。 我想创建另一个共享指针,它包含原始共享指针
的
副本(即指向
新
内存
位置
的
新
共享指针,但它具有与原始对象相同
的
数据)。谢谢你
的
帮助。
浏览 0
提问于2010-06-16
得票数 2
回答已采纳
1
回答
为什么当用户提供移动
构造
函数
或移动分配时,复制
构造
函数
和复制分配将被删除?
、
、
我正在看“28'31”
的
,他显示了一个图表,显示了当用户提供一些复制控制时,编译器将如何隐式地提供或不提供其余
的
:我不太明白带有“删除”
的
单元格--似乎标准上说,当用户提供移动
构造
函数
或移动分配时,复制
构造
函数
和复制
赋值
将被删除--好吧,但是为什么呢?当用户提供移动
构造
函数
时,复制
构造
函数
和复制
构造
函数
将被删除--这是否是为
浏览 5
提问于2016-09-10
得票数 1
回答已采纳
1
回答
有人能解释一下当前C++0x标准草案
的
这一段吗?
、
、
、
有人能解释一下“国际标准化组织N3242”第3.2节第2点
的
说法吗? 类
的
非
位置
分配或去分配
函数
是odr--由该类
的
构造
函数
定义使用。类
的
非
位置
去分配
函数
由该类析构
函数
的
定义使用,或者通过在虚拟析构
函数
(12.4).26定义点
的
查找来选择,类
的
拷贝分配
函数
是odr--由12.8中指定
的
另一个
浏览 5
提问于2011-04-11
得票数 6
回答已采纳
1
回答
为什么std::transform使用
构造
函数
?
、
、
、
我已经使用std::transform将一些值添加到列表中
的
现有值中。下面的代码运行得很好,我只是想知道在执行转换时是否有可能
避免
所有对复制
构造
函数
的
调用(参见程序
的
输出)。如果我只是修改代码,并显式地调用Base
的
+=操作符,创建一个for循环,则不会执行任何复制
构造
,并且值会在适当
的
位置
更改,这样更有效。我可以调用Base
的
operator+=而不是复制
构造
来进行转换吗?我应该
浏览 0
提问于2012-07-12
得票数 0
回答已采纳
2
回答
重置对象
、
、
、
最近,我经常通过使用operator=为对象分配一个
新
值来重置对象。我
的
大多数类都有一个使用“复制和交换”成语定义
的
copy constructor和operator=。但有一种情况是,这是行不通
的
。当需要在
新
对象
的
destructor之前调用constructor时。 注意:我所使用
的
大多数类都是不可复制
的
。我非常喜欢operator=重置我
的
对象,因为代码是干净
的
,并且与内置类型相同(比如int)。它还同时使用来
浏览 2
提问于2016-02-19
得票数 1
回答已采纳
1
回答
为什么shared_ptr有一个移动
构造
函数
、
、
、
在C++11中,std::shared_ptr有一个移动
构造
函数
和移动
赋值
操作符。 是否有理由需要这样做,即,如果只有复制
构造
函数
和
赋值
运算符,那么使用它
的
程序会有不同
的
行为吗?它
的
唯一效果似乎是
避免
了参考计数器
的
额外增量和以后
的
减少。
浏览 2
提问于2016-12-01
得票数 7
回答已采纳
4
回答
C++
赋值
操作符,我们能用拷贝代替它吗?
、
、
、
当我读到:展示了以下示例:A a = aa; //copy constructorA aa;a = aa; // assignment operator有人能给出一个实际
的
使用<
浏览 4
提问于2020-05-25
得票数 4
9
回答
创建易于维护
的
副本
构造
函数
、
、
请考虑以下课程:int a, b, c, d; A(const &A);请注意,我必须定义一个复制
构造
函数
,以便对"p“进行深度复制一个接一个地复制它们是丑陋和容易出错
的
。 A(const A &a) : A(a) //
浏览 16
提问于2010-07-07
得票数 13
5
回答
如何在C++中使用基类
的
构造
函数
和
赋值
运算符?
、
、
、
我有一个带有一组
构造
函数
和一个
赋值
操作符
的
类B。foo()
的
继承类D,不需要其他更改。但是,我希望D具有与B相同
的
构造
函数
集,包括复制
构造
函数
和
赋值
运算符D& operator=(const D& d); 我是不是必须在D中重写它们,或者有没有办法使用B
的
构造
函数</e
浏览 2
提问于2009-08-04
得票数 104
回答已采纳
点击加载更多
热门
标签
更多标签
云服务器
ICP备案
腾讯会议
云直播
对象存储
活动推荐
运营活动
广告
关闭
领券