Сообщение Re[6]: Почему нельзя писать void ctor(); от 24.04.2017 14:42
Изменено 24.04.2017 14:42 rg45
Re[6]: Почему нельзя писать void ctor();
Здравствуйте, Максим Рогожин, Вы писали:
N>>А почему этот синтаксис надо запрещать?
МР>Потому, что конструктор это функция, которая не возвращает никаких значений. Вот, например
МР>
Ты сам себя загоняешь в заблуждение, пытаясь рассматривать это выражение как значение, возвращаемое функцией. В то время как никто никого здесь не возвращает — это прямое конструировние объекта имя тима которого задается задается конструктором. Это по смыслу то же самое что и
Нет здесь никакого возвращаемого значения, видишь?
N>>А почему этот синтаксис надо запрещать?
МР>Потому, что конструктор это функция, которая не возвращает никаких значений. Вот, например
МР>
МР>A obj = A(1024); // значит и так нельзя писать... Потому, что функция-конструктор,
МР> // с точки зрения синтаксиса, похожа на функцию createObject(int) тем,
МР> // что у нее нет возвращаемого значения.
МР>Ты сам себя загоняешь в заблуждение, пытаясь рассматривать это выражение как значение, возвращаемое функцией. В то время как никто никого здесь не возвращает — это прямое конструировние объекта имя тима которого задается задается конструктором. Это по смыслу то же самое что и
int obj = int(1024);Нет здесь никакого возвращаемого значения, видишь?
Re[6]: Почему нельзя писать void ctor();
Здравствуйте, Максим Рогожин, Вы писали:
N>>А почему этот синтаксис надо запрещать?
МР>Потому, что конструктор это функция, которая не возвращает никаких значений. Вот, например
МР>
Ты сам себя загоняешь в заблуждение, пытаясь рассматривать это выражение как значение, возвращаемое функцией. В то время как никто никого здесь не возвращает — это прямое конструировние объекта имя типа которого задается конструктором. Это по смыслу то же самое что и
Нет здесь никакого возвращаемого значения, видишь?
N>>А почему этот синтаксис надо запрещать?
МР>Потому, что конструктор это функция, которая не возвращает никаких значений. Вот, например
МР>
МР>A obj = A(1024); // значит и так нельзя писать... Потому, что функция-конструктор,
МР> // с точки зрения синтаксиса, похожа на функцию createObject(int) тем,
МР> // что у нее нет возвращаемого значения.
МР>Ты сам себя загоняешь в заблуждение, пытаясь рассматривать это выражение как значение, возвращаемое функцией. В то время как никто никого здесь не возвращает — это прямое конструировние объекта имя типа которого задается конструктором. Это по смыслу то же самое что и
int obj = int(1024);Нет здесь никакого возвращаемого значения, видишь?