Chắc chắn, sử dụng <<
- nối chuỗi sẽ tạo bản sao của hai chuỗi được dán với nhau. Cho dù nó cũng phân bổ thêm bộ nhớ trên đầu là vấn đề làm thế nào các chuỗi được thực hiện trong thư viện C++, nhưng nếu tên đầu tiên và cuối cùng là "đủ dài" (lớn hơn 8-16 ký tự với nhau), thì rất có thể S alloc cấp phát bộ nhớ (và sau đó giải phóng nó một lần nữa khi bản sao tạm thời không còn cần thiết nữa).
Nhà điều hành <<
sẽ có rất ít chi phí so sánh, vì vậy không nghi ngờ gì là tốt hơn.
Tất nhiên, trừ khi bạn thực hiện hàng nghìn thứ này, có thể bạn sẽ không có sự khác biệt có thể đo lường được. Nhưng thật tốt khi không lãng phí chu kỳ CPU, bạn không bao giờ biết sử dụng tốt chúng có thể ở đâu khác ...;)
Nguồn
2013-01-17 23:10:03
Bạn cũng có thể làm bài kiểm tra nhanh hơn và đăng kết quả. – Csq
Tôi giả sử bạn đang tham chiếu 'std :: string' cho' toán tử + 'nối? Điều này sẽ không hoạt động với nguyên 'const char *' s. – 0x499602D2