#pragma удалось (push, on) и #pragma удалось (push, off) в C ++ / CLI? - PullRequest
2 голосов
/ 05 декабря 2011

В чем разница между #pragma managed(push, off) и #pragma managed(push, on)?

Когда нам нужно использовать #pragma managed(push, on) вместо #pragma managed(push, off)?

1 Ответ

5 голосов
/ 05 декабря 2011

Это очевидно - «выкл» выключает управляемый код, «вкл» - включает его.
Мы используем #pragma managed(push, on), когда нам нужно сохранить состояние и включить его.
В общем случае в заголовочном файле мы не знаем, включен ли управляемый код, поэтому мы включаем его:

#pragma once
#pragma managed(push, on)
public ref class Foo
{
    ...
};
#pragma managed(pop)
...