Resultados da pesquisa a pedido "lvalue"
Por que esse rvalue não é promovido para um lvalue conforme especificado na referência?
oReferência de Ferrugem [https://doc.rust-lang.org/reference.html#lvalues-rvalues-and-temporaries]diz: O operando esquerdo de uma expressão de atribuição ou atribuição de composto é um contexto de valor l, como é o operando único de um ...
Por que tomar o endereço de um temporário é ilegal?
Eu sei que o código escrito abaixo é ilegal void doSomething(std::string *s){} int main() { doSomething(&std::string("Hello World")); return 0; }O motivo é que não podemos pegar o endereço de um objeto temporário. Mas minha pergunta ...
Por que o operador de pré-incremento fornece rvalue em C?
No C ++, o operador de pré-incremento fornece lvalue porque o próprio objeto incrementado é retornado, não uma cópia. Mas em C, dá rvalue. Por quê?
C ++ 0x: referência rvalue versus lvalue não const
Ao programar em C ++ 03, não podemos passar um temporário sem nomeT() para uma funçãovoid foo(T&);. A solução usual é dar um nome temporário ao e depois passá-lo como: T v; foo(v);Agora, vem C ++ 0x - e agora com referências rvalue, uma ...
O que há de errado com essa atribuição em um operador condicional?
Há um erro. É errado atribuir um valor a um [i] no código a seguir? Ou algo está errado com operadores condicionais? #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 : ...
Um ponteiro não referenciado é um valor válido?
Assumindo a definição: int i = 10; int *p = &i;Por que * p é um valor válido aqui: *p+=10;* Não deve avaliar o valor do int armazenado em & i, ie. 10 e, portanto, gerar um erro "Não é um valor lvalue"?
Dar aos dados um tipo eficaz conta como efeito colateral?
Suponha que eu tenha um pedaço de dados alocados dinamicamente: void* allocate (size_t n) { void* foo = malloc(n); ... return foo; }Desejo usar os dados apontados porfoo como um tipo especial,type_t. Mas eu quero fazer isso mais tarde, e não ...
Por que o resultado desse elenco não é um valor?
Eu preciso de alguns conselhos com esse comportamento estranho - vamos ter este código: int ** p;Isso compila sem nenhum problema: p++;Mas isso: ((int**)p)++;Dá-me esta mensagem de erro:“error: lvalue required as increment operand”. Estou ...
No C ++ 11, como posso obter um valor temporário sem um nome?
Eu tenho uma lib C tradicional e uma função (setsockopts) quer um argumento por ponteiro. No C ++ 11 (gcc 4.8), posso passar esse argumento sem inicializar uma variável nomeada? Eu tenho a seguinte solução não satisfatória: #include <iostream> ...
Std :: move (* this) é um bom padrão?
Para que esse código com os qualificadores de referência C ++ 11 funcionem conforme o esperado, tenho que introduzir umstd::move(*this) isso não parece certo. #include<iostream> struct A{ void gun() const&{std::cout << "gun const&" ...