cuốn sách gpt4 ai đã làm

c++ - 说 xvalues 具有身份并且是可移动的是正确的吗?

In lại Tác giả: Taklimakan Thời gian cập nhật: 2023-11-03 00:15:08 26 4
mua khóa gpt4 Nike

Theo tài liệu này :

../../../terminology.pdf

  1. l Các giá trị giống hệt nhau và không thể di chuyển được.
  2. Giá trị PR có thể di chuyển được nhưng không có bản sắc.
  3. Các giá trị x giống hệt nhau và có thể di chuyển được.

Tôi có một vài câu hỏi về những điều này.

một. Ví dụ về giá trị x có danh tính là gì? Những điều sau đây là bất hợp pháp:

Foo f;
&std::move(f);

Tôi có thể nạp chồng toán tử & của lớp Foo và yêu cầu nó trả về cái này để những điều sau đây trở thành hợp pháp:

&Foo(5);

Nhưng các giá trị pr như Foo(5) không thể có danh tính. Hoặc có một lời giải thích sắc thái hơn cho danh tính?

câu trả lời hay nhất

Phần sau đây từ Ngôn ngữ lập trình C++ của Stroutrup có thể làm rõ vấn đề:

void f(vector& vs)
{
vector& v2 = std::move(vs);// di chuyển so với v2
// ...
}

Ở đây, std::move(vs) là một xvalue: nó
rõ ràng có bản sắc (chúng ta có thể tham khảo
nó là vs), nhưng chúng tôi đã đưa ra một cách rõ ràng
cho phép nó được di chuyển từ
gọi std::move() (§3.3.2, §35.5.1).
Đối với lập trình thực tế, suy nghĩ trong
các điều khoản của giá trị và giá trị thường là
hợp lý.

Về C++ - có đúng không khi nói rằng các giá trị x có danh tính và có thể di chuyển được? , chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/22430998/

26 4 0
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress