階層的にデータを相互に渡す送信者関数と受信者関数がいくつかあります。
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
引数と戻り値に最適な型を教えていただければ幸いです。
私が問題をうまく説明したことを願っています。ありがとう