Trang 1 trên tổng số 4 123... Cuối cùngCuối cùng
Từ 1 tới 10 trên tổng số 35 kết quả

Đề tài: công dụng của từ khóa "const" và ký hiệu "&"

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

    Wink công dụng của từ khóa "const" và ký hiệu "&"

    Mình lập topic này, nhằm đưa ra những câu hỏi hay yêu cầu các bạn phải nắm vững kiến thức cũng như thường xuyên tìm tòi về lập trình hướng đối tượng mới có thể trả lời một cách chính xác và đầy đủ nhất được!
    Thời gian thảo luận là một tuần kể từ khi đưa ra câu hỏi.
    Kêu gọi các anh hùng hảo hán trong thế giới lập trình tham gia để topic thêm sôi nổi.

    Câu hỏi 1:

    Cho biết công dụng của từ khóa "const" và ký hiệu "&" trong những khai báo sau:

    a) PhanSo PhanSo::cong(const PhanSo &p);
    b) int & Mang::layPhanTu(int iViTri) const;

    Ngoài việc tập trung giải thích khái niệm "const" và "&" riêng lẻ, các bạn cần giải thích vì sao "const" và "&" đi chung với nhau? chúng đi chung với nhau như vậy để làm gì? thử tìm ví dụ minh họa để thấy lợi ích xem sao?

  2. #2
    Ngày gia nhập
    10 2008
    Bài viết
    178

    bạn định test thử mọi người ha?

  3. #3
    Ngày gia nhập
    10 2008
    Bài viết
    178

    sãn tiện hỏi bạn lun viết như thế này có chạy được không ?
    PHP Code:
    class A
    {
         private:
             
    int a;
         public:
             
    A()
              {

              }
              
    A(A b)
              {
                    
              }
    }; 

  4. #4
    Ngày gia nhập
    03 2009
    Bài viết
    11

    Trích dẫn Nguyên bản được gửi bởi rua_con Xem bài viết
    sãn tiện hỏi bạn lun viết như thế này có chạy được không ?
    PHP Code:
    class A
    {
         private:
             
    int a;
         public:
             
    A()
              {

              }
              
    A(A b)
              {
                    
              }
    }; 
    Mình ko biết bạn hỏi chạy được ko là về vấn đề gì? (lỗi viết hàm, cấu trúc hàm ...)
    Nhưng đảm bảo là chương trình của bạn chưa chạy được vì nhiều lý do!

  5. #5
    Ngày gia nhập
    09 2006
    Nơi ở
    /usr/share/.hack@
    Bài viết
    1,433

    1. Cái này giải thích hoài trong diễn đàn rồi, bác đánh đố anh em Cviệt à? (hay là bài tập của bác định nhờ làm hộ , đùa tí nếu mạo phạm xin lỗi nha)

    2. @rua_con: sửa lại thế này thì đúng:
    C++ Code:
    1. class A
    2. {
    3.      private:
    4.          int a;
    5.      public:
    6.          A()
    7.           {
    8.  
    9.           }
    10.           A(A &b)
    11.           {
    12.                
    13.           }
    14. };
    None!

  6. #6
    Ngày gia nhập
    07 2008
    Nơi ở
    /media/Anime
    Bài viết
    2,288

    Mặc định công dụng của từ khóa "const" và ký hiệu "&"

    Lúc đầu là một câu hỏi, bây giờ phát triển lên thành chủ đề thảo luận luôn rồi, vui nhỉ . Mình xin giải thích sơ sơ như sau :

    - Đầu tiên là dấu "&". Bình thường khi truyền biến vào hàm, C++ sẽ copy biến đó và truyền bản sao vừa tạo vào hàm, do đó trong hàm nếu ta thay đổi thế nào đi nữa thì bản chính vẫn ko hề bị sứt mẻ gì. Tuy nhiên cái hại của phương pháp này chính là sẽ nảy sinh rất nhiều vấn đề phiền phức khi copy nội dung class mà trong class này có các biến con trỏ ( VD như lớp List ). Hơn nữa nếu cấu trúc dữ liệu lưu trữ là lớn thì việc copy sẽ làm lãng phí bộ nhớ. Do vậy dấu & có mặt để báo cho biết là truyền luôn bản chính vào hàm cho nhanh.

    - Từ khóa "const". Khi lấy giấy tờ bản chính đi truyền vào hàm thì rất mạo hiểm vì có khả năng nó bị hàm làm thay đổi nội dung. Từ khóa const có mặt là để báo làm cấm ko được thay đổi nội dung của bản chính đó.

    ---- Báo cáo : Hết ! -----

    PS : Mình đã đọc các bài hỏi của bạn. Đây không phải là vấn đề gì khó mà là những vấn đề rất cơ bản của LTHĐT. Hy vọng mình giải thích như thế bạn sẽ hiểu. Bạn có thể thắc mắc và post bài vào box hỏi đáp của lập trình hường đối tượng nhưng mình nghĩ bạn ko nên lập topic theo kiểu thách đố như thế này.
    Đã được chỉnh sửa lần cuối bởi meoconlongvang : 18-03-2009 lúc 08:49 AM.
    Càng yêu mèo thì mèo càng mập. Mèo càng mập ta lại càng yêu.

  7. #7
    Ngày gia nhập
    02 2009
    Bài viết
    22

    @X: A(const A &b) chứ?
    @strict cat: Tớ thấy topic có gì sai đâu? Bạn làm vậy là mất đi tính tương tác của diễn đàn đấy. Bạn có quyền không comment mà.
    Topic mục đích tốt như thế mà ko cho lập?
    Hay phải là vấn đề cao siêu mà bạn đang học?
    Nếu không có những topic như thế này thì làm sao người search Google có cái để search? Không phải những gì ta học trên Google đều bắt đầu từ những người post như vầy sao?
    Đang tính comment trả lời mà làm mất cả hứng.

  8. #8
    Ngày gia nhập
    07 2008
    Nơi ở
    /media/Anime
    Bài viết
    2,288

    Trích dẫn Nguyên bản được gửi bởi SomethingWrong Xem bài viết
    @X: A(const A &b) chứ?
    @strict cat: Tớ thấy topic có gì sai đâu? Bạn làm vậy là mất đi tính tương tác của diễn đàn đấy. Bạn có quyền không comment mà.
    Topic mục đích tốt như thế mà ko cho lập?
    Hay phải là vấn đề cao siêu mà bạn đang học?
    Nếu không có những topic như thế này thì làm sao người search Google có cái để search? Không phải những gì ta học trên Google đều bắt đầu từ những người post như vầy sao?
    Đang tính comment trả lời mà làm mất cả hứng.
    Bạn muốn nghĩ sao về mình thì nghĩ nhưng bạn nên xem tất cả các bài viết của chủ topic trước khi nói mình như thế.
    Càng yêu mèo thì mèo càng mập. Mèo càng mập ta lại càng yêu.

  9. #9
    Ngày gia nhập
    10 2008
    Bài viết
    178

    Trích dẫn Nguyên bản được gửi bởi Mr Bin Xem bài viết
    Mình ko biết bạn hỏi chạy được ko là về vấn đề gì? (lỗi viết hàm, cấu trúc hàm ...)
    Nhưng đảm bảo là chương trình của bạn chưa chạy được vì nhiều lý do!
    ạc không lẽ bắt mình ghi đầy đủ cả thư viện lẫn hàm main!bạn tự hiểu nó sai chỗ nào chứ

  10. #10
    Ngày gia nhập
    10 2008
    Bài viết
    178

    Trích dẫn Nguyên bản được gửi bởi Xcross87 Xem bài viết
    1. Cái này giải thích hoài trong diễn đàn rồi, bác đánh đố anh em Cviệt à? (hay là bài tập của bác định nhờ làm hộ , đùa tí nếu mạo phạm xin lỗi nha)

    2. @rua_con: sửa lại thế này thì đúng:
    C++ Code:
    1. class A
    2. {
    3.      private:
    4.          int a;
    5.      public:
    6.          A()
    7.           {
    8.  
    9.           }
    10.           A(A &b)
    11.           {
    12.                
    13.           }
    14. };
    tại thấy chủ topic đố nên đố lại thui!tại tớ thấy cái này nhiêu người không giải thích được

Các đề tài tương tự

  1. nghĩa của 3 từ "principals", "artifacts", "securables" là như thế nào?
    Gửi bởi ntbao trong diễn đàn English for IT | Tiếng anh cho dân CNTT
    Trả lời: 2
    Bài viết cuối: 02-09-2017, 06:36 PM
  2. ADO.NET Lấy object từ 1 chuỗi string "sTableName" và 1 khóa chính "iID"
    Gửi bởi babylovehack trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 5
    Bài viết cuối: 14-08-2013, 04:53 PM
  3. Trả lời: 1
    Bài viết cuối: 01-12-2011, 07:32 PM
  4. Problems : " recover tree " with input as " preorder" and "inorder"
    Gửi bởi HoangManhHa1991 trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 16
    Bài viết cuối: 13-04-2011, 10:19 PM
  5. vì sao "const" và "&" đi chung với nhau?
    Gửi bởi cucxabong trong diễn đàn Thắc mắc lập trình Visual C++
    Trả lời: 6
    Bài viết cuối: 11-03-2009, 12:11 AM

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