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

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

Войти
Регистрация
Восстановить пароль
 
mzarb
-211 / 7 / 1
Регистрация: 14.01.2013
Сообщений: 141
#1

Почему *(a+j) не rvalue? - C++

12.03.2013, 16:19. Просмотров 301. Ответов 2
Метки нет (Все метки)

Запись массива вида a[j] - это lvalue и эквивалентна *(a+j), но почему *(a+j) не rvalue, потому что сумма a+j должна была бы быть rvalue, но стала lvalue, так как a содержит не значение, а адрес? Про арифметику указателей знаю, мне просто за lvalue и rvalue интересно.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.03.2013, 16:19     Почему *(a+j) не rvalue?
Посмотрите здесь:

Почему i++ это rvalue, а ++i lvalue? - C++
Встречал упоминания что для постинкремента создается временная копия, но дальше не объясняется. Получается, что переменной с преинкрементом...

Rvalue reference - C++
#include <iostream> std::string get_string() { return std::string("12345"); } int main() { std::string const& str =...

Rvalue vector - C++
Как это? vector<int&&> v = {0,0,0};// Это не скомпилируется (Вектор, якобы, хранит rvalue) vector<int> &&rval_vec = v; //Это не...

Function return rvalue - C++
Добрый день, #include <iostream> using namespace std; int& Foo() { static int a = 14; return a; } int&...

Rvalue передача в функцию - C++
Снова я с тупыми вопросами по поводу rvalue. Я не могу понять, почему такой код не работает: #include <iostream> void foo( int&&...

[C++11] move\rvalue ref semantic - C++
Перегрузил оператор присвоения используя move\rvalue ref semantic. /** * Copy operator * @param rhs Right hand side...

std::move, rvalue reference - C++
Здравствуйте! Недавно начал разбираться с новыми способами передачи аргументов. Прочитал около 10 статей, некоторые на русском, некоторые...

Что такое rvalue и lvalue - C++
как понимать эти штуки?

RVALUE ссылки и операции с ними - C++
Господа знатоки у меня вопрос следующий. Увидел недавно такую запись "T&& a", узнал что это rvalue ссылки, вроде как разобрался что это и...

Семантика перемещения rvalue\lvalue ссылок - C++
Здравствуйте форумчани. Объясните пожалуйста процессы происходящии внутрии функции swap принимающую rvalue аргументы: Код программы:...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
xtorne21st
интересующийся
303 / 274 / 19
Регистрация: 25.09.2010
Сообщений: 1,056
12.03.2013, 16:28     Почему *(a+j) не rvalue? #2
Главное отличие rval от lval заключается в том, что к rval нельзя присвоить новое значение, а к lval можно.
DiffEreD
1429 / 766 / 95
Регистрация: 21.06.2011
Сообщений: 1,740
Записей в блоге: 2
12.03.2013, 16:35     Почему *(a+j) не rvalue? #3
mzarb, вот неплохая статья про rvalue: http://scrutator.me/post/2011/08/02/rvalue-refs.aspx
Ответ Создать тему
Опции темы

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