Two questions about the following code sample:

--- code begins ---
//class IPv4 is defined elsewhere

list<IPv4> ip_list;

for (int i=1; i<=9; i++) {
char addr[128];
sprintf(addr, "%d.%d.%d.% d", i,i,i,i);

//IPv4 new_ip(addr);
//ip_list.push_ba ck(new_ip);
ptr = new IPv4(addr);
ip_list.push_ba ck(*ptr);...