CVectorProject
verExample
これは、純粋なcに一般的なベクター/リストライブラリを作成するための基本的なアプローチです。しかし、「純粋なc」は私のファイル拡張機能に矛盾していることに気づきました。はい、問題はありますが、それはコンパイラの免除された問題です。
GCCには既にタイプの仕様があるため、問題なく *.cファイルを構築できます。
MSVCコンパイラで動作しない場合。 MSVCには「Typeof」仕様はありません。ここでは、私の実装が型指定子に依存し、Decltypeは予想されるように機能しませんでした。したがって、static_cas <delctype(x)>を解決策として把握します。
typedef struct
{
intサイズ;
int容量;
YourDatatype *データ;
} mydatavector;
ベクトルデータ構造を作成する必要があるすべて。独自の定義されたデータ型ですべてのベクトル関数を簡単に使用できた後
例:struct foo {..} typedef foo foo; //ここで、vectormakerを正しく実行するには、構造を新しいタイプとして定義する必要があります...
cvectorcreateType(foo、myfoovector);
myfoovector myvec = vectorcreate(myvec);またはmyfoovector myvec; VectorInit(myvec);
... それから
YourDatatype要素。 / * Some Process / VectorAppend(vec、element) / some process * / vectorsort(vec、yourdatatypocomparator);