いくつかの質問:
www.cprogramming.com のリンクされたリストの次のコードを見ていました。
struct node {
int x;
node *next;
};
int main()
{
node *root; // This will be the unchanging first node
root = new node; // Now root points to a node struct
root->next = 0; // The node root points to has its next pointer
// set equal to a null pointer
root->x = 5; // By using the -> operator, you can modify the node
// a pointer (root in this case) points to.
}
最後に root を削除しないため、このコードは [小さな] メモリ リークを引き起こしますか?
また、「ノード」が構造体ではなくクラスだった場合、これは何か違うでしょうか?
最後に、このコードの場合:
#include <iostream>
using namespace std;
class A
{
public:
A(){}
void sing()
{ cout << "TEST\n";}
};
int main()
{
A *a = new A();
a->sing();
return 0;
}
- メインを終了する前に A を削除する必要がありますか?
A *a = new A()
を使用する場合と比較して、どのような場合に使用しA a = A()
ますか?