Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.89/9: Рейтинг темы: голосов - 9, средняя оценка - 4.89
0 / 0 / 0
Регистрация: 21.03.2017
Сообщений: 20
1

Что это такое **&?

22.03.2017, 00:49. Показов 1764. Ответов 23
Метки нет (Все метки)

Здравствуйте! как загуглить,
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.03.2017, 00:49
Ответы с готовыми решениями:

Ошибка: multiple definition of `void std::swap<A>(A&amp;, A&amp;)
Хочу специализировать swap для своего класса. Получаю ошибку. Вот код:#ifndef A_H #define A_H ...

ostream &operator<< (ostream &output, const Array &obj) - что означает эта строка?
void Array::getArray() // вывод массива { for (int ix = 0; ix &lt; size; ix++) cout &lt;&lt;...

Parse_matrix(std::istream& in); std::istream& in что это значит?
Есть функция которую необходимо описать: std::pair&lt;int, int&gt; parse_matrix(std::istream&amp; in){ ...

объясните пожалйста что вот это значит: a[1]=COD[input&0x0f]; b[0]=COD[(input>>4)&0x0f];???
Доброй ночи);) char COD={0b00000000, 0b00001011, 0b00010110, 0b00011101, ...

23
75 / 49 / 26
Регистрация: 22.02.2015
Сообщений: 306
22.03.2017, 00:57 2
Для начала: Указатель, Ссылка, ссылка на указатель
0
2540 / 1199 / 358
Регистрация: 30.11.2013
Сообщений: 3,820
22.03.2017, 01:23 3
А еще лучше "Учебник по С++"
0
nd2
3411 / 2791 / 1251
Регистрация: 29.01.2016
Сообщений: 9,426
22.03.2017, 02:08 4
Цитата Сообщение от Mr_Zozo Посмотреть сообщение
что это такое **&?
Ссылка на указатель на указатель.
0
8 / 8 / 10
Регистрация: 10.02.2017
Сообщений: 31
22.03.2017, 03:10 5
Ну, либо
Ссылка на указатель на указатель.
, либо двойное разыменование и разадресация
0
nd2
3411 / 2791 / 1251
Регистрация: 29.01.2016
Сообщений: 9,426
22.03.2017, 03:19 6
Цитата Сообщение от SUPER_S Посмотреть сообщение
либо двойное разыменование и разадресация
Навряд ли, такое проще записывается: * .
0
981 / 671 / 305
Регистрация: 26.02.2015
Сообщений: 3,073
22.03.2017, 04:19 7
Цитата Сообщение от rikimaru2013 Посмотреть сообщение
А еще лучше "Учебник по С++"
Я дочитываю Р. Лафоре, наконец-то, но таких конструкций у него не было. В каком из учебников по C++ можно встретить объяснение сих пострукций?
0
186 / 53 / 19
Регистрация: 23.12.2016
Сообщений: 162
22.03.2017, 09:01 8
Это ссылка на указатель на указатель. С помощью такой конструкции можно передать указатель на указатель в функцию и там уже, например, создать двумерный динамический массив. После выхода за пределы выдимости функции данный массив окажется так же доступен.
Вроде так.
0
Don't worry, be happy
17004 / 9885 / 1902
Регистрация: 27.09.2012
Сообщений: 24,523
Записей в блоге: 1
22.03.2017, 09:50 9
Цитата Сообщение от Nishen Посмотреть сообщение
но таких конструкций у него не было.
Не было указателей?
Не было ссылок?
Прикольная книжка.
0
19 / 11 / 7
Регистрация: 03.11.2016
Сообщений: 33
Записей в блоге: 28
22.03.2017, 09:54 10
Цитата Сообщение от Nishen Посмотреть сообщение
Я дочитываю Р. Лафоре
Ну она по основам C++, к тому по стандарту 98 года. А конструкция **& какая-то наркоманская и может напугать новичков .
0
Любитель чаепитий
3550 / 1659 / 510
Регистрация: 24.08.2014
Сообщений: 5,628
Записей в блоге: 1
22.03.2017, 10:10 11
Цитата Сообщение от Loafer Посмотреть сообщение
к тому по стандарту 98 года.
В с++98 не было ссылок на укатель на указатель? Сомневаюсь, так что это тут не при чем.

Не по теме:

Цитата Сообщение от Loafer Посмотреть сообщение
конструкция **& какая-то наркоманская
c++ сам по себе наркоманский.
Взять хотя бы SFINAE.
http://rextester.com/QAAV97272
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
//g++  5.4.0
 
#include <iostream>
#include <type_traits>
 
struct Foo
{
    template<typename Tp, typename std::enable_if<std::is_integral<typename std::conditional<std::is_const<Tp>::value, typename std::remove_const<typename std::remove_reference<Tp>::type>::type, typename std::remove_reference<Tp>::type>::type>::value, void*>::type = nullptr>
    Foo(Tp t)
    {
        std::cout << "t = " << t << "\n";
    }
};
 
int main()
{
    std::cout << "Hello, world!\n";
    Foo f{1};
    //Foo f2{1.2}; //error: no matching function for call to ‘Foo::Foo(<brace-enclosed initializer list>)’
                 //no type named ‘type’ in ‘struct std::enable_if<false, void*>’
}

0
Croessmah
22.03.2017, 10:15
  #12

Не по теме:

Цитата Сообщение от GbaLog- Посмотреть сообщение
c++ сам по себе наркоманский.
На любом языке можно написать чепухи
и сказать, что язык наркоманский.

0
19 / 11 / 7
Регистрация: 03.11.2016
Сообщений: 33
Записей в блоге: 28
22.03.2017, 10:30 13
Цитата Сообщение от GbaLog- Посмотреть сообщение
В с++98 не было ссылок на укатель на указатель?
Хочу привести пример, когда конструкция **& не обязательно ссылка на указатель на указатель:
C++ (Qt)
1
2
3
4
int* value = new int;
*value = 5;
std::cout << **&value << std::endl;
delete value;
Цитата Сообщение от GbaLog- Посмотреть сообщение
Сомневаюсь, так что это тут не при чем.
Вполне возможно, что такая конструкция в будущем будет иметь какой нибудь другой смысл. А может и не будет. Просто исходил из того, что скажем в C++11 имеет смысл конструкция &&. Вот и все .
0
nd2
3411 / 2791 / 1251
Регистрация: 29.01.2016
Сообщений: 9,426
22.03.2017, 11:30 14
Цитата Сообщение от Loafer Посмотреть сообщение
Хочу привести пример, когда конструкция **& не обязательно ссылка на указатель на указатель:
Цитата Сообщение от SUPER_S Посмотреть сообщение
, либо двойное разыменование и разадресация
...
Цитата Сообщение от nd2 Посмотреть сообщение
Навряд ли, такое проще записывается: * .
0
981 / 671 / 305
Регистрация: 26.02.2015
Сообщений: 3,073
22.03.2017, 11:50 15
Цитата Сообщение от Croessmah Посмотреть сообщение
Не было указателей?
Не было ссылок?
Прикольная книжка.
Было и то, и то... Только таких именно **& не было. Поэтому нет ответов на вопросы, например, зачем вообще может понадобиться передавать в функцию ссылку на указатель на указатель?
0
nd2
3411 / 2791 / 1251
Регистрация: 29.01.2016
Сообщений: 9,426
22.03.2017, 11:55 16
Цитата Сообщение от Nishen Посмотреть сообщение
зачем вообще может понадобиться передавать в функцию ссылку на указатель на указатель?
...
Цитата Сообщение от altmax Посмотреть сообщение
С помощью такой конструкции можно передать указатель на указатель в функцию и там уже, например, создать двумерный динамический массив. После выхода за пределы выдимости функции данный массив окажется так же доступен.
1
GbaLog-
22.03.2017, 11:57
  #17

Не по теме:

Цитата Сообщение от Nishen Посмотреть сообщение
зачем вообще может понадобиться передавать в функцию ссылку на указатель на указатель?
http://rextester.com/LVPF62079
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
//g++  5.4.0
 
#include <iostream>
 
void createAndinitializeMatrix(int **& arr)
{
    // initialize arr
}
 
int main()
{
    std::cout << "Hello, world!\n";
    
    int ** arr = nullptr;
    
    createAndinitializeMatrix(arr);
    
    //use of arr
}
Пример искуственный, но имеет место быть.

0
Don't worry, be happy
17004 / 9885 / 1902
Регистрация: 27.09.2012
Сообщений: 24,523
Записей в блоге: 1
22.03.2017, 11:58 18
Nishen, а для какого-нибудь const ** const * const & отдельную книгу писать?
2
981 / 671 / 305
Регистрация: 26.02.2015
Сообщений: 3,073
22.03.2017, 12:02 19
Цитата Сообщение от Croessmah Посмотреть сообщение
Nishen, а для какого-нибудь const ** const * const & отдельную книгу писать?
Не, это я просто не подумал.
0
131 / 157 / 87
Регистрация: 06.04.2016
Сообщений: 992
22.03.2017, 12:03 20
Цитата Сообщение от altmax Посмотреть сообщение
Это ссылка на указатель на указатель. С помощью такой конструкции можно передать указатель на указатель в функцию и там уже, например, создать двумерный динамический массив. После выхода за пределы выдимости функции данный массив окажется так же доступен.
Вроде так.
- также можно сказать, что это ссылка на указатель второго уровня.
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.03.2017, 12:03

Почему friend ostrem& operator <<(ostream& outs, const Rational&); - invalid function declaration?
Пытаюсь скомпилировать программу пишет friend ostrem&amp; operator &lt;&lt;(ostream&amp; outs, const...

Что это значит if (x&1) ?
основным вопросом есть if (x&amp;1) что это за условия? и что это? x&gt;&gt;1. какая роль в коде? unsigned...

Bool & - что это
Что делает здесь амперсанд. bool &amp; hello = test;

С && C++ - это плохо?
Большинство программистов говорят о том что С# и C++ мешать в одном коде не хорошо. Но что в этом...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

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