正直なところ、速度のために作成するメソッドでconst参照を使用することはめったにありません。たとえば、このSSCEpass by (const) reference if you want speed
のように、変数に値を与えるために、必要なときにのみ参照を作成します。
void Do( int& iref )
{
a = 2;
}
{
int a = 0;
Do( a );
}
問題は、オブジェクトが関数呼び出しで作成された場合、それが参照としても渡される場合、それはどのように機能するかということです。
void Add( CString& strPath )
{
g_Path.push_back( strPath );
}
for( std::string line; getline( input, line ); )
{
Add( CString( line.c_str() ) ); //object created on function call
}