2 / 2 / 1
Регистрация: 21.04.2013
Сообщений: 205

Передача по ссылке или по указателю

07.06.2018, 14:55. Показов 765. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Класс А здесь минимальный в реальности у него много переменных. Как лучше поступить в таком случае? Удобнее выпольнить передачу по ссылке, но не наложит ли это доп. расходов из-за операции разыменовывания указателя? Или же просто передать this как указатель?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
class A
{
public:
     A(){};
     void Func1()
     {
           Func2(this);
     };
 
};
 
void Func2(A  *const pObj)
{};
или

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
class A
{
public:
     A(){};
     void Func1()
     {
           Func2(*this);
     };
 
};
 
void Func2(A &pObj)
{};
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
07.06.2018, 14:55
Ответы с готовыми решениями:

Передача по ссылке или указателю?
В каких случаях лучше передавать в функцию ссылки, а в каких указатели?

Передача в функцию по ссылке или указателю
Гуру C++, как предпочтительнее делать?:) void f1(int &a) { a = 5; } void f2(int * a) {

Передача параметров в функцию по значению, по ссылке или по указателю
Передача параметров в функцию по значению, по ссылке или по указателю. Чем отличаются эти 3 способа. И, если не сложно, привести...

2
7803 / 6567 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
07.06.2018, 16:02
Какие расходы? Используй ссылку.
0
Комп_Оратор)
Эксперт по математике/физике
 Аватар для IGPIGP
9005 / 4706 / 630
Регистрация: 04.12.2011
Сообщений: 14,003
Записей в блоге: 16
08.06.2018, 08:34
mhg, поскольку функция имеет доступ к объекту, стоит подумать о том, не сделать ли её членом класса. Тогда не придётся передавать ссылку на объект. Если эта функция не предназначена для работы с разными типами (в т.ч., - не шаблонная или другим способом перегружаемвая внешняя), то имеет смысл подумать.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
08.06.2018, 08:34
Помогаю со студенческими работами здесь

Передача по указателю и по ссылке
Всем привет! Есть функция, в которую передается ссылка: void Compare(int &p) { int * str = p;// здесь ошибка нельзя...

Передача аргументов в функцию по ссылке и указателю
Чем отличается передача по ссылке от передачи по указателю аргументов в функцию?

Передача std::vector в конструктор[по ссылке\указателю ?]
Доброго времени суток. Есть такой интерфейс класса: class HH_model_class { private: std::vector<double> parameters; ...

Почему передача по ссылке не работает, только по указателю?
#include <iostream> #include<windows.h> #include<ctime> using namespace std; void input(int*,int); int main() { ...

Передача параметров в функцию по значению, по ссылке и по указателю
Доброе время суток товарищи программисты. Столкнулся с кучей ошибок в написании простой программы. Задача заключается в том чтобы написать:...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

Новые блоги и статьи
Unity 4D
GameUnited 13.06.2025
Четырехмерное пространство. . . Звучит как что-то из научной фантастики, правда? Однако для меня, как разработчика со стажем в игровой индустрии, четвертое измерение давно перестало быть абстракцией из. . .
SSE (Server-Sent Events) в ASP.NET Core и .NET 10
UnmanagedCoder 13.06.2025
Кажется, Microsoft снова подкинула нам интересную фичу в новой версии фреймворка. Работая с превью . NET 10, я наткнулся на нативную поддержку Server-Sent Events (SSE) в ASP. NET Core Minimal APIs. Эта. . .
С днём независимости России!
Hrethgir 13.06.2025
Решил побеседовать, с утра праздничного дня, с LM о завоеваниях. То что она написала о народе, представителем которого я являюсь сам сначала возмутило меня, но дальше только смешило. Это чисто. . .
Лето вокруг.
kumehtar 13.06.2025
Лето вокруг. Наполненное бурями и ураганами событий. На фоне магии Жизни, священной и вечной, неумелой рукой человека рисуется панорама душевного непокоя. Странные серые краски проникают и. . .
Популярные LM модели ориентированы на увеличение затрат ресурсов пользователями сгенерированного кода (грязь -заслуги чистоплюев).
Hrethgir 12.06.2025
Вообще обратил внимание, что они генерируют код (впрочем так-же ориентированы разработчики чипов даже), чтобы пользователь их использующий уходил в тот или иной убыток. Это достаточно опытные модели,. . .
Топ10 библиотек C для квантовых вычислений
bytestream 12.06.2025
Квантовые вычисления - это та область, где теория встречается с практикой на границе наших знаний о физике. Пока большая часть шума вокруг квантовых компьютеров крутится вокруг языков высокого уровня. . .
Dispose и Finalize в C#
stackOverflow 12.06.2025
Работая с C# больше десяти лет, я снова и снова наблюдаю одну и ту же историю: разработчики наивно полагаются на сборщик мусора, как на волшебную палочку, которая решит все проблемы с памятью. Да,. . .
Повышаем производительность игры на Unity 6 с GPU Resident Drawer
GameUnited 11.06.2025
Недавно копался в новых фичах Unity 6 и наткнулся на GPU Resident Drawer - штуку, которая заставила меня присвистнуть от удивления. По сути, это внутренний механизм рендеринга, который автоматически. . .
Множества в Python
py-thonny 11.06.2025
В Python существует множество структур данных, но иногда я сталкиваюсь с задачами, где ни списки, ни словари не дают оптимального решения. Часто это происходит, когда мне нужно быстро проверять. . .
Работа с ccache/sccache в рамках C++
Loafer 11.06.2025
Утилиты ccache и sccache занимаются тем, что кешируют промежуточные результаты компиляции, таким образом ускоряя последующие компиляции проекта. Это означает, что если проект будет компилироваться. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru