-1
私は式テンプレートとmshadowコードベースを研究しています。彼らのwikiページhereには、時間的なメモリ割り当てと割り当て解除を行うため、悪い解決策である例があります。それは何ですか?そして、与えられたコードはどうやってこのようなことをしていますか?一時的なメモリ割り当てとは何ですか?
呼ばコード:彼らは一時的に値を保持するメモリ内のいくつかのスペースを割り当てる話している。この場合
// Naive solution for vector operation overloading
struct Vec {
int len;
float* dptr;
Vec(int len) : len(len) {
dptr = new float[len];
}
Vec(const Vec& src) : len(src.len) {
dptr = new float[len];
memcpy(dptr, src.dptr, sizeof(float)*len);
}
~Vec(void) {
delete [] dptr;
}
};
inline Vec operator+(const Vec &lhs, const Vec &rhs) {
Vec res(lhs.len);
for (int i = 0; i < lhs.len; ++i) {
res.dptr[i] = lhs.dptr[i] + rhs.dptr[i];
}
return res;
}
コードにリンクしないでください。関連するすべてのコードは質問に*含める必要があります。 –
あなたの質問を探すために私たちを砂にしないでください。ここにコードを追加することができます。 – Green
質問を編集しました。 –