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

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

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

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

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

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

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

rvalue - C++
добрый вечер. интересно ваше мнение. значит ли появление rvalue reference в новом стандарте то, что теперь локальным объектам зеленый свет....

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

Rvalue ссылки - C++
Литературу читаю, но доезжаю медленно(если знаете где доступно описано- напишите),тяжело болею умственной анорексией. 1.Так вот о...

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

Непостижимый rvalue - C++
Код// тестирование с чтением из потоков void stream_io_test( std::istream& in, std::ostream& out ); // тестируем, вводя числа из...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
xtorne21st
интересующийся
304 / 275 / 19
Регистрация: 25.09.2010
Сообщений: 1,056
12.03.2013, 16:28 #2
Главное отличие rval от lval заключается в том, что к rval нельзя присвоить новое значение, а к lval можно.
0
DiffEreD
1430 / 767 / 95
Регистрация: 21.06.2011
Сообщений: 1,740
Записей в блоге: 2
12.03.2013, 16:35 #3
mzarb, вот неплохая статья про rvalue: http://scrutator.me/post/2011/08/02/rvalue-refs.aspx
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.03.2013, 16:35
Привет! Вот еще темы с ответами:

Rvalue reference and lambda - C++
void foo(A&& a) { auto l = () {}; //a? } Как передать в лямбду rvalue ref как просто ссылку? Чтобы потом использовать...

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

Rvalue и lvalue ссылки - C++
Здравствуйте, что расскажите, пожалуйста что такое lvalue и rvalue ссылки и с чем их едят, где можно использовать, и чем отличается...

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


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

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

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