Результаты поиска по запросу "lvalue"

2 ответа

Почему C ++ 0x rvalue ссылка не по умолчанию?

Одна из интересных новинок грядущего стандарта C ++, C ++ 0x, - это «ссылки на значения». Ссылка на rvalue похожа на ссылку на lvalue (нормальную), за исключением того, что она может быть связана с временным значением (обычно временная может быть ...

4 ответа

Почему результат этого броска не lvalue?

Мне нужно несколько советов с этим странным поведением - давайте иметь этот код: int ** p;Это без проблем компилируется: p++;Но это: ((int**)p)++;Дает мне это сообщение об ошибке:“error: lvalue required as increment operand”. Я кастуюp к типу ...

8 ответов

Приведение указателя не дает lvalue. Почему?

После публикации одного из моих самых спорных ответовВот [https://stackoverflow.com/questions/7444464/read-bytes-methods-in-c-c/7444502#7444502] Я осмелюсь задать несколько вопросов и в конечном итоге заполнить пробелы в моих знаниях. Почему не ...

ТОП публикаций

3 ответа

, (Я признаю, что вы можете написать это по-другому, хотя.)

+ оператор предварительного приращения дает lvalue, потому что возвращается увеличенный объект, а не его копия. Но в C это дает значение. Почему?

5 ответов

Временное связывание со ссылкой на lvalue

У меня есть следующий код

2 ответа

, gcc и clang следует рассматривать как обработку диалекта C, в котором эффективные типы, когда они установлены, становятся постоянными. Они не могут надежно распознать все случаи, когда эффективные типы могут быть изменены, и логика, необходимая для обработки, которая могла бы легко и эффективно обрабатывать многие случаи, о которых авторы gcc уже давно заявляли, не может быть обработана без потрошения оптимизации.

оложим, у меня есть кусок динамически распределенных данных: void* allocate (size_t n) { void* foo = malloc(n); ... return foo; }Я хочу использовать данные, на которые указываетfoo как особый тип,type_t, Но я хочу сделать это позже, а не во ...

3 ответа

Являются ли буквальные строки и возвращаемые значения функции значениями или значениями?

3 ответа

Тип возврата '?:' (Троичный условный оператор)

Почему первый возвращает ссылку? int x = 1; int y = 2; (x > y ? x : y) = 100;Пока второго нет? int x = 1; long y = 2; (x > y ? x : y) = 100;Собственно, второе вообще не компилировалось - «не осталось значения от назначения».

0 ответов

 память или ограниченный ресурс, такой как дескриптор файла. Но необходимость передать их обратно пахнет скорее «плохим дизайном», чем «полезным ограничением».

рограммировании на C ++ 03 мы не можем передать безымянный временныйT() к функцииvoid foo(T&);, Обычное решение - дать временному имя, а затем передать его следующим образом: T v; foo(v);Теперь идет C ++ 0x - и теперь со ссылками на rvalue ...

3 ответа

Является ли результат броска значимым?