21 Haziran 2017 Çarşamba

Karmaşık Tanımlamalar

Giriş
Karmaşık tanımlamalar yani Complex Declerations C++ dilinin okunması zor olabileceğini gösteriyor. Bir kaç örneği vermek istedim.

Karmaşık Array Tanımlamaları
Örnek
Şöyle yaparız
int array[5] = { 10,11,12,13,14};
...
int *pArray = new int[5];
Örnek
Şöyle yaparız
char s[5][5];
char *s[5];
char (*s)[5];
Birincisi 5x5'lik 2 boyutlu bir matrix
İkincisi 5 karakter alabilen bir pointer
Üçüncüsü 5 eleman alabilen char pointer dizisi

Pointer To Array
Pointer To Array yazısına taşıdım.

Reference To Array
Şöyle yaparız.
int a[5];
int (&ref)[5] = a;
Function Pointer Tanımlamaları
Karmaşık Tanımlamalar - Function Pointer yazısına taşıdım.

Pointer to Pointer Tanımlamaları
Örnek

Örnek
Şöyle yaparız.
class Foo { public: int f1, f2; };

testClass foo;
testClass * bar = &foo;
testClass ** baz = &bar;

(*baz)->f1 = 1;
Eğer şöyle yaparsak.
*baz->f1 = 1;//Error appears here
Şu hatayı alırız.
“expression must have pointer to class type”


Hiç yorum yok:

Yorum Gönder