2017-08-07 10 views
-6

次のコードはClassName* obj = new ClassName();と同じですか?新しいキーワードなしのオブジェクトへのポインタの作成

ClassName* obj; 
obj = methodName(); 

私はそれをhereが見つかりました:

GLFWwindow* window; 
window = glfwCreateWindow(1024, 768, "Tutorial 01", NULL, NULL); 
+3

いや、それはないです。ほとんどの場合、コンパイル時にエラーが発生します。そうでない場合は、未定義の動作が発生する可能性があります。 – StoryTeller

+0

'obj = new ClassName();'は有効です。 –

+0

あなた、平均ClassName obj; \t obj = ClassName(); –

答えて

2
GLFWwindow* window; 
window = glfwCreateWindow(1024, 768, "Tutorial 01", NULL, NULL); 

は機能glfwCreateWindowに見て。関数は、GLFWwindowのインスタンスを動的に作成するか、静的に宣言されたインスタンスを指している可能性があります。 newと同様の機能と考えてください。

そして、あなたの質問のタイトルに答えるために、はい、あなたはnewmallocを使用せずにオブジェクトへのポインタを割り当てることができます。

static MyObject object; 
MyObject * myPointer; 
myPointer = &object; 
関連する問題