Баг? Не поделили временный объект
От: Caracrist https://1pwd.org/
Дата: 29.03.10 09:27
Оценка: :)
Решил вынести отдельной темой отсюда: http://www.rsdn.ru/forum/cpp/3753238.1.aspx
Автор: Caracrist
Дата: 29.03.10


Вот код:
struct tracer
{
    tracer()
    {
        cout << __FUNCTION__ << endl;
    }

    tracer(tracer const&)
    {
        cout << __FUNCTION__ << endl;
    }

    ~tracer()
    {
        cout << __FUNCTION__ << endl;
    }
};
struct lock_
{
   lock_()
   {
        cout << __FUNCTION__ << endl;
   }
   lock_(tracer const&)
   {
        cout << __FUNCTION__ << endl;
   }
   ~lock_()
  {
        cout << __FUNCTION__ << endl;
  }
};
void lock(lock_ _){}
void foo(tracer t)
{
    cout << __FUNCTION__ << endl;
}

int main()
{
    tracer t;
    lock(t);
}


тест:
http://codepad.org/OVDUfnOS

Output:

tracer
lock_
~lock_
~lock_
~tracer


П.С. студия так не глючит
~~~~~
~lol~~
~~~ Single Password Solution
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.