What's the best way to resolve this scope problem?
        Posted  
        
            by Peter Stewart
        on Stack Overflow
        
        See other posts from Stack Overflow
        
            or by Peter Stewart
        
        
        
        Published on 2010-05-02T13:54:53Z
        Indexed on 
            2010/05/02
            13:57 UTC
        
        
        Read the original article
        Hit count: 342
        
I'm writing a program in python that uses genetic techniques to optimize expressions.
Constructing and evaluating the expression tree is the time consumer as it can happen
billions of times per run. So I thought I'd learn enough c++ to write it and then incorporate it
in python using cython or ctypes.
I've done some searching on stackoverflow and learned a lot.
This code compiles, but leaves the pointers dangling.
I tried 'this_node = new Node(...' . It didn't seem to work. And I'm not at all sure how I'd
delete all the references as there would be hundreds.
I'd like to use variables that stay in scope, but maybe that's not the c++ way.
What is the c++ way?
    class Node
    {
    public:
        char *cargo;
        int depth;
        Node *left;
        Node *right;
    }
  Node make_tree(int depth)
    {
        depth--;   
        if(depth <= 0)
        {
            Node tthis_node("value",depth,NULL,NULL);
            return tthis_node;
        }
        else
        {
            Node this_node("operator" depth, &make_tree(depth), &make_tree(depth));
            return this_node;
        }
    };
        © Stack Overflow or respective owner