Tôi không chắc chắn những gì bạn đề cập đến bằng cách "khởi tạo/khai báo" trong ngữ cảnh này. Trong phần tiếp theo, mảng là một prvalue
template<typename T> using alias = T;
int main() { return alias<int[]>{1, 2, 3}[0]; }
này có thể được xác nhận qua decltype(alias<int[]>{1, 2, 3})
có loại int[3]
. Tạo mảng theo cách này trên bay không được dự định ban đầu để làm việc nhưng trượt vào bản thảo làm việc bằng cách của công việc liên quan đến khởi tạo thống nhất. Khi tôi nhận ra rằng một số đoạn trong bản thảo làm việc C++ 0x không cho phép một số trường hợp đặc biệt của việc tạo ra tạm thời các mảng tạm thời trong khi các đoạn khác cho phép nó, tôi đã gửi một báo cáo lỗi tới ủy ban C++, sau đó trên cơ sở thực hiện một phần công việc của GCC đã quyết định hỗ trợ đầy đủ điều này.
Nguồn
2012-02-04 10:17:56
bản sao có thể có của [Tôi nghĩ rằng tôi có thể đã đưa ra ví dụ về giá trị rvalue của loại mảng] (http://stackoverflow.com/questions/4058151/i-think-i-may-have-come-up- with-an-example-of-rvalue-of-array-type) –