अस्थायी A(3)
को "यहां" मुद्रित होने से पहले नष्ट नहीं किया जाना चाहिए?"यहां" मुद्रित होने से पहले अस्थायी ए (3) को नष्ट नहीं किया जाना चाहिए?
#include <iostream>
struct A
{
int a;
A() { std::cout << "A()" << std::endl; }
A(int a) : a(a) { std::cout << "A(" << a << ")" << std::endl; }
~A() { std::cout << "~A() " << a << '\n'; }
};
int main()
{
A a[2] = { A(1), A(2) }, A(3);
std::cout << "Here" << '\n';
}
आउटपुट:
A(1)
A(2)
A(3)
Here
~A() 3
~A() 2
~A() 1
नहीं है, विनाशकर्ता जैसे ही वस्तु क्षेत्र से बाहर हो जाता है के रूप में पैदा किया जा रहा है (यानी, जब मुख्य के ''} तक पहुँच जाता है)। – 101010
@ 101010 घोषणापत्र के अंत में अस्थायी रूप से नष्ट नहीं किया गया है 'ए [2] = {ए (1), ए (2)}, ए (3); '? –