SORU
9 ŞUBAT 2011, ÇARŞAMBA


char * karşı sabit karakter *sabit sabit?

Bazı örnek programlar ile C ile refamiliarize kendim için yapıyorum ve şu soruyu rastladığıma. İlk olarak, burada örnek kod

void print_string(const char * the_string)
{
    cout << the_string << endl;
}

int main () {
    print_string("What's up?");
}

Yukarıdaki kodu, print_string parametre yerine const char * const the_string olabilirdi. Bu daha doğru olurdu?

Bir sabit bir karakter için sabit bir işaretçi ise farkı bir sabit bir karakter için bir işaretçi olduğunu anlıyorum. Ama neden bu iş? Ne zaman anlamlı olabilir mi?

CEVAP
9 ŞUBAT 2011, ÇARŞAMBA


İkincisi print_string içinde the_string değiştirmenizi önler. Aslında burada çok uygun olurdu, ama belki de ayrıntı geliştirici ertelendi.

char* the_string: the_string puan char değiştirebilirim ve hangi işaret eden char getirebilirim.

const char* the_string: the_string puan char değiştirebilirim, fakat puan char değiştir edemem.

char* const the_stringKalamam hangi the_string puan char değişim, fakat puan char getirebilirim.

const char* const the_stringKalamam hangi the_string puan char değişiklik, ne de hangi işaret eden char değiştirebiliyorum.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Derek Banas

    Derek Banas

    12 AĞUSTOS 2008
  • Fullscreen

    Fullscreen

    23 Mart 2006
  • InsideBlackBerry

    InsideBlackB

    14 Aralık 2009