Je suis curieux de savoir pourquoi ces deux morceaux de code donnent une sortie différentePourquoi le pointeur sur un char se comporte-t-il différemment d'un pointeur sur un char en tant qu'élément de tableau?
#include <iostream>
using namespace std;
int main(){
char *arr=new char;
arr="monday";
cout<<arr<<endl;//gives the output "monday"
char *newArr=new char[3];//i want array of three pointers not the size of a string to be 2+1
newArr[0]="monday";//err
cout<<newArr[0]<<endl;
system("pause");
return 0;
}
je veux dire qu'ils ne sont pas les deux conseils pour aborder la première lettre
la question est quelle est la différence entre « arr » et "newArr [0]"
pourquoi compilateur permet même de réassigner arr, si je peux demander – awashima
@awashima Parce que ce n'est pas invalide? Vous pouvez le faire pointer vers n'importe où si vous le souhaitez. C++ ne tient pas la main, si vous voulez [vous tirer dans le pied] (http://idioms.thefreedictionary.com/shoot+in+the+foot) vous pouvez le faire. –