これが私の問題です。struct
入力として受け取り、新しいものを割り当ててstruct
から返す関数があります。にはstruct
次の内容があります
struct Data {
std::vector<custom_type> vector_vars;
std::string key;
std::map<std::string, Data*> index;
};
vector_vars
サイズは500~1000です。custom_type 関連する場合は、このクラスです。は、別の構造体 by にアクセスするのindex
に役立ちます。これが関数です。Data
key
Data func(Data inputData) {
Data outputData;
//compare values with inputData
//change some values in Data struct
return outputData
}
スタック割り当てを使用して、RHS にコピーされるように戻しますか。コピーすると多くのオーバーヘッドが発生する可能性があるため、これは賢明ですか?
関数内のスタックに割り当てられた構造体への参照/ポインターを返すことはできますか?
std::shared_ptr
効率のために、代わりに動的割り当てを使用することをお勧めしますか ( を使用することもできます)。