Android-студия ... у меня возникла ошибка при запуске hello world на android studio 6, не могли бы вы ее решить [закрыто]

Кроме того, что сказал Potatoswatter и Андрей Т., обратите внимание, что вы можете уговорить большинство компиляторов не элиминировать конструкторов. GCC обычно предоставляет вам -fno-elide-constructors и MSVC с /Od, которые должны дать вам желаемый результат. Вот какой код:

#include <iostream>

#define LOG() std::cout << __PRETTY_FUNCTION__ << std::endl // change to __FUNCSIG__ on MSVC > 2003

class MyClass
{
public:
  ~MyClass() { LOG(); }
  MyClass():x(0), y(0){LOG(); } //default constructor
  MyClass(int X, int Y):x(X), y(Y){LOG(); } //user-defined constructor
  MyClass(const MyClass& tempObj):x(tempObj.x), y(tempObj.y){LOG(); } //copy constructor

private:
int x; int y;
};

int main()
{
 MyClass MyObj(MyClass(1, 2)); //User-defined constructor was called.
 MyClass MyObj2(MyObj); //Copy constructor was called.
}

Скомпилирован с GCC 4.5.0 на MingW32:

 g++ -Wall -pedantic -ansi -pedantic tmp.cpp -o tmp -fno-elide-constructors

Выход:

$ tmp.exe
MyClass::MyClass(int, int)
MyClass::MyClass(const MyClass&)
MyClass::~MyClass()
MyClass::MyClass(const MyClass&)
MyClass::~MyClass()
MyClass::~MyClass()
-10
задан Vadim Kotov 15 January 2017 в 02:42
поделиться