在c++中對char類型做了特殊處理,原因是兼容c語言
eg:
char str[]="abcdef";
這裡的str是一個地址,c++在運行時會自動將str的地址從str[0]一直移動到“”;然後輸出結果。\abd
char* str這個是一個野指針,千萬別這樣使用,在類中除外。
小練習 #include <iostream>
using namespace std;
class Book{
private:
char* str;
public:
Book(char str[]);
void show();
};
Book::Book(char str[]){
this->str=str;
};
void Book::show(){
cout<<this->str<<endl;
}
int main(){
Book b("abcdef");
b->show();
}最後一行寫錯了,應當是b.show();