С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
37 / 37 / 18
Регистрация: 15.05.2013
Сообщений: 236
1

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

05.02.2017, 23:37. Показов 1075. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Собственно, тривиальный пример с тривиальным вопросом, который вскрыл мое незнание.
Почему выводит 5, а не 42?

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
 
int B  = 42;
 
void foo(const int* pVal);
 
int main() {
  int a = 5;
  // можем переназначать указатель, но не изменять значение по нему
  const int *pA = &a;
 
  //pA = &B;
  //std::cout << *pA << std::endl; // 42
 
  foo(pA);
  std::cout << *pA << std::endl; // 5
  
  return 0;
}
 
void foo(const int* pVal) {
  pVal = &B;
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.02.2017, 23:37
Ответы с готовыми решениями:

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

Помогите разобраться(С)Cпособы передачи аргументов в вызываемые функции: по значению, указателю и ссылке
Вычисление текущих значений Y(x) и S(x) (где x принадлежит диапазону ) реализовать в виде отдельных...

Как реализовать передачу функции ключа или не передачу
Есть функция: bool LoadExclusion() { std::string filename = &quot;Exclusion&quot;; std::ifstream...

Про передачу массива в функцию как константу?
Всем привет Не ругайте сильно начал изучать с++ по книге Р Лаффоре. Понятно, что уже многое могло...

1
2444 / 1842 / 406
Регистрация: 15.12.2013
Сообщений: 8,241
05.02.2017, 23:46 2
Kant, указатели тоже копируются. Хотите переназначить - передавайте указатель на указатель или ссылку на него.

C++
1
void foo(const int*& pVal) {
1
05.02.2017, 23:46
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.02.2017, 23:46
Помогаю со студенческими работами здесь

Как правильно реализовать возвращение значения из метода и передачу аргументов?
Как правильно реализовать возвращение значения из метода и передачу аргументов? Пример того, что я...

проверьте. Напишите функцию семи аргументов, значением которой служит сумма всех семи аргументов
Напишите функцию семи аргументов, значением которой служит сумма всех семи аргументов. (defun X...

Передача массива в функцию по указателю
Помогите с заданием нужно передать массив в функцию по указателю

Есть ли альтернатива указателю на функцию
Добрый день! Я решаю упражнение из книжки Страуструпа, в котором необходимо создать класс, который...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru