Передача по ссылке или указателю в C: руководящий принцип
В C понимание того, когда использовать передачу по ссылке, а когда использовать указатели имеет решающее значение. Такая практика может привести к созданию эффективного и безошибочного кода.
Общие ситуации
Передача std::string в функцию:
Передача tr1::shared_ptr в функцию:
Указатели против ссылок
Передача по ссылке обеспечивает согласованность, поскольку каждый объект можно рассматривать как ссылку. Однако передача по указателю обеспечивает гибкость обработки нулевых значений и литералов.
Анализ фрагмента
Данный фрагмент:
map> > adjacencyMap; vector * myFriends = new vector (); myFriends->push_back(string("a")); myFriends->push_back(string("v")); myFriends->push_back(string("g")); adjacencyMap["s"] = shared_ptr >(myFriends);
подчеркивает необходимость учитывать свойства как ссылок, так и указателей:
Практическое правило
В конечном счете, соответствующий выбор зависит от конкретных требований. В качестве руководящего принципа рассмотрите следующее:
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3