Вопросы по теме 'lvalue'

Rvalue в С++ 03
Как узнать, является ли данный параметр значением rvalue в C++03? Я пишу очень общий код, и мне нужно взять ссылку, если это возможно, или создать новый объект в противном случае. Могу ли я перегрузить, чтобы принимать по значению, а также по...
768 просмотров
schedule 25.02.2023

Проблема со ссылочной переменной параметра шаблона
Следующий небольшой пример показывает мою проблему: template<class T> struct X { static void xxx(T& x) { } static void xxx(T&& x) { } }; int main(int argc, char** argv) { int x = 9; X<int>::xxx(x); // OK....
1317 просмотров
schedule 04.05.2022

программирование на С; lvalue требуется
Возможный дубликат: требуемая ошибка Lvalue У меня ошибка в моей программе C main () { int arr[] = {1, 2, 3, 4}; printf("%d", *arr); arr++; printf("%d", *arr); } Когда я компилирую этот код, я получаю требуемую...
1506 просмотров
schedule 02.05.2022

почему --list.end() компилируется?
end() в списке возвращает копию итератора, прошедшего конец, верно? Следовательно, list.end() — это rvalue, верно? -- оператор-функция, перегруженная для итератора списка, принимает неконстантную ссылку, верно? вы не можете привязать...
223 просмотров
schedule 06.07.2022

C Приводы внутри макроса
Я пытаюсь реализовать стандартный алгоритм xor swap как макрос C. У меня есть две версии макроса. Тот, который не беспокоится о типах, и тот, который пытается привести все к целому числу. Вот макрос #define XOR_SWAP(a,b)...
2717 просмотров
schedule 02.06.2023

Допустимое назначение массива. Является ли это возможным?
Прочитав главу о структурах в книге K&R, я решил провести несколько тестов, чтобы лучше понять их, поэтому я написал этот фрагмент кода: #include <stdio.h> #include <string.h> struct test func(char *c); struct test { int i ;...
6354 просмотров
schedule 05.05.2023

привязка выражения lvalue типа T&&
В последние несколько дней я пытался понять, казалось бы, тривиальный принцип, лежащий в основе ссылок lvalue/rvalue. Давайте определим новую ссылку rvalue: int&& x = 12; Таким образом, x является выражением lvalue типа...
156 просмотров
schedule 21.01.2023

Ошибка: начальное значение для неконстанты должно быть lvalue
Я получаю C2440 («инициализация»: невозможно преобразовать из «std::_Vb_reference‹_Alloc>» в «bool &»), что IntelliSense переводит в ошибку в заголовке. Я понимаю, о чем говорит эта ошибка, но не о том, почему это говорится. Код ниже выдает эту...
2955 просмотров
schedule 13.01.2023

Получение ошибки: требуется lvalue при попытке реализовать Jagged Array в C
Я пытаюсь реализовать концепцию Jagged Array при изучении языка C. Мой код идет ниже: - #include<stdio.h> #include<stdlib.h> int main() { int r,**a,n,i,j,*ptr; do { printf("Enter no. of Rows : ");...
328 просмотров

В С++ 11, как я могу получить временное lvalue без имени?
У меня есть традиционная библиотека C, и функция ( setsockopts ) хочет аргумент по указателю. В С++ 11 (gcc 4.8) могу ли я передать этот аргумент без инициализации именованной переменной? У меня есть следующее, неудовлетворительное решение:...
1842 просмотров
schedule 19.08.2022

Ошибка присвоения возвращаемого значения функции char-pointer массиву char переменной в Keil для микро 8051
В настоящее время я работаю над проектом 128-битного сложения с использованием 8-битного 8051 с использованием Keil. Вот моя основная программа: #include <stdlib.h> #include <math.h> #include "Li.h" #include <string.h> main()...
1023 просмотров
schedule 13.04.2024

Ожидаемое выражение перед уравнением в C
Я делаю небольшую программу на C, которая вычисляет площадь и длину окружности кругов, и я хочу, чтобы это уравнение было вычислено, но каждый раз оно говорит: «lvalue требуется как левый операнд присваивания» для верхней строки и «ожидаемое...
82 просмотров
schedule 29.08.2023

Поскольку строковый литерал считается lvalue, почему ссылка привязки lvalue должна быть const?
Я знаю, что есть темы, которые уже похожи на эту (например, это ). Пример, приведенный в этой теме, был следующим: std::string & rs1 = std::string(); Ясно, что std :: string () - это rvalue. Однако у меня вопрос: почему s1 разрешен,...
2503 просмотров

MSVC++ 2013, по-видимому, позволяет присваивать временные объекты, фактически рассматривая их как lvalue.
Я столкнулся с этой «функцией» в MSVC++, и теперь я не уверен, является ли это ошибкой или мое понимание lvalues/rvalues ​​​​в C++ просто неверно. Я добавил несколько серьезно упрощенных кодов для иллюстрации, но в основном проблема в том, что...
33 просмотров

Ссылка на rvalue
согласно открытому стандарту ( http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2006/n2027.html ) Этот код должен выдавать ошибку: A& a_ref3 = A(); // Error! A&& a_ref4 = A(); // Ok Тем не менее, я могу сделать первую...
46 просмотров
schedule 30.04.2023

Синтаксис конструктора копирования С++: является ли амперсанд ссылкой на значения r/l?
Ниже приведен отрывок из моего текста на C++, иллюстрирующий синтаксис объявления класса с помощью конструктора копирования. class Student { int no; char* grade; public: Student(); Student(int, const char*); Student(const...
432 просмотров

Необходимо дополнительное объяснение: начальное значение ссылки на неконстантное должно быть lvalue
Масштаб проекта: Академический Предполагаемая цель: иметь графический интерфейс для представления проекта. Этот вопрос касается создания определенной области графического окна кликабельной . Я не знаком с другими графическими библиотеками. Я...
204 просмотров
schedule 17.07.2023

Что происходит при присвоении rvalue 'const auto&'
Что происходит в этом случае? // assume WeakPtr is valid and has not expired const auto& something = WeakPtr.lock(); something->doStuff(); Это не определено? Изменится ли он в этом сценарии? std::shared_ptr<Something>...
629 просмотров
schedule 14.11.2023

Должен ли оператор доступа к члену rvalue быть значением x?
В разделе cpprefernce: категории значений указано, что "член объекта выражение, где a — значение r, а m — нестатический член данных не ссылочного типа», является значением x. В стандарте (я нашел в: N4140, проект стандарта C++14 ) в нем говорится...
204 просмотров
schedule 03.07.2022

Как компилятор C определяет допустимое lvalue?
Я пытаюсь выяснить, как C определяет, является ли выражение допустимым LVALUE. Я знаю, что объявление переменной дает ей именованное пространство памяти, которое является именем переменной. Имя переменной может быть RVALUE или LVALUE. Если...
191 просмотров
schedule 17.11.2022