Nije se mijenjalo ništa, C++ je i dalje onaj dobri stari

.
Što se tiče ovoga tvoga pitanja nisam baš previše radio sa time pa bi morao malo pogledati (sad sam na poslu pa se nemogu baš tako zajebavati) a inače ja radim na ovaj način, meni najlogičniji i najjednostavniji za pratiti:
//kreiramo dvostruki pointer
char **a;
//prvo polje je veličine 3
a = new char*[3];
//sva ostala su 4
for(int i = 0; i<3; i++)
*(a + i) = new char[4];
//kasnije puniš elemente sa dvije for liste kao i uvijek kod dvodimenzionalnih polja
for(int i = 0; i<3; i++)
{
for(int j = 0; j<4; j++)
{
*(*(a+i)+j) = ...;
}
}