Obecnie chcę utworzyć otwieracz klasę akcesorium w środowisku wielowątkowym. Cel klasy jest prosty - Złap zamek na jego konstrukcji i zwolnij blokadę jego zniszczenia. Poza tym jest identyczny z normalnym wskaźnikiem. Co więcej, chcę uniemożliwić jego utworzenie na obszarze sterty, aby upewnić się, że blokada zostanie ostatecznie zwolniona.Czy w języku C++ możliwa jest tylko zmienna stosu?
Odwrotność jest dość łatwa (prywatny konstruktor z metodą fabryczną), ale nie wiem, że możliwa jest tylko zmienna stosowa. Czy jest jakiś sposób?
Myślę, że takie rzeczy jak te są niepotrzebne. Każdy przyzwoity programista powinien wiedzieć, czy użyć nowego/usunąć na własne ryzyko. Jeśli programista chce tego obiektu na stercie i wyrzuci punkt istnienia klasy, pozwól im. –
To, o co prosisz, jest niemożliwe i niepotrzebne. Jeśli niekompetentny programista użyje twojego kodu, to i tak zdoła złamać własną aplikację *. A jeśli są kompetentne, przydzielą ci obiekt blokady w taki sposób, jak ma to na celu: w kontekście o zasięgu. – jalf
"Chrońmy się przed Murphy, a nie Machiavelli" - Herb Sutter – MSalters