[問題] 遇到一個bug 情況裡面敘述
幫同學debug
遇到一段詭異的情況
class A; //裡面沒有對copy cstr 或 opt= 自己定義
A p;
A temp;
p.X( temp);
這行後 temp的值就變垃圾
=============X定義類似如下=============
void X( A t)
{
A *p=new A;
*p=t;
//雖然這p會造成leak但是似乎跟遇到的問題無關
}
我檢視了一下 temp完全只是copy 根本不會動到@@
為啥會有這情況發生
問題也許描述的線索太少
是想請教各位有經驗的大大 是不是有什麼情況 會造成這種淺在危險
給點線索我在dede看......
謝謝
我想到一個可能情況
http://codepad.org/xSkRGNyN 但是程式應該會結束時當掉~
可是他沒盪= = 不知道這原因可不可能 有時會盪有時不會
ps. 我對 copy constructor重新定義 不用預設的 這個行為都怎麼描述?
override是用在繼承?~ 難道我的class 其實compiler都會改成繼承某個super class
裡面包所有東西或是 operator嘛?? 我這想法滿怪的 想順便問一下= = thx
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.113.207.187
推
10/21 00:27, , 1F
10/21 00:27, 1F
→
10/21 00:31, , 2F
10/21 00:31, 2F
※ 編輯: QQ29 來自: 140.113.207.187 (10/21 00:32)
推
10/21 00:41, , 3F
10/21 00:41, 3F
推
10/21 00:45, , 4F
10/21 00:45, 4F
→
10/21 00:46, , 5F
10/21 00:46, 5F
→
10/21 00:46, , 6F
10/21 00:46, 6F
→
10/21 00:46, , 7F
10/21 00:46, 7F
→
10/21 00:46, , 8F
10/21 00:46, 8F
→
10/21 00:47, , 9F
10/21 00:47, 9F
→
10/21 00:47, , 10F
10/21 00:47, 10F
→
10/21 00:48, , 11F
10/21 00:48, 11F
→
10/21 01:47, , 12F
10/21 01:47, 12F
推
10/21 08:57, , 13F
10/21 08:57, 13F
推
10/21 09:18, , 14F
10/21 09:18, 14F