2012-02-18 13 views
0

私は、クラスのオブジェクトへのconstポインタへの参照を効率的に渡すことができます。私は、参照(&)前のconstを置くために持っている理由 は例えば、上記の例constポインタへの参照を正しく渡すには?

class BigData 
{ 
public: 
    int m[1000]; 
}; 

void Func(const BigData* const& bigData) 
{ 
// just read bigData; No modification on bigData. 
} 

int main() 
{ 
    BigData* bigData = new BigData(); 
    Func(bigData); 
} 

は、私はかなり理解していません。 私は参照せずにそれを構築しようとした場合、コンパイラはおよそ がに「BigData *」からパラメータ1を変換することはできません不平を言う「のconst BigData * &」「それはR-値ルールに関連しているよう

がようだが、私はドンどのようなルールがこのケースを正確に支配しているかを知っている。

TIA

}

答えて

0

ないでください。ポインタを値渡しするだけです。構文的には、呼び出される関数が使用する方が簡単で、オーバーヘッドが少なくなります。

void Func(const BigData *bigData) 
関連する問題