オブジェクトを
「型名* ポインタ変数名 = new 型名(引数):」
で生成することついてご質問させていただきます。
「new 型名(引数)」の部分は、
①変数名なきstring型のメモリがPCのどこかに確保され、
②この変数名なきstring型のメモリにアドレスが割り振られ、
③このアドレスをポインタ変数pStrに格納している。
・・・という意味なのでしょうか。
変数宣言なしにstring("Hello!!")のアドレスが存在している??
そのような理解で正しいのでしょうか。
C++
1//.cppファイル 2#include <iostream> 3#include <string> 4using namespace std; 5 6int main() 7{ 8 string* pStr = new string("Hello!!"); 9 cout<<*pStr<<endl; 10 delete pStr; 11}
今まで何も考えずにオブジェクトの生成は、
「型名* ポインタ変数名 = new 型名(引数):」だと使ってきたのですが、ふと疑問に思いました。
理屈っぽいのですが、よろしくお願いします。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/05/14 09:34