私が正しく覚えていれば、クラス1では、配列へのポインタを設定すると、その配列の最初の要素のアドレスを保持するポインタが設定されることがわかりました。char配列へのポインタは、最初の要素のアドレスの代わりに配列要素を出力しますか?
int main() {
char str1[5] = {'j', 'h', 'i', 'o', '\0'};
cout << str1 << endl;
char *a=str1;
cout << a << endl;
}
ただし、次のコードは、メモリアドレスjの代わりに 'jhio'を出力します。何故ですか?
'char *'の 'operator <<'は、指定された文字を出力するためにオーバーロードされます –