fork(1) download
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. class Bilet {};
  6.  
  7. template <class T>
  8. class StosWskaznikow
  9. {
  10. public:
  11. StosWskaznikow(int a) { }
  12. private:
  13. StosWskaznikow(const StosWskaznikow&);
  14. const StosWskaznikow& operator=(const StosWskaznikow&);
  15. };
  16.  
  17. #define SIZE 5
  18. #define VALUE 3
  19.  
  20. char mem[sizeof(StosWskaznikow<Bilet>) * SIZE];
  21. StosWskaznikow<Bilet>* t = (StosWskaznikow<Bilet>*)(&mem);
  22.  
  23. class MemMgr
  24. {
  25. private:
  26. static MemMgr mgr;
  27. MemMgr()
  28. {
  29. cout << "Konstruktory" << endl;
  30. for (int i = 0; i < SIZE; i++)
  31. {
  32. new (t + i) StosWskaznikow<Bilet>(VALUE);
  33. }
  34. }
  35. ~MemMgr()
  36. {
  37. cout << "Destruktory" << endl;
  38. for (int i = 0; i < SIZE; i++)
  39. {
  40. (t + i)->~StosWskaznikow();
  41. }
  42. }
  43. };
  44. MemMgr MemMgr::mgr;
  45.  
  46. int main() {
  47. return 0;
  48. }
Success #stdin #stdout 0s 3296KB
stdin
Standard input is empty
stdout
Konstruktory
Destruktory