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

  • majesticdubstep

    majesticdubs

    3 Kasım 2011
  • Pál Zoltán Illés

    Pál Zoltán

    30 NİSAN 2007
  • tunez4you

    tunez4you

    20 EKİM 2008