«Не используйте указатели, они медленные» не имеет смысла (по крайней мере, не в C ++).
Это все равно, что сказать, «Не используйте переменные, они медленные» .
Вы имели в виду «Не использовать динамическое выделение памяти «?
Если так: я не думаю, что вам стоит беспокоиться об этом прямо сейчас.Сначала напишите код, а затем оптимизируйте.
Или вы хотели сказать: «Не используйте raw указатели (т.е. типа foo*
)», что потребует new
и delete
?
Если это так, то это хороший совет : обычно вы хотите умных указателей вместо этого, например shared_ptr
или unique_ptr
, чтобы управлять объектами, а не иметь дело с необработанными указателями.Вам не нужно использовать new
и delete
в большинстве кода C ++, хотя это может показаться естественным.
Но они все еще указатели под капотом!
Или вы имели в виду что-то еще?
Приложение
Спасибо @ bames53 ниже за указание на это:
При прохожденииопция копирования (т. е. когда вы передаете небольшие объемы данных, а не огромную структуру или массив, который может быть больше нескольких регистров, например, порядка ~ 16 байт), не использовать указатели (или ссылки) для передачи данных;вместо этого передайте копию.Это позволяет компилятору оптимизировать таким образом.