Devrains
@Devrains

Нюансы между двумя конструкциями инициализация?

Нюансы между двумя конструкциями инициализация?

string str = "sweet dreams";

и...

string str = string("sweet dreams");
  • Вопрос задан
  • 118 просмотров
Пригласить эксперта
Ответы на вопрос 2
@Myclass
А зачем второе делать? Ведь тем, что передаётся значение как параметр, то создаётся string по любому, а потом переобразовывается , те используется конструктором - опять в string. Хотя может быть для компайлера разницы нет.
Ответ написан
Разница есть.
В первом случае просто будет создана строка, а во втором случае будет создана строка, она потом неявно преобразуется в ReadOnlySpan`char и от этого спана создастся новая строка через конструктор.
В случае старого фреймворка вообще ошибка будет, тк в нём нет спанов, и у строки нет конструктора, который принимает в себя другую строку.

https://sharplab.io/#v2:EYLgxg9gTgpgtADwGwBYA0AXEB...

Не могу придумать практического применения для второго варианта.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы