Từ 1 tới 3 trên tổng số 3 kết quả

Đề tài: Vector stl và copy constructor

  1. #1
    Ngày gia nhập
    12 2015
    Nơi ở
    Đà Nẵng
    Bài viết
    656

    Mặc định Vector stl và copy constructor

    Tôi có đoạn code sau
    C++ Code:
    1. #include <iostream>
    2. #include <vector>
    3. using namespace std;
    4. vector<int> returnVector(vector<int> vec)
    5. {
    6.     cout << &vec[0] << endl;
    7.     return vec;
    8. }
    9. int main()
    10. {
    11.     vector<int> vec  {1,2,3};
    12.     cout << &vec[0] << endl;
    13.     cout << &returnVector(vec)[0] << endl;
    14. }
    15. /*kết quả là
    16. 0x742542a000
    17. 0x742542a5b0
    18. 0x742542a5b0
    19.  
    20. [Program finished]*/
    Tại sao 2 cái đầu khác nhau trong khi 2 cái sau lại giống nhau???

  2. #2
    Ngày gia nhập
    12 2015
    Nơi ở
    Đà Nẵng
    Bài viết
    656

    Ú ù, có ai không???

  3. #3
    Ngày gia nhập
    12 2015
    Nơi ở
    Đà Nẵng
    Bài viết
    656

    Lúc gọi returnVector, tham số được copy, lúc return, giá trị return cũng được copy. Thế nhưng, 2 địa chỉ đầu khác nhau, 2 địa chỉ sau giống nhau.Chẳng lẽ có tới 2 copy constructor?

Tags của đề tài này

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn