Thắc mắc về truyền tham chiếu và tham trị

1/Có phải khi có nhiều giá trị trả về thì dùng tham biến?
2/Có phải khi có 1 giá trị trả về thì dùng tham trị?
Mong mọi người giải đáp

Tham trị và tham biến vốn đâu để hiểu như vậy nhỉ ?
Tại sao bạn lại cho là như vậy vậy ?

không hiểu bạn nói gì, hình như bạn chưa nắm được các khái niệm này, bạn google + code 1 bài đơn giản là sẽ hiểu ngay mà, dễ lắm.

Đó chỉ là suy nghĩ của mình thui! Mình đã đọc rất rất nhiều lần về tham biến và tham trị và mình chỉ muốn hỏi thêm như vậy thui chứ mình ko cho nó là như vậy. Với lại khi nào nên dùng tham biến, khi nào dùng tham trị?

1 Like

Bạn dùng tham biến tức tham chiếu khi bạn muốn tìm tới địa chỉ của biến đó hay dễ hiểu hơn là bạn muốn thay đổi biến đó trong các hàm.
Còn tham trị bạn dùng bình thường khi chỉ muốn gọi đến biến đó mà không muốn sử dụng can thiệp tới giá trị.
Để dễ hiểu hơn bạn nên thử làm bài toán đổi giá trị 2 số :smiley:
Chúc một tối tốt lành và ăn hành với code :joy:

1 Like

Cảm ơn bạn đã giúp đỡ!!!

Giúp được mọi người là mình vui rồi :smiley:

Bổ sung:
Tham chiếu - tham biến:hàm được truyền theo kiểu này thì giá trị tham số sau khi đi ra khỏi hàm sẽ thay đổi. Do khi truyền theo tham chiếu hay tham biến thì sẽ truyền địa chỉ vào hàm. Các thao tác với tham số sẽ ảnh hưởng trực tiếp lên vùng địa chỉ này. Trong trường hợp số lượng lớn tham số và muốn tốc độ nhanh tránh việc cấp phát và sao chép thì nên dùng tham chiếu hay là tham biến.

Tham trị: hàm được truyền theo kiểu tham trị thì giá trị tham số sau khi đi ra khỏi hàm sẽ không thày đổi. Khi truyền tham trị trình biên dịch sẽ tự động tạo ra một bản sao mới, sau đó copy giá trị của tham số truyền vào bản sao đó và làm việc trên bản sao này. Sau khi kết thúc hàm thì bản sao bị thu hồi.

    ví dụ:
    //Tham trị
    void increment(int a){
        a++;
    }

    //Tham biến
    void increment(int &a){
        a++;
    }
    Biên dịch: int a = 5. Với trường hợp thứ nhất sau khi ra khỏi hàm a = 5. Trường hợp thứ 2 giá trị a = 6.
6 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?