Результаты поиска по запросу "lvalue"
Почему составные литералы в C модифицируются
Каждый обычно ассоциирует «немодифицируемый» с термином буквальный
Почему это значение не повышается до значения l, как указано в ссылке?
Rust Reference говорит:Левый операнд выражения присваивания или составного присваивания является lvalue-контекстом, как и единственный операнд унарного заимс...
память или ограниченный ресурс, такой как дескриптор файла. Но необходимость передать их обратно пахнет скорее «плохим дизайном», чем «полезным ограничением».
рограммировании на C ++ 03 мы не можем передать безымянный временныйT() к функцииvoid foo(T&);, Обычное решение - дать временному имя, а затем передать его следующим образом: T v; foo(v);Теперь идет C ++ 0x - и теперь со ссылками на rvalue ...
, Что-то вроде:
ошибка. Неправильно ли присваивать значение [i] в следующем коде? Или что-то не так с условными операторами? #include<stdio.h> #include<string.h> int main(){ char a[12]="sumit tyagi"; int i=0; while(a[i]!='\0'){ a[i]>90 ? a[i]=a[i]-32 : ...
).
олагая определение: int i = 10; int *p = &i;Почему * p является допустимым значением lvalue здесь: *p+=10;* Не следует оценивать значение p, хранящееся в & i, т.е. 10, и, следовательно, сгенерировать ошибку "Not lvalue"?
, (Я признаю, что вы можете написать это по-другому, хотя.)
+ оператор предварительного приращения дает lvalue, потому что возвращается увеличенный объект, а не его копия. Но в C это дает значение. Почему?
, gcc и clang следует рассматривать как обработку диалекта C, в котором эффективные типы, когда они установлены, становятся постоянными. Они не могут надежно распознать все случаи, когда эффективные типы могут быть изменены, и логика, необходимая для обработки, которая могла бы легко и эффективно обрабатывать многие случаи, о которых авторы gcc уже давно заявляли, не может быть обработана без потрошения оптимизации.
оложим, у меня есть кусок динамически распределенных данных: void* allocate (size_t n) { void* foo = malloc(n); ... return foo; }Я хочу использовать данные, на которые указываетfoo как особый тип,type_t, Но я хочу сделать это позже, а не во ...
Кстати, ошибка, которую я вижу в GCC C, такая же, но по-другому:
int main () { int a = 5,b = 2; printf("%d",a+++++b); return 0; }код выдает следующую ошибку: ошибка: lvalue требуется как операнд приращения Но если я поставлю пробелы во всемa++ + а также++b, то работает нормально. int main () { int a = 5,b = ...
@James Спасибо за разъяснения
я есть базовый класс C ++. Заголовок выглядит так: #pragma once class DataContainer { public: DataContainer(void); ~DataContainer(void); int* getAgeGroup(void); int _ageGroupArray[5]; private: int _ageIndex; };Теперь внутри файла cpp класса я ...
вместо этого это была постоянная ссылка, и это было бы разрешено стандартом.
string foo() { return "hello"; } int main() { //below should be illegal for binding a non-const (lvalue) reference to a rvalue string& tem = foo(); //below should be the correct one as only const reference can be bind to rvalue(most important ...