Jump to content
Forumu Destekleyenlere Katılın ×
Paticik Forumları
2000 lerden beri faal olan, çok şukela bir paylaşım platformuyuz. Hoşgeldiniz.

[C++] For döngüsünü sıfırlamak


Öne çıkan mesajlar

Mesaj tarihi:
haha topic patlamış:)

işin komik yanı topiği açtıktan sonra kendim çözümü bulmam:)

for(int j=0;j<N;j++)
{
if(v3[j+1]<v3[j])
{
swap(v3[j],v3[j+1]);
j=0;
}
}


arrayin (vectorün) küçükten büyüğe sıralamasını yaptım fikir de kendimin:P
Mesaj tarihi:
Rahan said:
syntax dışında çok bir fark yok. hatta üretilen makina kodu aynıdır muhtemelen. ama pointer değil sonuçta. :)


Katılmıyorum. Kullanılan adresin saklanması büyük bir semantik fark.

Pointer kullanırken: 'Al sana adres' diyorsun. Referans kullanırken: 'Al sana nesne' diyorsun (teknik olarak adres veriyor olmanın syntax ile ilgisi yok).
Mesaj tarihi:
Mirage said:
Katılmıyorum. Kullanılan adresin saklanması büyük bir semantik fark.

Pointer kullanırken: 'Al sana adres' diyorsun. Referans kullanırken: 'Al sana nesne' diyorsun (teknik olarak adres veriyor olmanın syntax ile ilgisi yok).


evet bu dediğin de doğru. iki farklı bakış açısı var.

programcı tararından düşünülüşü için ufak da olsa fark var. bir fonksyona reference veriyorsanız, "sadece o adresteki nesne veya variable" ile ilgileniyorsunuzdur. pointer verdiğinizde o adresi buffer olarak kullanmak veya nebleyim o adresteki nesneyi deallocate etmeyi isteyebileceğiniz gibi daha çok ihtimali çağrıştırır.

ikinci bakış açısında implementasyonu herhangi bir işlemcide birbirinin aynı olur. misal

void foo(Type *myPtr)
{
Type& myRef(*myPtr);
//1
}

void foo(Type& myPtr)
{
Type* myPtr(&myPtr);
//2
}


aynı değişkeni ikisine de bi pointer bi ref olarak verdiğinizde myPtr lar ve myRefler ikisi aynı değeri alır burda hep. gerçi bi ara kitaba bakmak lazım stroustup ne demiş.
×
×
  • Yeni Oluştur...