C++Builder AnsiString

6 отговора 116 прегледа
#1

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;

Как компилатора заделя памет за елемент от структурата след като не знае предварително големината на един неин елемент?

Отговор
в отговор на ist #2

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.

Отговор
в отговор на ist #3

Re: C++Builder AnsiString

AnsiString е клас който сам си заделя динамично памет за стринг-а. така че не е фиксиран. но това което си написал може да се използва без проблеми. ако на деден етап ти трябва char* указател към низа използвай AnsiString::c_str()

Отговор
в отговор на Ц++ #4

Re: C++Builder AnsiString

всъшност ако ти трябва структура с фиксиран размер не е това начина. ами тогава използвай char alabala[ size ];

Отговор
в отговор на ist #5

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?

Отговор
в отговор на B.Oiler #6

Re: C++Builder AnsiString

За какво по-точно говориш имам в предвид STL?

Отговор
в отговор на ist #7

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.

Отговор