Tipos embutidos têm semântica de movimento?

Consideraristo código:

#include <iostream>
using namespace std;

void Func(int&& i) {
    ++i;
}

int main() {
    int num = 1234;
    cout << "Before: " << num << endl;
    Func(std::move(num));
    cout << "After: " << num << endl;
}

Sua saída é:

Before: 1234
After: 1235

Claramente,i está sendo modificado dentroFunc, como está vinculado ao parâmetroi depois de ser "convertido" para uma referência de valor r porstd::move.

Bem, meu ponto:

Mover um objeto significa transferir a propriedade de recursos de um objeto para outro. No entanto, tipos incorporadossegura sem recursos porque eles próprios são os recursos. Não faz sentido transferir os recursos que eles possuem. Como mostrado pelo exemplo,numO valor de s é modificado. Seu recurso, seu eu, é aquele que está sendo modificado.

Tipos embutidos têm semântica de movimento?

Além disso, os objetos do tipo interno depois que ele é movido (se for) um comportamento bem definido?

questionAnswers(1)

yourAnswerToTheQuestion