Цитата(featZima @ 13.9.2010, 00:35 ) | p.s. хотелось бы получить указатель на функцию-конструктор данных объектов, то есть чтобы можно было потом делать так:
|
На конструктор нельзя получить указатель. Существует понятие "виртуальный конструктор", так это примерно то, что ты нарисовал, т.е. некоторая функция, которая умеет создавать и инициализировать объекты заданного класса\иерархии. Вместо бустовых оберток можно использовать "обычные" указатели на функции (это ведь чаще всего глобальная функция или статическая). Это слегка быстрее, но все зависит от задачи. Если нужна универсальность сигнатур, то через буст (т.к. в function можно и метод класса, и статическую функцию с параметрами и прочая запихнуть). А если универсальность не нужна - обычный указатель сойдет. Но в любом случае отдельная функция нужна. Если сильно влом писать три строчки кода на класс, то можно соорудить макрос или шаблон. |