2010-11-27 9 views
0

私のタイトルはおそらく非常に曖昧です。私は、カルコゲノフルバレン骨格データベースへのベクトルの格納..ポインタの使用?

struct { 
int a; 
int b; 
}itemInt 

を持っているし、私は、ベクターに

std::vector<itemInt> ItemVec;

を宣言し、私はこのベクトルにタイプitemIntのアイテムの束を押してください。これらの値を汎用ポインタを使ってデータベースに格納し、後でそれを取得する必要があります。

long *lGenPtr。私はこのポインタを使用する必要があります。

私はvectorのサイズを使って構造体を宣言して配列したいと思っていました。なぜなら、前もってその情報を持っていないからです。各itemIntの値を格納してからこのlongポインタにキャストします。それは非常に効率的ではありません。これは大きなプログラムで使用されるので、できるだけ効率的にする必要があります。

助けていただけたら助かりますか?私は時間が少し短いです。

ありがとうございました

+1

あなたはデータベースにポインタを格納していると言っていますか?ディスクに? –

+0

ポインタはディスク上のデータを指すのに使用されます – Rustic

+1

@Rustic:..どのように? – Ashe

答えて

0

おそらく、使用しているデータベースのAPIを調べる必要があります。私は確かに、カスタム型をシリアル化するには、DBMSにデータの読み書き方法を指示する直列化/非直列化関数を提供する必要があります。std :: vectorのような非自明な型はネイティブにキャストすることはできません。ポインタを使用するには、特別なシリアライザ経由でルートを取る必要があります。そのフォーマットと機能はDBMSで指定する必要があります。

関連する問題