Resultados de la búsqueda a petición "lvalue"

3 la respuesta

¿Son las cadenas literales y los valores de retorno de la función lvalues ​​o rvalues?

Solo me pregunto si una cadena literal es un lvalue o un rvalue. ¿Hay otros literales (como int, float, char, etc.) lvalue o rvalue?¿Es el valor de retorno d...

4 la respuesta

¿Por qué el resultado de este no es un valor?

Necesito un consejo con este extraño comportamiento. Vamos a tener este código:

1 la respuesta

¿Por qué no se promueve este valor a un valor como se especifica en la referencia?

losReferencia de óxido [https://doc.rust-lang.org/reference.html#lvalues-rvalues-and-temporaries]dice: El operando izquierdo de una asignación o expresión de asignación compuesta es un contexto de valor, al igual que el operando único de un ...

4 la respuesta

¿Qué tiene de malo esta asignación en un operador condicional?

Hay un error. ¿Es incorrecto asignar un valor a [i] en el siguiente código? ¿O algo está mal con los operadores condicionales? #include<stdio.h> #include<string.h> int main(){ char a[12]="sumit tyagi"; int i=0; while(a[i]!='\0'){ a[i]>90 ? ...

7 la respuesta

¿Por qué es ilegal tomar la dirección de un temporal?

Sé que el código escrito a continuación es ilegal. void doSomething(std::string *s){} int main() { doSomething(&std::string("Hello World")); return 0; }La razón es que no se nos permite tomar la dirección de un objeto temporal. Pero mi pregunta ...

2 la respuesta

C ++ 0x: valor de referencia de valor versus valor no constante

Al programar en C ++ 03, no podemos pasar un temporal sin nombreT() a una funciónvoid foo(T&);. La solución habitual es darle un nombre al temporal y luego pasarlo como: T v; foo(v);Ahora, viene C ++ 0x, y ahora con referencias rvalue, una ...

3 la respuesta

En C ++ 11, ¿cómo puedo obtener un valor temporal sin un nombre?

Tengo una C lib tradicional y una función (setsockopts) quiere un argumento por puntero. En C ++ 11 (gcc 4.8), ¿puedo pasar este argumento sin inicializar una variable con nombre? Tengo la siguiente solución no satisfactoria: #include ...

5 la respuesta

¿Es un puntero desreferenciado un valor válido?

Asumiendo la definición: int i = 10; int *p = &i;¿Por qué es * p un valor válido aquí? *p+=10;No debería * p evaluar el valor del int almacenado en & i, es decir. 10 y, por lo tanto, genera un error "No es un valor".

3 la respuesta

¿Por qué el operador de incremento previo da rvalue en C?

En C ++, el operador previo al incremento proporciona lvalue porque el objeto incrementado en sí mismo se devuelve, no una copia. Pero en C, da un valor. ¿Por qué?

1 la respuesta

¿Es std :: move (* this) un buen patrón?

Para que este código con calificadores de referencia de C ++ 11 funcione como se esperaba, tengo que introducir unstd::move(*this) eso no suena bien. #include<iostream> struct A{ void gun() const&{std::cout << "gun const&" << std::endl;} void ...