Question: My Wordpress website is in 4 languages. I have already translated my Wordpress theme string in all languages through Loco translate. But the strings which i have attached in screenshots were not include in the string translate file(PO file). Can you please tell me How i can translate my comment portion all 4 languages?[![enter image description here](https://i.stack.imgur.com/w5JtG.png)](https://i.stack.imgur.com/w5JtG.png)

Answer: 
Yeah, it doesn't really matter whether `L` is dynamically allocated or not. That's by-the-by. In fact there's no reason here to dynamically allocate it.

What matters is the ownership and lifetime of the nodes that it manages. These are dynamically allocated, so you will need a destructor inside `ListNode` that unlinks and de-allocates the nodes.

There's nothing wrong with "mixing" storage duration — that's what you're doing every time you instantiate a `std::vector<int>`, for example. You just need to ensure that anything *owning* dynamically allocated data has the capability to clean up after itself.
You need some delete function like this

```
    void DeleteList(ListNode** head)
    {
        ListNode* p = *head;
        while(p != NULL)
        {
            ListNode *t = p->next;
            delete p;
            p = t;
        }
    }

    // and call it in main:

    printf("Final value is %d.\n", p->val);
    DeleteList(&L);

```

But it is better to immediately define all these operations in a special class, such as List:

```
class List
{
private:
    ListNode  *head;
public:   
    List() : head(NULL){}
    ~List() { Clear(); }
    void AddToTail(int value);
    void Clear();      
};

void List::AddToTail(int value)
{
    ListNode* nlist = new ListNode(value);
    if(head == NULL)
    {
        head = nlist;
    }
    else
    {
        ListNode* p = head;
        while(p->next != NULL)
        {
            p = p->next;
        }
        p->next = nlist;
    }
}

void List::Clear()
{
    ListNode* p = head;
    while(p != NULL)
    {
        ListNode *t = p->next;
        delete p;
        p = t;
    }
    head = NULL;
}

```

and use it like this:

```
List lst;
lst.AddToTail(5);
lst.AddToTail(10);
lst.AddToTail(20);
lst.AddToTail(30);
lst.Clear();

```