Hiện tại tôi muốn tạo lớp trình bao bọc trong môi trường đa luồng. Mục đích của lớp là đơn giản - Lấy một khóa trên cấu trúc của nó và thả một khóa vào sự hủy diệt của nó. Khác hơn thế, nó giống với một con trỏ bình thường. Hơn nữa, tôi muốn ngăn chặn nó được tạo ra trên khu vực heap để đảm bảo rằng khóa sẽ được phát hành cuối cùng.Biến chỉ có ngăn xếp có thể có trong C++ không?
Nghịch đảo khá dễ (hàm tạo riêng với phương thức factory), nhưng tôi không biết rằng biến chỉ có ngăn xếp là có thể. Không có cách nào khác ư?
Tôi nghĩ rằng những thứ như thế này là không cần thiết. Mỗi lập trình viên giỏi nên biết sử dụng mới/xóa rủi ro của riêng mình. Nếu lập trình viên muốn đối tượng này trên heap và vứt bỏ điểm của sự tồn tại của lớp, hãy để chúng. –
Điều bạn đang yêu cầu là không thể và không cần thiết. Nếu một lập trình viên không đủ năng lực sử dụng mã của bạn, họ sẽ quản lý để phá vỡ ứng dụng của riêng họ * anyway *. Và nếu họ có thẩm quyền, thì họ sẽ phân bổ đối tượng khóa của bạn theo cách nó có ý nghĩa: trong một bối cảnh phức tạp. – jalf
"Bảo vệ chống lại Murphy, chứ không phải Machiavelli" - Herb Sutter – MSalters