![]() |
|
![]() ![]() ![]() |
|
toxx |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 653 Регистрация: 4.3.2009 Где: НН Репутация: нет Всего: 13 |
Но не пойму что от меня нужно.
Инициализировать внешний массив в операторе описания и определить сумму элементов массива, возложив задачу подсчета размера массива на компилятор. Не понятна выделенная строчка.Ну допустим описал я его int mas[]={1,2,3,4,5,6,7,8,9}; А как подсчитает размер компилятор не понятно...) |
|||
|
||||
Rififi |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1254 Регистрация: 9.3.2008 Репутация: 1 Всего: 36 |
toxx,
например, передав в функцию подсчета указатель или ссылку на массив.
размер массива будет вычислен на этапе компиляции. |
|||
|
||||
Lazin |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3820 Регистрация: 11.12.2006 Где: paranoid oil empi re Репутация: 18 Всего: 154 |
sizeof(mas)/sizeof(int)
|
|||
|
||||
mrbrooks |
|
|||
![]() трололомен ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4259 Регистрация: 4.10.2006 Где: Дол Гулдур Репутация: 167 Всего: 306 |
sizeof(mas)/sizeof(mas[0])
|
|||
|
||||
toxx |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 653 Регистрация: 4.3.2009 Где: НН Репутация: нет Всего: 13 |
mrbrooks,Lazin
Блин, как всё это логично))Сразу понял идею и уже опробовал,всё работает. Rififi Вот метод указателя\ссылки на массив не совсем. Я еще не знаком со встроенными функциями типа inline. Поэтому мне не совсем понятно. Допустим int mas[]={1,2,3,4,5,6,7,8,9},*p; p=s;// p - указатель на 0-й элемент массива.А как посчитать? |
|||
|
||||
Rififi |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1254 Регистрация: 9.3.2008 Репутация: 1 Всего: 36 |
toxx,
inline тут ни при чём. это просто рекомендация компилятору что неплохо бы сделать функцию встроенной. более полный синтаксис вызова этой функции выглядит так: array_countof<int, 9>(mas); аргументы int и 9 выводятся компилятором автоматически на основании типа обьекта mas, далее функция просто возвращает то, что ей подсунул компилятор. с переменной 'p' ничего для подсчёта сделать нельзя, т.к. при преобразовании потерян тип исходного обьекта, а указатель на int не тоже самое, что указатель на массив из N int'ов |
|||
|
||||
toxx |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 653 Регистрация: 4.3.2009 Где: НН Репутация: нет Всего: 13 |
Rififi
Спасибо.Щас сяду читать дальше книгу=)Про указатели и ссылки. |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С++ Builder" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C++ Builder | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |