我有許多分層地傳遞數據彼此發送器和接收器功能返回類型:C++,傳遞最佳參數,並且對於大型數據
class singleton
{
TYPE3 var; //data populated from a hierarchy
void Receive(TYPE3 a){ var = a;}
}
class C
{
void Receiver_from_B(TYPE2 a);
TYPE3 intermediate_value;
make_TYPE3(&intermediate_value){....;}//pseudo
TYPE3 Sender(){ return intermediate_value; } //finally sends it to a noncopyable class object
};
class B
{
void Receiver_from_A(TYPE1 a);
TYPE2 intermediate_value;
make_TYPE2(&intermediate_value){....;}//pseudo
TYPE2 Sender_to_A(){ return intermediate_value; }
};
class A
{
TYPE_I a;
TYPE_II b;
void Receiver_from_down_the-tree(TYPE_I a_){ a = a_};
void Receiver_from_down_the-tree_(TYPE_II b_){ b = b_};
TYPE1 intermediate_value;
void make_TYPE1(&intermediate_value, a , b) {.....;}//pseudo
TYPE1 Sender_to_B(){ return intermediate_value;}
};
從這樣的樹中累積的數據量相對大我想跳過將數據從發件人複製到接收者。我想我需要const
和reference
組合的參數和返回值的組合。 我很感激,如果你善意地建議我參數和返回值的最佳類型。
希望我解釋得很好。 感謝
這是很難理解......這些類型'TYPEx'之間的關係是什麼?那些類「A」,「B」和「C」的作用是什麼?如果這些類沒有成員變量來保存中間結果,那麼'Receiver()'和'Sender()'是什麼意思? – lvella 2013-03-04 04:15:30
@Ivella對不起,我認爲我必須是顯式的。你有權利,有中間變量。TYPEx之間的關係:簡單地想象TYPE_I是struct {int a; char b;},TYPE_II是'int',TYPE_III是'char'。然後,想象一個通過幾個接收函數接收'int'和'char'值的類,然後創建一個TYPE_I變量(中間值),最後將(TYPE_I a)發送到更高級別的類。更高類通過它的Receive()函數接收它,並且過程繼續。請注意,發送和接收與套接字progg無關。他們回調函數(encodeynthesis xml parser)。 – rahman 2013-03-04 04:34:43
更改了代碼更清晰 – rahman 2013-03-04 04:48:20