Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
valeriy007
77 / 22 / 18
Регистрация: 27.10.2014
Сообщений: 420
#1

Оператор взятия адреса

15.02.2016, 22:55. Просмотров 419. Ответов 9
Метки нет (Все метки)

C++
1
struct A{};
в таком классе неявно объявлен 1 или 2 оператора взятия адреса(для константного и не константного объекта)?
C++
1
2
3
4
5
6
7
8
9
10
struct A{
    A *operator&(){
        std::cout << "operator &" << std::endl;
        return this;
    }    
    const A *operator&() const{
        std::cout << "const" << std::endl;
        return this;
    }
};
так или не так?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.02.2016, 22:55
Ответы с готовыми решениями:

Оператор взятия адреса
Доброй ночи, оператор взятия адресса не перечислен среди Special member...

Указатели, Оператор взятия адреса
Вообщем, ребят, недавно разбирался с указателями в С++ и столкнулся с проблемой...

Оператор взятия адреса (&)
while (true) { int *temp = new int(13); std::cout &lt;&lt; temp &lt;&lt; &quot; &quot;;...

Как мне избежать взятия адреса у аргумента функции?
Здравствуйте, написал код, который на одном компиляторе работает как надо, а на...

Синонимы операций взятия адреса массива (arr и &arr)
возможно коряво написал заголовок, да и сам вопрос банальный. после создании...

9
Tulosba
:)
Эксперт С++
4747 / 3241 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
15.02.2016, 23:05 #2
Цитата Сообщение от valeriy007 Посмотреть сообщение
так или не так?
Можно считать, что так.
0
valeriy007
77 / 22 / 18
Регистрация: 27.10.2014
Сообщений: 420
15.02.2016, 23:09  [ТС] #3
Цитата Сообщение от Tulosba Посмотреть сообщение
Можно считать, что так.
"можно"?)
А если точно это так?

Добавлено через 3 минуты
все разобрался
0
rikimaru2013
C++ Game Dev
2471 / 1140 / 348
Регистрация: 30.11.2013
Сообщений: 3,709
16.02.2016, 00:53 #4
это мои 7-ой и 8-ой методы в пустом классе. Но меня все носом тычат, что раз их нету в разделе Special Class Function, то нет. И вот как с ними мне теперь?(
0
valeriy007
77 / 22 / 18
Регистрация: 27.10.2014
Сообщений: 420
16.02.2016, 14:50  [ТС] #5
Цитата Сообщение от rikimaru2013 Посмотреть сообщение
это мои 7-ой и 8-ой методы в пустом классе. Но меня все носом тычат, что раз их нету в разделе Special Class Function, то нет. И вот как с ними мне теперь?(
А можно услышать весь список методов в пустом классе?
я насчитал 6
0
gru74ik
Модератор
Эксперт CЭксперт С++
4685 / 1999 / 304
Регистрация: 20.02.2013
Сообщений: 5,303
Записей в блоге: 24
Завершенные тесты: 1
16.02.2016, 17:09 #6
valeriy007, как-то так, наверное:
  1. конструктор
  2. деструктор
  3. конструктор копирования
  4. оператор копирующего присваивания
  5. конструктор перемещения
  6. оператор перемещающего присваивания
  7. перегруженный оператор вывода
  8. перегруженный оператор ввода

Добавлено через 41 секунду
Ещё можно геттер и сеттер добавить. Тогда будет 10.
0
valeriy007
77 / 22 / 18
Регистрация: 27.10.2014
Сообщений: 420
16.02.2016, 19:23  [ТС] #7
Ну мой список выглядит вот так:
1. Конструктор
2. Конструктор копирования
3. Деструктор
4. Оператор присваивания, я так понимаю копирующий
5. Оператор взятия адреса
6. Оператор взятия адреса для константного объекта
Поправьте если не прав...

Цитата Сообщение от gru74ik Посмотреть сообщение
как-то так, наверное
конструктор перемещения
оператор перемещающего присваивания
Можно пример кода?
Цитата Сообщение от gru74ik Посмотреть сообщение
перегруженный оператор вывода
перегруженный оператор ввода
Их же нет в пустом классе...
Цитата Сообщение от gru74ik Посмотреть сообщение
Ещё можно геттер и сеттер добавить. Тогда будет 10.
а это точно с++?
0
gru74ik
Модератор
Эксперт CЭксперт С++
4685 / 1999 / 304
Регистрация: 20.02.2013
Сообщений: 5,303
Записей в блоге: 24
Завершенные тесты: 1
16.02.2016, 19:58 #8
Цитата Сообщение от valeriy007 Посмотреть сообщение
а это точно с++?
Конечно. IDE предлагают геттеры и сеттеры создавать, при создании нового класса. В частности, QtCreator и Code::Blocks.

Добавлено через 8 минут
Цитата Сообщение от valeriy007 Посмотреть сообщение
Можно пример кода?
C++
1
2
3
4
5
6
class X
{
public:
    X (X&& rvalue); // перемещающий конструктор
    X& operator=(X&& rvalue); // оператор перемещающего присваивания
}
0
rikimaru2013
C++ Game Dev
2471 / 1140 / 348
Регистрация: 30.11.2013
Сообщений: 3,709
17.02.2016, 01:29 #9
Цитата Сообщение от gru74ik Посмотреть сообщение
перегруженный оператор вывода
перегруженный оператор ввода
0
hoggy
Заблокирован
17.02.2016, 01:48 #10
Цитата Сообщение от valeriy007 Посмотреть сообщение
5. Оператор взятия адреса
http://rextester.com/WVWO70569

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#include <iostream>
 
struct sample
{
    const sample& operator~()const
    {
        std::cout <<"прикинулось деструктором\n";
        
        return *this;
    }
    
    template<class T>
    const sample& operator,(T&& v)const
    {
        std::cout <<"принимаю новое значение: '" << v<< "'\n";
        return *this;
    }
};
 
int main()
{
    std::cout << "Hello, world!\n";
    
    ~sample(),10,30.5f, "trololo", "здесь был Вася";
}
Кликните здесь для просмотра всего текста
Код
+       -       *       /       %       ^       &       |
~       !       ,       >=      <=      >       <       =
++      --      <<      >>      ==      !=      &&      ||
+=      -=      /=      %=      ^=      &=      |=      *=
<<=     >>=     [ ]     ( )     ->      ->*     new     delete
0
17.02.2016, 01:48
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.02.2016, 01:48

Как работает операция взятия адреса "&"?
В каждой переменной есть адрес,так вот,когда операция взятия адреса берёт...

Почему при присваивании адреса массива не ставится знак '&' получения адреса
int main() { int a = { 2, 3 }; int* b; b = a; //Почему при присваивании...

Операция взятия индексан
Добрый день)) ...


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

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

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