![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| volatile |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2107 Регистрация: 7.1.2011 Репутация: 37 Всего: 85 |
У мелкомягких в студии есть макрос _countof()
Макрос довольно полезный, выдает размер массива в элементах. например: int buf[25]; int size = _countof(buf); // здесь size = 25; Смысл понятный. Но вот определение этого макроса сбивает несколько с толку.
Я не понимаю это декларация функции, массив, или... в общем полный ступор. Буду благодарен за подробное объяснение. |
|||
|
||||
| mes |
|
|||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
исправлено
функцию, принимающей ссылку на массив _CountOfTyper и возвращающей указатель на массив типа char.. Добавлено @ 00:37 т.е. что то типа этого :
Это сообщение отредактировал(а) mes - 12.3.2011, 17:45 |
|||
|
||||
| volatile |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2107 Регистрация: 7.1.2011 Репутация: 37 Всего: 85 |
||||
|
||||
| volatile |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2107 Регистрация: 7.1.2011 Репутация: 37 Всего: 85 |
Да array у вас это тип. дошло.
mes, большое спасибо. Но все-же тяжеловато что-то с такими выкрутасами... |
|||
|
||||
| volatile |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2107 Регистрация: 7.1.2011 Репутация: 37 Всего: 85 |
Я немного проанализировал почему до меня это тяжко доходит.
Дело в том что я никогда не пользовался типом массива, просто применял указатели вместо массива. В связи с этим еще вопросик. char (*pfn())[N]; // это есть указатель на функцию возвращающую массив N чаров, правильо? а как объявить саму функцию? char fn() [N]; // непрокатывает, вроде бы невозможно...? интересно что указатель на функцию возвращающую массив объявить можно, а саму функцию нельзя. Или я ошибаюсь? извиняюсь за идиотские вопросы |
|||
|
||||
| boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
volatile, посмотри на это:
http://liveworkspace.org/code/34c4ac81effc...aa53c1c1ded2461 |
|||
|
||||
| mes |
|
|||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
сорри, я вчера вечером немного напутал.. подправил в посте.. char (*pfn())[N]; // функция, возвр. указатель на массив char (*(*pfn)())[N]; // указатель на такую функцию char (&(&pfn)())[N]; // ссылка на на функцию, возвр. ссылку на массив.. а просто возвращать массив нельзя.. Добавлено через 42 секунды |
|||
|
||||
| volatile |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2107 Регистрация: 7.1.2011 Репутация: 37 Всего: 85 |
Большое спасибо всем.
Постараюсь классифицировать, больше для самого себы, но и возможно кому-то из новичков тоже может пригодиться. В начале четыре элементанрые функции
Теперь объединяем это в разных вариантах
Поправьте если где ошибся. |
||||
|
|||||
| mes |
|
|||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
вроде все ок
|
|||
|
||||
| boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
volatile, добавь тогда уже и мой вариант, с комментарием.
|
|||
|
||||
| volatile |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2107 Регистрация: 7.1.2011 Репутация: 37 Всего: 85 |
||||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |