2016-04-30 8 views
-1

することができますC++ QTへ(STL)コード(QTL)を変換する方法はありますか?は、両方のQtプロジェクト(QTLスタイル)で使用され、C++プロジェクト(STL形式)

は、私は私のQtのプロジェクトに追加する(QStringの、QVector、...使用時)したいSTL(文字列、ベクトル、iostreamの、fstreamの)と を使って書かれたコードを持っています。 私の理想的な方法は、

// STL to QTL 
#ifdef STL_CPP 
    #include <string> 
    #include<vector> 
#else // QTL 
    #include <QString> 
    #define string QString 
    #include <QVector> 
    #define vector QVector 
#endif 

を次のよう.hファイル内のいくつかの定義を 追加することによって、それがQTL-STL-互換性を持たせるために、任意の既存の作業が は、ソースコードを変更せずに、いくつかの最も一般的に使用されるSTLのコードを変換することができますありますか? は(STL_CPP IFNDEF)コードは、両方のQtのプロジェクトで使用することができます作成​​し、(STL_CPPのifdef)C++プロジェクトに、私はQTデータ型へのstdデータ型を変換する必要はありません

注、私が欲しいものです。 QTLスタイルのコードにSTL形式のコードを変換するにはマクロ置換を使用し

+0

実際のコードの小さな例を示す必要があります。私は 'QVector :: fromStdVector(のconstのstd ::ベクトル&ベクトル)'と 'QStringの:: fromStdString(のconstのstd ::文字列&strが)'あなたの問題を解決しない理由を理解しようとしています。 – drescherjm

答えて

0

は 危険であり、多くの予期しないエラーが発生することがあります。 (パフォーマンスに支払った価格のための)Qtフレームワークと対話するとき

それを回避するには、データ型をQTLする

コンバートSTLデータ型がちょうどQVector::fromStdVector(const std::vector<T> &vector)を同じように、非常に簡単です、QTコードでSTLを使用して変換することができますQString::fromStdString(const std::string &str)drescherjm

関連する問題