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

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

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

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

30.11.2012, 23:05. Просмотров 1320. Ответов 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++
объясните мне пожалуйста что такое передача параметра в функцию по константной ссылке? я просто вообще не могу представить что значит &amp; в...

Передача std::string по константной ссылке \ значению - C++
Суть вопроса: есть простенький словарь с std::vector в качестве приватного поля. struct StudentGrade { std::string name; char...

Аллокация памяти при передаче string в функцию по константной ссылке - C++
Поясните пожалуйста данный пример: // C++11 #include &lt;string&gt; void get_vendor_from_id(const std::string&amp; id) { // аллоцирует память,...

Передача по ссылке - C++
С помощью функции rand() округлить значение double и передать его по ссылке.

Передача по ссылке - C++
В учебнике написано, что можно использовать функцию с левой стороны операции присваивания, если она возвращает ссылку. Например, так: ...

Передача по ссылке - C++
Здравствуйте. 1.typedef struct { MATRIXX_LENTA&lt;double&gt;* MATR; //Ленточная матрица } DATA_LENTA, *PDATA_LENTA; DWORD WINAPI...

Передача по ссылке, различие - C++
В чем разница случаев?: 1. void func(int&amp; a); 2. void func(int &amp;a); и аналогично: 1.void func(vector &lt;float&gt; &amp;a); 2.void...

Передача по ссылке и изменения - C++
Всем привет. Можно как-то передать массив в функцию не по значению, чтобы он не изменялся, но внутри функции можно было его менять?

Передача значения по ссылке - C++
Даны два файла: fun.cpp: #include &lt;math.h&gt; double summa(float x, float eps, double&amp; psl, int&amp; k) { double s=0, sl=1/x, psl=0; int...

Передача параметров по ссылке - C++
Вот задание: С клавиатуры вводится число, передается в вызываемую функцию, в ней найти сумму делителей и их число. Результат работы...

Передача параметра по ссылке - C++
Здравствуйте! Подскажите пожалуйста! Делаю пример из книги: #include &lt;iostream&gt; #include &lt;conio.h&gt; using namespace...

Передача по указателю и по ссылке - C++
Всем привет! Есть функция, в которую передается ссылка: void Compare(int &amp;p) { int * str = p;// здесь ошибка нельзя...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Sor
35 / 35 / 0
Регистрация: 24.11.2011
Сообщений: 309
30.11.2012, 23:14     Передача по константной ссылке #2
через указатель не подойдет?
rangerx
1932 / 1541 / 141
Регистрация: 31.05.2009
Сообщений: 2,909
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
~ Эврика! ~
1243 / 992 / 42
Регистрация: 24.07.2012
Сообщений: 2,002
01.12.2012, 14:12     Передача по константной ссылке #5
Цитата Сообщение от linq Посмотреть сообщение
А на динамический вообще никак?
В Си++ нет типа "динамический массив". Есть только тип "указатель на один или более последовательно расположенных элементов типа T" и обещание программиста "мамой клянусь, за первым элементом есть ещё N – 1 штука".
Можете объединить указатель на начало массива и его длину в структурку, перегрузить ей операторы и передавать уже ссылку на эту структуру, но суть от этого не поменяется.
Yandex
Объявления
01.12.2012, 14:12     Передача по константной ссылке
Ответ Создать тему
Опции темы

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