實例讓我重複這對於像我這樣的傻瓜未來...正確的方式來複制一個const *的MyGreatClass
爲什麼不這項工作?是因爲我忘記解除引用指針嗎?答案是肯定的。忽略這個句子的其餘部分,它只是必要的,因爲StackOverflow認爲我有太多的代碼並沒有足夠的細節。我很高興,直到紅色警告框消失......哦,就這樣吧胡扯上...
struct MyGreatClass
{
};
struct MyEvenBetterClass
{
const MyGreatClass* great;
MyEvenBetterClass(MyGreatClass* grr)
{
great = grr;
}
};
MyGreatClass instanceOfGreatClass;
MyEvenBetterClass instanceOfMyEvenBetterClass(&instanceOfGreatClass);
MyGreatClass changableGreatClass(instanceOfMyEvenBetterClass.great);
//^^this line won't work because the pointer isn't dereferenced...
你在談論複製構造函數嗎? 你應該描述你需要的代碼,所以會有更多相關的評論。 – teivaz
我......呃,我想我正在談論複製構造函數。基本上我需要製作一個絕對不能改變的類的實例的可變副本。 – Argh
另外也許會更安全一些,避免在C++中使用如此大量的指針?並使用引用來代替?另一種方法是使用MyGreatClass :: Clone()而不是複製構造函數。 – deeptowncitizen