我是c ++的新手,对以下代码有疑问: 为什么displayString中的cout显示实际的字符串而不是字符串的地址?它是一个指针,所以它的值应该是地址吧?
#include <iostream>
using namespace std;
class myString
{
char* stringPtr=NULL;
public:
myString(char* inputPtr) {
if(inputPtr!=NULL) {
stringPtr=new char [strlen(inputPtr)+1];
stringPtr=inputPtr;
} else {
stringPtr=NULL;
}
}
~myString() {
if(stringPtr!=NULL) {
delete [] stringPtr;
}
}
void displayString() {
cout << stringPtr << endl;
//WHY DOES THIS DISPLAY THE VALUE THE
//POINTER POINTS TO AND NOT THE ADDRESS?
}
};
int main() {
myString firstString("hello world");
firstString.displayString();
}