crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )


  Ответ в Возможен ли класс определяющий сам создан ли он на стеке
Введите ваше имя
Подтвердите код

Введите в поле код из 6 символов, отображенных в виде изображения. Если вы не можете прочитать код с изображения, нажмите на изображение для генерации нового кода.
Теги
Выровнять по центру
Ссылка на тему
Ссылка на сообщение
Скрытый текст
Сокращение
Код с подсветкой
Offtopic
 
Удалить форматирование
Спец. элементы
Шрифт
Размер
 
Цвет шрифта
 
Отменить ввод
Вернуть ввод
Полужирный
Курсив
Подчеркнутый
 
 
Смайлики
Вставить изображение
Вставить адрес электронной почты
Цитата
Код
Раскрывающийся текст
 
Увеличить отступ
По левому краю
По центру
По правому краю
Вставить список
Вставить список

Опции сообщения
 Включить смайлы?
Иконки сообщения
(Опционально)
                                
                                
  [ Без иконки ]
 


Последние 10 сообщений [ в обратном порядке ]
zamnach Дата 30.3.2010, 18:22
  +к вышесказанному: есть так называемые compile_time_assert,
описанные в книге Александреску "Как я тр@хнул ежика"
"Современное проектирование на C++"
с помощью них можно организовать ругань компилера при вызове конструктора без new.
kwisp Дата 24.10.2009, 14:12
 
Цитата(ViGOur @ 24.10.2009, 14:40) *
Мне кажется проще будет сделать сам класс так, чтобы обязать программера создавать его экземпляры на куче.

ну да это не сложно
допустим класс А нужно обязательно создавать в куче.
делаем ему все конструкторы private и делаем ему друга ACreator который имеет статические функции Init() для каждого конструтора А создаем в инит в куче А и возвращаем указатель.

можно эти статические функции прямо в А и засунуть кстаити. но в книженции одной хвалили способ с 2 классами.

можно посмотреть классы smart-pointer`ов они на подобии делаются... может что нибудь удастся использовать.
ViGOur Дата 24.10.2009, 13:40
  Мне кажется проще будет сделать сам класс так, чтобы обязать программера создавать его экземпляры на куче.
SABROG Дата 23.10.2009, 23:03
  Кстати может оффтопик, но такой вопрос сегодня назрел. А возможно ли создать класс таким образом, чтобы компилятор ругался, если экземпляр этого класса пытаются создать на стеке, а не на куче через new?
Просмотр темы полностью (откроется в новом окне)
RSS Рейтинг@Mail.ru Текстовая версия Сейчас: 13.7.2025, 17:30