@ mesajflaviu
Daca ai de a face cu structuri de date bi-dimensionale, evita pe cat posibil chestii gen vector<vector<...>> sau CArray<CArray<...>> sau...
Poti foarte simplu sa-ti definesti o clasa care-ti tine elementele pe o linie/rand intr-un array iar apoi o alta clasa care tine un array de randuri. E mai usor si e mai C++.
Cat despre metodele de a pune mana pe membrii de tip array dintr-o clasa...
Kernighan si Ritchie au bagat cu mult timp in urma pointerii si C iar Bjarne Stroustrup a mai pus de la el un varf de cutit de referinte in C++.
Asa ca, cu C++11 " move semantics" sau nu, poti scapa de dureri de cap daca folosesti ceva de genul
Code: Select all
class CBar
{
// ...
CArray<CFoo> m_arrFoo;
public:
//...
CArray<CFoo>& GetFooArray()
{
return m_arrFoo;
}
const CArray<CFoo>& GetFooArray() const
{
return m_arrFoo;
}
//...
};
@ Silviu Ardelean
Despre STL vs. MFC containers in aplicatii MFC (incluzand despre compilatoare care suporta C++11, plus "move semantics", RVO si altele asemenea) sunt dispus sa discutam si o saptamana.
Daca ma convingi cu argumente (nu numai "pe derost" ca-n presa, pardon "pe surse"

) ca e mai optim sa folosesc, sa zicem, std::vector<std::string> in loc de CStringArray, ma las de programare.
Daca nu, te rog nu mai arunca cu pietre in contaierele MFC pana nu inveti cat de cat cu ce se manaca!