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
İ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_string
Kalamam hangi the_string
puan char
değişim, fakat puan char
getirebilirim.
const char* const the_string
Kalamam hangi the_string
puan char
değişiklik, ne de hangi işaret eden char
değiştirebiliyorum.
C tipi işaretsiz char * karakter *sabi...
Neden't İ 'char**' ...
Karakter isimleri sabit değildir Neden...
Neden bana C bir sabit, sabit bir char...
Dönüştürmek için nasıl bir std::string...