Я пытался искать в другом месте, но не смог найти полный ответ.
Итак, допустим, у меня есть функция или конструктор класса, который создает окно, функция, скорее всего, будет вызываться со строкойлитерал: auto myWindow = CreateWindow("Window Title");
Мне было интересно, как лучше написать декларацию функции / конструктора, поскольку кажется, что существует много опций, таких как константная строка ref, string_view или строковый литерал в стиле C.Я также задавался вопросом, может ли строка rvalue быть лучше, чем ссылка, поскольку она может быть перемещена и, следовательно, построена в стеке функций.Я хотел бы, чтобы функция CreateWindow была интерфейсом или оболочкой для API, такого как Qt, SDL или напрямую с ОС, поэтому строковый литерал, скорее всего, будет передан другой функции, так что он может быть преобразован в соответствующий тип для этой функции.,Этот вопрос в основном является для меня познавательным, поскольку он мало влияет на этот пример. Мне просто интересно, может ли кто-нибудь дать общее представление о передаче строкового литерала в современном C ++ со всеми опциями, которые меня немного смущают!
Надеюсь, я правильно следую правилам переполнения стека, если не простите, пожалуйста, это мой первый раз, лол!
class Window
{
public:
Window(const int Width, const int Height, STRING_LITERAL Title);
virtual ~Window();
Window(const Window& copy) = delete;
Window& operator=(const Window& assign) = delete;
};