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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.80
linq
1 / 1 / 0
Регистрация: 05.11.2012
Сообщений: 26
#1

Передача по константной ссылке - C++

30.11.2012, 23:05. Просмотров 1283. Ответов 4
Метки нет (Все метки)

C++
1
2
void print(const std::string strs[], const char c);
void print(const std::vector<std::string>& vstrs, const char c);
Нужно организовать такую передачу. с вектором все нормально, а с массивом strs не получается. Можно ли вообще организовать ссылку на массив?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.11.2012, 23:05     Передача по константной ссылке
Посмотрите здесь:

передача параметров по ссылке C++
Передача вектора по ссылке C++
C++ Передача по ссылке
C++ Передача по ссылке
C++ Передача параметров по ссылке
C++ Передача параметра по константной ссылке - что это?
Передача по ссылке C++
C++ Enum передача по ссылке
Передача auto_ptr по ссылке C++
Передача параметра по ссылке C++
C++ Передача std::string по константной ссылке \ значению
C++ Передача по ссылке и по значению

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Sor
35 / 35 / 0
Регистрация: 24.11.2011
Сообщений: 309
30.11.2012, 23:14     Передача по константной ссылке #2
через указатель не подойдет?
rangerx
1920 / 1529 / 139
Регистрация: 31.05.2009
Сообщений: 2,892
30.11.2012, 23:35     Передача по константной ссылке #3
Цитата Сообщение от linq Посмотреть сообщение
с массивом strs не получается
Не получается что? Первый вариант абсолютно правильный за исключением того, что вы не передаёте размер массива.
C++
1
void print(const std::string strs[], size_t n, const char c);
Цитата Сообщение от linq Посмотреть сообщение
Можно ли вообще организовать ссылку на массив?
Только, если массив статический
C++
1
2
template <size_t N>
void print(const std::string (&strs)[N], const char c);
linq
1 / 1 / 0
Регистрация: 05.11.2012
Сообщений: 26
01.12.2012, 13:30  [ТС]     Передача по константной ссылке #4
Цитата Сообщение от rangerx Посмотреть сообщение
Только, если массив статический
А на динамический вообще никак?
Вообще, задача стоит такая: выводить элементы массива без предварительного копирования в другой массив
OhMyGodSoLong
~ Эврика! ~
 Аватар для OhMyGodSoLong
1240 / 989 / 42
Регистрация: 24.07.2012
Сообщений: 2,002
01.12.2012, 14:12     Передача по константной ссылке #5
Цитата Сообщение от linq Посмотреть сообщение
А на динамический вообще никак?
В Си++ нет типа "динамический массив". Есть только тип "указатель на один или более последовательно расположенных элементов типа T" и обещание программиста "мамой клянусь, за первым элементом есть ещё N – 1 штука".
Можете объединить указатель на начало массива и его длину в структурку, перегрузить ей операторы и передавать уже ссылку на эту структуру, но суть от этого не поменяется.
Yandex
Объявления
01.12.2012, 14:12     Передача по константной ссылке
Ответ Создать тему
Опции темы

Текущее время: 04:44. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru