2010-10-24 35 views
12

Tôi đã xem two gần đây answers sử dụng _1 làm giải pháp C++ 0x tinh khiết (không đề cập rõ ràng về lambdas tăng).Có phải phần _1 của C++ 0x không?

Có động vật như vậy không std::_1 Tôi nghĩ rằng việc có lambdas bản địa sẽ làm cho cấu trúc đó trở nên thừa.

Tìm kiếm mã Google cho std::_1 mang lại two results từ cùng một dự án để điều đó không thuyết phục.

+0

bạn có nghĩ chúng sẽ ở trong không gian tên không? Trong tăng cường họ đang ở trong không gian tên toàn cầu ... –

+2

[MSDN] (http://msdn.microsoft.com/en-us/library/bb982158.aspx) có '_1' trong một không gian tên' std :: placeholders' và cả hai câu trả lời được liên kết của bạn đều đề cập đến câu trả lời đó. Đây không phải là kết luận, nhưng nếu không có gì khác bạn có thể đang tìm kiếm điều sai trái. –

+0

Ồ, chỉ thấy rằng họ đang ở [TR1] (http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1836.pdf) –

Trả lời

13

Vâng, họ là một phần của C++ 0x bên trong std::placeholders namespace, từ dự thảo mới nhất (n3126) §20.8.10.1.3 "giữ chỗ":

namespace std { 
    namespace placeholders { 
     // M is the implementation-defined number of placeholders 
     extern unspecified _1; 
     extern unspecified _2; 
     . 
     . 
     . 
     extern unspecified _M; 
    } 
} 

Họ thực sự là included in TR1 (n1836 §3.6.4; n1455) cùng với bind, được lấy từ Boost.Bind library.

5

Rõ ràng họ là một phần của C++ 0x và cần được xác định trong <functional> tiêu đề trong một trình biên dịch tuân thủ QTI, xem Câu hỏi Thường Gặp:

C++ 0x FAQ

5

Có, chúng là một phần của C++ 0x. Tôi đã không kiểm tra kỹ thông số TR1, nhưng tôi nghi ngờ chúng được thêm vào đó (TR1 cơ bản là một phần mở rộng chỉ có thư viện cho C++ 03, vì vậy nó không thể dựa vào lambdas), và sau đó, vì nó đã có trong TR1, nó sẽ không cần thiết gây rối để loại bỏ nó một lần nữa trong C++ 0x, mặc dù nó không còn thực sự cần thiết khi bạn có lambdas đích thực.

+1

Trình giữ chỗ vẫn cần thiết như C++ 0x lambdas không đa hình. – usta

+0

Chúng ở trong . Họ đã được thêm vào với ràng buộc và những thứ khác. – emsr

Các vấn đề liên quan