克隆模式2021開放時(shí)間最新 c 中如何正確實(shí)現(xiàn)克隆(原型)模式?
c 中如何正確實(shí)現(xiàn)克?。ㄔ停┠J剑靠寺∧J揭话阌糜诰哂幸谜Z義的語言(一般只能將引用復(fù)制到對(duì)象),如Java,需要通過克隆方法顯式創(chuàng)建與原始對(duì)象相同的對(duì)象;而C原則上不需要克隆模式,因?yàn)镃本質(zhì)上是
c 中如何正確實(shí)現(xiàn)克?。ㄔ停┠J??
克隆模式一般用于具有引用語義的語言(一般只能將引用復(fù)制到對(duì)象),如Java,需要通過克隆方法顯式創(chuàng)建與原始對(duì)象相同的對(duì)象;而C原則上不需要克隆模式,因?yàn)镃本質(zhì)上是值語義。一般來說,它有默認(rèn)或自定義的復(fù)制構(gòu)造函數(shù)和復(fù)制賦值操作符,可以很容易地復(fù)制(深度復(fù)制)完全相同的對(duì)象,這是非常靈活的??赡苡脩舳x了一個(gè)具有引用語義的類(類似于智能指針)。此時(shí),可以定義clone接口來提供深度復(fù)制對(duì)象的方法;
有關(guān)C復(fù)制控制、智能指針、移動(dòng)語義等知識(shí),可以參考c11系列文章。歡迎關(guān)注!