Решил вынести отдельной темой отсюда:
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
П.С. студия так не глючит
Здравствуйте, Caracrist, Вы писали:
C>Output:
C>C>tracer
C>lock_
C>~lock_
C>~lock_
C>~tracer
Добавь вывод конструктора копирования lock.
Здравствуйте, remark, Вы писали:
R>Здравствуйте, Caracrist, Вы писали:
C>>Output:
C>>C>>tracer
C>>lock_
C>>~lock_
C>>~lock_
C>>~tracer
R>Добавь вывод конструктора копирования lock.
R>
И это правильное поведение? Студия так не делает.
Вопрос: кто прав?
Здравствуйте, Caracrist, Вы писали:
C>И это правильное поведение? Студия так не делает.
C>Вопрос: кто прав?
Что именно?