Dyikot
@Dyikot

Можно ли в c++ реализовать new() с c#?

Что-то типо такого:
Human* human = new();
  • Вопрос задан
  • 162 просмотра
Пригласить эксперта
Ответы на вопрос 4
Adamos
@Adamos
Наверное, можно извратиться на шаблонах, создав функцию new, возвращающую особый класс и определив шаблонное присвоение этого класса, в котором вызывается конструктор того типа, который слева от присвоения.
Но если кому-то придется читать за вами такой код - вам лучше тщательно скрывать свой адрес.
Ответ написан
@Wexter
#define _NEW(type, name) type * name = new type;

int main() {
  _NEW(Human, human);
  return 0;
}
Ответ написан
Комментировать
@maincpp
Human* human = new Human;
Ответ написан
@mayton2019
Bigdata Engineer
Насколько я помню new - это зарезервированное ключевое слово языка. Поэтому использовать
его в роли функции вряд-ли получится.

Да и зачем это автору? Создание новых конструкций синтаксиса - это путь в Lisp, Nemerle, Forth.
Языку С++ это не надо. А если автору так сильно хочется - то наверное настало время сменить язык.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы