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

Đề tài: sử dụng dấu &

  1. #1
    Ngày gia nhập
    10 2009
    Bài viết
    0

    Mặc định sử dụng dấu &

    cho mình hỏi khi nào trong hàm sử dụng dấu & khi nào thì không
    vd: void chen(Node*&L,int x,Node *p)

  2. #2
    Ngày gia nhập
    08 2011
    Nơi ở
    Trà Vinh
    Bài viết
    20

    Trích dẫn Nguyên bản được gửi bởi gamover Xem bài viết
    cho mình hỏi khi nào trong hàm sử dụng dấu & khi nào thì không
    vd: void chen(Node*&L,int x,Node *p)
    Vì hàm chỉ sử dụng bản sao của biến truyền vào nên nếu giá trị của biến trong hàm có bị thay đổi thì sau khi hàm kết thúc giá trị của biến ban đầu vẫn được giữ nguyên(truyền tham trị). Do đó, trong một số trường hợp chúng ta cần lưu giá trị thay đổi của biến sau khi hàm kết thúc chúng ta dùng dấu &ten_bien (truyền tham chiếu)
    Ví dụ: Bạn xóa những phần tử có giá trị bằng x trong mảng a có n phần tử
    // void remove(int a[], int n, int x) Nếu như bạn khai báo thế này thì sau khi kết thúc hàm giá trị của n sẽ không thay đổi dẫn đến kết quả sai;
    //Do đó bạn phải khai báo void remove(int a[], int &n, int x) Khi đó số phần tử của mảng a sẽ giảm sau khi xóa những phần tử bằng giá trị x trong mảng
    Ví dụ: void insert(int a[], int &n, int x)
    Đây là hàm chèn một giá trị x vào mảng a nên sao khi gọi hàm insert thì giá trị của n sẽ tăng lên một. Nếu bạn khai báo void insert(int a[], int n, int x) thì sau khi gọi hàm này thì số phần tử của mảng không thay đổi và kết quả sẽ không được như mong muốn.
    Nó là con của thằng nào ? Con của thằng nào ? Nói mau!!!!!!!!!!!!!!!

  3. #3
    Ngày gia nhập
    01 2011
    Nơi ở
    \WINDOWS\Assembly\
    Bài viết
    54

    Trích dẫn Nguyên bản được gửi bởi gamover Xem bài viết
    cho mình hỏi khi nào trong hàm sử dụng dấu & khi nào thì không
    vd: void chen(Node*&L,int x,Node *p)
    Đó là biến tham chiếu đó bạn
    vd:

    C Code:
    1. int a = 10;
    2. int &x = a;

    Biến tham chiếu có trong ngôn ngữ c++

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