template <class T>
struct node
{
T data;
int *p;
};
はいの場合、そのようなテンプレートのオブジェクトをどのように定義するのですか?また、上記の構造の動的に作成されたオブジェクトにメモリを割り当てますか?また、ノードオブジェクト自体を指すポインターを持つことができますか?私は C++ でのプログラミングが初めてです。だから私を導いてください
はい、これは完全に許可されています。以下を使用してオブジェクトを作成します。
node<int> int_node;
また、次の方法で動的に割り当てることができます。
node<int>* p_int_node = new node<int>();
C++ では、 astruct
は a と同じですが、class
すべてのデフォルトがpublic
ではなく になりprivate
ます。
したがって、構造体テンプレートを持つことができ、それでやりたいことはすべてクラス テンプレートとまったく同じように機能します。例えば:
node<int> n1; // a `int` node
node<int> *n2 = new node<int>(); // pointer to dynamically allocated instance