19 Temmuz 2009 Pazar

new char(10) ve new char[10] arasındaki fark

char *ptr = new char(52); => ile 1 byte lık yer alıp "char" sınıfından bir nesne oluşturarak, bu nesenenye ilk değer olarak (contructur ını çağırarak) decimal olarak yazılmış ascii characterlerden değeri "52" olan 4 sayısını karakter olarak ptr işaretçisinin gösterdiği yere yazmış oluruz...

char *str = new char [52]; => ile 52 karakter boyutunda yer ayırırır ve bu aralığın ilk adresini str işaretçisi ile geri döndürür. Ayrılan alanların her birisi için char sınıfının constructor ını çağırır ve değerini boş olarak atar ...

denemek isterseniz:::

#include
using namespace std;
int main()
{
char *ptr =new char('c'); //value= "c"
char *ctr =new char(52); //value = 4
char *str =new char[52];

cout<<*ptr<<"\n";
cout<<*ctr<<"\n";

for(int i=0;i<52;i++)
cout<<*str<<"\n";

return 0;
}

Hiç yorum yok:

Yorum Gönder

Apture