кушает строку и по требованию (get_token) выдает очередной токен. Как лучше сделать при создании лексера:
- мувнуть строку в него
- передать указатель (умный (тогда какой? ) или глупый) на строку
?
Я бы передал константную ссылку и скопировал в поле класса
Ты свой компилятор пишешь в след за Смитом?)
интерпретатор примитивного япа
Тогда надо принимать по значению и мувать в поле класса
А есть разница?
Есть, так аллокаций меньше, когда ты из временного объекта создаёшь
Так и так и так будет копирование происходить, почему меньше аллокаций?
Потому что когда ты муваешь, копирования не будет
А когда по значению передаешь, будет
А теперь представь что ты в конструктор литерал передал
Если литерал, то получается два раза выделять будет.
Если ссылкой, да Если с значением, то один
Обсуждают сегодня