для универа.
Может что-то стоит переписать по-другому?
https://github.com/testuser-0/university/tree/master/2/KP/6_IPW1
https://github.com/testuser-0/university/blob/master/2/KP/6_IPW1/book.hpp#L19 std::string не нужно по значению передавать https://github.com/testuser-0/university/blob/master/2/KP/6_IPW1/book.cpp#L13 this не нужно явно указывать
Передавать по укателю?
зачем? передавайте по const ссылке
т.е. просто const std::string title ?
нет, рекомендую почитать про ссылки
https://github.com/testuser-0/university/blob/4f1e319aecac5e489386f37a4e1fe387eb05eb85/2/KP/6_IPW1/main.cpp#L36 ты нашел книгу. может не надо дальше их просматривать?
Окей, а ссылки я объявляю в хэдере? std::string separator; std::string title; std::string author; std::string genre; int year; double price; std::string &separatorRef = separator; std::string &titleRef = title; std::string &authorRef = author; std::string &genreRef = genre;
может ли быть более одной искомой книги?
В рамках задания - нет
и снова нет) но вы всё ближе std::string separator; std::string title; std::string author; std::string genre; int year; double price; вот эту часть трогать не нужно
то есть, если искомая книга нашлась, вы всё равно пройдётесь циклом по остальным книгам, сравнивая названия. Зачем?
т.е. в конструктор передаю значение const &title и больше ничего не делаю, верно?
Ага, все верно, добавлю брейк
в точку, только тип потеряли куда-то
а почему это только для стринговых значений, а все остальные передаю как обычно7
простые типы не имеет особого смысла так передавать, ссылка тяжелее типа может быть
Спасибо, сейчас поправлю. А почему this явно не стоит указывать?
Особого смысла это не имеет. А если вам внезапно это понадобилось, то есть вероятность, что стоит подумать над своим кодом.
Обсуждают сегодня