C++Builder AnsiString
6 отговора
116 прегледа
C++Builder AnsiString
Може ли да се използва заделяне на памет за структура, чиито елементи са от тип AnsiString чрез функцията new?
Например:
struct Elements
{
AnsiString Head;
AnsiString Body;
};
struct Node
{
Elements Data;
Node *Next;
};
Node *root;
Node *P;
P = new Node;
...
delete P;
Как компилатора заделя памет за елемент от структурата след като не знае предварително големината на един неин елемент?
Например:
struct Elements
{
AnsiString Head;
AnsiString Body;
};
struct Node
{
Elements Data;
Node *Next;
};
Node *root;
Node *P;
P = new Node;
...
delete P;
Как компилатора заделя памет за елемент от структурата след като не знае предварително големината на един неин елемент?
Re: C++Builder AnsiString
Abe ne sum polzval C++ Builder, no mi se struva che AnsiString e obiknoven clas za manipulacia na stringove (da rechem kato CString na MFC). V tozi sluchai samia klas ne si meni razmera v zavisimost ot tova kakuv string si mu dal. Za sudurzanieto AnsiString si zadelia sobstvena pament.
Re: C++Builder AnsiString
AnsiString е клас който сам си заделя динамично памет за стринг-а. така че не е фиксиран. но това което си написал може да се използва без проблеми. ако на деден етап ти трябва char* указател към низа използвай AnsiString::c_str()
Re: C++Builder AnsiString
всъшност ако ти трябва структура с фиксиран размер не е това начина. ами тогава използвай char alabala[ size ];
Re: C++Builder AnsiString
Zashto mislish, che compilatora ne znae razmera na AnsiString?
Tova bi bilo vazmozhno, samo ako ne si go declariral predvaritelno.
PS: Kakvi sa tezi new Node, delete P? Tozi C Builder ne poddarzha li STL?
Tova bi bilo vazmozhno, samo ako ne si go declariral predvaritelno.
PS: Kakvi sa tezi new Node, delete P? Tozi C Builder ne poddarzha li STL?
Re: C++Builder AnsiString
STL = Standard Template Library
Vizh [линк]
Tova e biblioteka za realizirane na osnovni structuri danni, napr. vector, spisak i t.n., kakto i algoritmi varhu tqh. Bibliotekata e utvardena kato ANSI/ISO standart i se predpolaga, che vsichki C++ compilatori q poddarzhat. Ne znam za C Buildera, no bi trqbvalo i toi da q instalira. Tazi biblioteka e tolkova dobre zamislena i optimizirana, che nqma slisal da pishesh sobstven cod za rabota sas strukturi danni, osven ako te ne se poddarzhat ot STL.
Vizh [линк]
Tova e biblioteka za realizirane na osnovni structuri danni, napr. vector, spisak i t.n., kakto i algoritmi varhu tqh. Bibliotekata e utvardena kato ANSI/ISO standart i se predpolaga, che vsichki C++ compilatori q poddarzhat. Ne znam za C Buildera, no bi trqbvalo i toi da q instalira. Tazi biblioteka e tolkova dobre zamislena i optimizirana, che nqma slisal da pishesh sobstven cod za rabota sas strukturi danni, osven ako te ne se poddarzhat ot STL.