Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Передача данных по значению и по ссылке - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Составить функцию, которая формирует новое число с обратным порядком цифр по отношению к исходному числу http://www.cyberforum.ru/cpp-beginners/thread654147.html
1. Составить функцию с оператором return. 2. Преобразовать функцию к void-функции, составленную в рамках языка С. 3. Преобразовать функцию к void-функции, использующую возможно¬сти языка C++. ...
C++ Удалить первый из отрицательных элементов и минимальный из положительных элементов массива 1. Дана последовательность из N элементов. Уменьшить ее, удалив первый из отрицательных элементов и минимальный из положитель¬ных элементов и сдвинув все остальные к началу. http://www.cyberforum.ru/cpp-beginners/thread654145.html
C++ Как описать факториал меняющийся через 10 или иное число
Не могу понять как использовать факториал, меняющийся не через 1, а любое другое число (10, 2). Стоит задача: на основе Веса, роста и возвраста посчитать: - Hat size = Веса / рост*2.9 (здесь...
C++ Найти сумму квадратов четных элементов матрицы
как создать двумерный массив где количество строк и столбцов вводится с клавиатуры и найти сумму квадратов четных элементов... прога на C# есть а в C++ незнаю как сделать(((( int n, m; ...
C++ Копировать значение поля m_moo в значение поля m_moo класса foo http://www.cyberforum.ru/cpp-beginners/thread654113.html
А что означает запись? Foo1(Foo1 const& foo):m_moo(foo.moo) то что это к.копирования понятно.Не понятно,зачем список инициализации.... это значит что то типа:копирует значение поля m_moo в...
C++ Проверить истинность высказывания: Справедливо двойное неравенство A < B < C 2)Даны три целых числа: A, B, C. Проверить истинность высказывания: «Справедливо двойное неравенство A < B < C». подробнее

Показать сообщение отдельно
hoggy
6652 / 2838 / 486
Регистрация: 15.11.2014
Сообщений: 6,270
Завершенные тесты: 1
29.01.2015, 20:08
Цитата Сообщение от Gourmand Посмотреть сообщение
Не верю, что ссылка лучше оптимизируется. Адресация на уровне команд процессора соответствует как раз случаю, когда именно указатель в регистре находится, и при необходимости индексируется содержимым другого регистра или ячейки памяти.
Мне на самом деле не очень интересно во что вы верите.
Передача в функцию по ссылке или указателю

Цитата Сообщение от Gourmand Посмотреть сообщение
Еще чаще в случае "объект не существует, работать с ним нельзя". Такое распространено при использовании плагинов.
Ну это уже из области низкой квалификации.
Если без живого объекта работать нельзя, значит указатель не нужен.
Тут по смыслу нужна именно ссылка, и на нуль проверять не придется.

Нафига принимать указатель, что бы потом обязательно проверять его на nullptr,
а пользователя напрягать: вот прототип принимает указатель,
но сюда обязательно нужно живой объект, а не просто адрес.

Цитата Сообщение от Gourmand Посмотреть сообщение
Наилучший пример - мощный и развитый мультиплатформенный фреймворк Qt. В нем передача параметров по ссылке почти не используется, а по указателям сплошь и рядом.
В нем ничего не мешает использовать ссылки.

Что до идеологии - не видитесь на авторитеты.
Они и шаблоны изначально не осилили.
Им показалось проще запилить собственный костыль-препроцессор, нежели осилить boost::function и аналоги для создания технологии слотов/сигналов.

Вот и получилось, что кютешные слоты/сигналы - тормозной рантайм.
На вскидку они в тысячи раз медленнее работают, чем тот же std::function

Хорошая новость в том, что использовать std::function там так же ничего не мешает.

Цитата Сообщение от Gourmand Посмотреть сообщение
Но при этом имеет меньше "мощности", чем указатель.
"Мощность" ради "мощности" не нужна.

Цитата Сообщение от Gourmand Посмотреть сообщение
То есть, именно 1-й вариант - это для тех, кто имеет ниже квалификацию, не умеет грамотно работать с указателями.
По поводу квалификации:
-- там где по смыслу требуется работать именно с указателем, работают с указателем.

-- там где по смыслу требуется работать с живым объектом ,
работают с ссылкой, или с объектом по значению (зависит от ситуации)

Использования вещи не по назначению:
Нужен живой объект. Но мы же не ищем легких путей.
Сначала мы сделаем кривой сбивающий с толку прототип,
а потом начнем вставлять проверки: а живой ли нам прислали?

Вот это уже признак низкой квалификации.
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru