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

Почему при присваивании адреса массива не ставится знак '&' получения адреса - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ В каждом столбце динамической матрицы поменять местами первый отрицательный элемент и последний нулевой http://www.cyberforum.ru/cpp-beginners/thread1589538.html
Написать программу в динамическом двумерном массиве: В каждом столбце двумерного массива поменять местами первый отрицательный элемент и последний нулевой.
C++ Перемножить двумерные массивы Написать программу в двумерном динамическом массиве: Даны два двумерных массива. Перемножить их как матрицы. Результат записать в третий массив. http://www.cyberforum.ru/cpp-beginners/thread1589535.html
C++ Найти наибольшее количество идущих подряд букв в тексте
Добрый вечер помогите пожалуйста Дан текст найти наибольшее количество идущих подряд букв
ООП: указатель на объект C++
Всем привет. Подскажите пожалуйста как сделать указатель (набор дочерних тематических блоков (указатели на объекты Topic)).Читал про unique_ptr но через него у меня не получается. Само задание: Объявите и реализуйте класс Topic, моделирующий тематический блок лекции: в объекте Topic необходимо хранить следующие данные: название блока (строка); количество слайдов (целое число); набор...
C++ Найти индекс максимального элемента массива http://www.cyberforum.ru/cpp-beginners/thread1589516.html
Добрый вечер помогите пожалуйста в одномерном массиве состоящем из n целых элементов вычислить номер максимального элемента массива
C++ Вычислить площадь трапеции c использованием динамических массивов Вычислить площадь трапеции. Написать программу с использованием динамических массивов, вводя размер массива с клавиатуры. подробнее

Показать сообщение отдельно
gru74ik
Модератор
 Аватар для gru74ik
3118 / 1344 / 167
Регистрация: 20.02.2013
Сообщений: 3,809
Записей в блоге: 17
24.11.2015, 06:31     Почему при присваивании адреса массива не ставится знак '&' получения адреса
daslex, я думаю, это общее место в большинстве обучающих книг по С++. Упрощение. Да, они грешат против истины, но так проще объяснить новичку. Они говорят о том, что это указатель, но не упоминают о том, что получается он из неявного преобразования имени массива в указатель на первый элемент. Иначе придётся ещё тут же пояснять, что такое преобразования, чем явные преобразования отличаются от неявных и т.д. А в теме про массивы и указатели новичку и так непросто разобраться.

Добавлено через 10 минут
У Страуструпа так:
Цитата Сообщение от Bjarne Stroustrup
In C++, pointers and arrays are closely related. The name of an array can be used as a pointer to its initial element. For example:
C++
1
2
intv[] = {1, 2, 3, 4};
int* p1 = v; // pointer to initial element (implicit conversion)
Цитата Сообщение от Бьярне Страуструп
В языке C++ указатели и массивы тесно связаны. Имя массива может быть использовано в качестве указателя на его первый элемент. Например:
C++
1
2
intv[] = {1, 2, 3, 4};
int* p1 = v; //указатель на начальный элемент (неявное преобразование)
Добавлено через 7 минут
И далее у него же:
Цитата Сообщение от Bjarne Stroustrup
The implicit conversion of an array name to a pointer to the initial element of the array is extensively used in function calls in C-style code.
Цитата Сообщение от Бьярне Страуструп
Неявные преобразования имени массива в указатель на его первый элемент широко используются при вызовах функций в С-стиле.
 
Текущее время: 15:44. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru