私はツリーのコピーコンストラクターを考え出そうとしています。私はかなりの数の提案を見つけました。
これは私に興味を持った。
class TreeNode
{
int ascii;
TreeNode* left;
TreeNode* right;
public:
TreeNode() { ascii = 0; left = right = 0; }
TreeNode* clone();
// ...
};
TreeNode* TreeNode::clone()
{
if (TreeNode* tmp = new TreeNode)
{
tmp->ascii = ascii;
if (left) tmp->left = left->clone();
if (right) tmp->right = right->clone();
return tmp;
}
return 0;
}
とはif (TreeNode* tmp = new TreeNode)どういう意味ですか?
それ以外は問題ないようです。うまく機能しません。
何が問題なのですか?
上記の例は、このサイトからのものです。