什麼是分配給char *ptr
內存:編譯器提供複製CTOR
#include <iostream>
using namespace std;
class A
{
private:
int count;
char *ptr;
public :
void print()
{
cout << "Addr " << &ptr << endl;
cout << "Addr " << *ptr << endl;
}
};
int main()
{
A obj;
obj.print();
A *obj1 = new A(obj);
obj1->print();
cin.get();
return 0;
}
我使用編譯器提供的拷貝構造函數。我有興趣瞭解多少內存將分配給*ptr
。
它只是'char *'使用的內存,即sizeof(char *)'字節。 – juanchopanza
你提供的例子不會被編譯,因爲'ptr'永遠不會被初始化,所以'cout <<「Addr」<< * ptr << endl;'會出現段錯誤 –
@MattClarkson這兩個錯誤 - 它會編譯但會產生未定義的行爲。 –