我得到了我的程序的這種奇怪的行爲,我無法弄清楚。我的教授向我展示了一個缺陷,在我的程序中,我只是在構建一個對象時複製一個字符指針,而不是創建整個數組的新副本,因此您可以使用它。他用類似的代碼來證明這一點。嘗試設置字符數組的字符時程序崩潰
的代碼:
char sweat[] ="Sweater";
warenkorb = new WareImKorb(new Textil (205366,4.2,sweat,40),2,warenkorb);
sweat[0] = '\0';
現在如果我反而使其:
char* sweat ="Sweater";
程序運行正常,直到我嘗試汗水[0] = '\ 0'; 它只是然後開始。
但是,這個作品: char cc [] =「毛衣」; char * sweat = cc;
這真的讓我感到困擾,我不明白,爲什麼版本1不起作用。 希望你們能幫助我,否則我會瘋狂地想知道這件事。
對第一個版本不起作用的是什麼?你爲什麼使用char數組而不是std :: string? – CashCow 2011-02-15 18:00:39