Tôi không muốn hỏi một câu hỏi chủ quan chủ quan ở đây, nhưng tôi không có ai khác để hỏi trực tiếp điều này ...C++: Sử dụng tự động hoặc typedef?
Tôi đang cố gắng "dẫn đầu bằng ví dụ" trong nhóm của mình bằng cách áp dụng thêm các khái niệm C++ hiện đại trong mã mới tôi viết. Đồng nghiệp của tôi hơi nhút nhát các mẫu và không cần phải nhập unique_ptr<Foobar>
hoặc shared_ptr<Foobar>
thay vì chỉ Foobar*
khi sử dụng một số lớp tôi vừa tạo (phương thức factory trả về unique_ptr
s và tôi lưu trữ danh sách các đối tượng này trong vectơ sử dụng shared_ptr
).
Họ vặn cánh tay của tôi và thuyết phục tôi đánh máy vào những thứ dễ dàng hơn để nhập, ví dụ: FoobarUniquePtr
.
Nhưng bây giờ tôi đang ở trong một mớ hỗn độn của const-đúng đắn với những typedefs. Tôi sẽ phải xác định typedefs thêm cho mỗi const và loại const thuốc, và const const_FoobarUniquePtr
dường như không thể hiện đúng ngữ nghĩa const. Vì vậy, với câu hỏi của tôi, nó sẽ có ý nghĩa để ngừng sử dụng các typedefs và thay vì xô auto
tại đồng đội của tôi khi họ phàn nàn về việc phải gõ con trỏ thông minh templated? Tôi cũng mở cửa cho các lựa chọn thay thế khác.
+1 vì cố gắng để đồng nghiệp của bạn sử dụng nhiều thực tiễn hiện đại hơn! – Nick
Vì vậy, vấn đề với 'unique_ptr' hoặc 'const unique_ptr '? –
Useless
âm thanh như tự động được tạo ra chỉ dành cho loại điều này. một phím tắt đẹp cho phép bạn chỉ cần đặt tự động thay vì tìm ra chính xác loại mà bạn cần sử dụng cho biến. khi bạn hỏi liệu nó có ý nghĩa hay không, tốt, một phần của tiêu chuẩn ngôn ngữ và sử dụng nó theo cách này nghe có vẻ 'đúng' với tôi. Nhưng tất nhiên một số sở thích cá nhân có thể đi vào nó như tôi tưởng tượng một số có thể tranh luận rằng họ thà nhìn thấy loại rõ ràng bất cứ nơi nào nó được sử dụng và không dựa vào tự động. Nhưng ngoài sở thích cá nhân, nó có vẻ giống như một cách sử dụng hợp lệ. – Nerdtron