3
グラフ内のノードである空間データを処理する必要があります。データ型/変数型/データ構造によって、i番目のノードのx値とi番目のノードのy値の値にアクセスできます。node(i).xとnode(i).y配列の値をC++に格納する最良の方法は何ですか?
グラフ内のノードである空間データを処理する必要があります。データ型/変数型/データ構造によって、i番目のノードのx値とi番目のノードのy値の値にアクセスできます。node(i).xとnode(i).y配列の値をC++に格納する最良の方法は何ですか?
std :: vectorはそれを行います。あなたはnと定義されたノードを持っている場合は、次のように今、あなたは、そのノードに保存されているi番目のノードにアクセスすることができます
class Node
{
std::vector<NODE> mNodes;
public:
int x, y;
Node& operator(int i)
{
return mNodes[i];
}
}
すなわち
:
Node n;
// Populate Node
int x = n(12).x;
int y = n(14).y;
struct Node{
float x;
float y;
}
std::vector<Node> nodes;
std::cout<<nodes.at(i).x;
クラスのベクター内実装やアロケータによっては同じクラスがコンパイルされないことがあります。たとえば、それをデキュを入れ替えようとしてください。対 – Inverse
@Inverse:もっと深く説明できますか?私はいくつかの理由を念頭に置いていますが、どれもアロケータを必要としません。 –
@Inverse:私はそのような事を聞いたことがない。ベクトルは参照のセットなので、型を知る必要はありません。これが間違っているという例を教えてもらえますか?好ましくはリンクを... – Goz