Ответ 1
Используйте форму, наиболее функциональную для вашей программы. В принципе, это означает, что если полезно использовать значение nil
, то используйте указатель.
С точки зрения производительности примитивные числовые типы всегда более эффективны для копирования, чем для разыменования указателя. Еще более сложные структуры данных, как правило, быстрее копировать, если они меньше, чем строка кэша или две (более 128 байт - хорошее правило для процессоров x86).
Когда ситуация становится немного больше, вам нужно ориентироваться, если производительность вас беспокоит. Процессоры очень эффективны при копировании данных, и есть так много переменных, которые будут определять местность и удобство использования ваших данных, это действительно зависит от поведения вашей программы и используемого вами оборудования.
Это отличная серия статей, если вы хотите лучше понять, как взаимодействуют память и программное обеспечение: "Что каждый программист должен знать о памяти" .
Короче говоря, я говорю людям выбирать указатель или нет на основе логики программы и беспокоиться о производительности позже.
- Используйте указатель, если вам нужно передать что-то, что нужно изменить.
- Используйте указатель, если вам нужно определить, было ли что-то отменено/нет.
- Используйте указатель, если вы используете тип, имеющий методы с приемниками указателей.