我有兩個類和我的轉換方法:集裝箱鑄造
class A;
class B;
class A
{
...
};
class B
{
...
static B fromA(A a)
{
B b;
// ... some property conversions from A to B
return b;
}
operator A()
{
// ... some property conversions from this(B) to A
return A
}
}
如可以看到的我所定義的流延(對於B - > A)+靜態轉換(對於A - > B)B類內它是被禁止的定義A級內的任何轉換或轉換
假設我有兩個向量:
vector<vector<A> > vecA; // pre-defined
vector<vector<B> > vecB; // to be casted from vecA
什麼是最佳(最快)的方式來實現這些之間的數據轉換,我的醜陋的解決方案代替:
using namespace std;
vecB.resize(vecA.size());
for(int i = 0; i<vecA.size(); i++)
{
vecB[i].resize(vecA[i].size());
for(int j = 0; j<vecA[i].size(); j++)
{
vecB[i][j] = B::fromA(vecA[i][j]);
}
}
您應該在複製 –