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

Đề tài: [ Solved ]Cho em hỏi về từ khóa const.

  1. #1
    Ngày gia nhập
    08 2008
    Nơi ở
    homeless
    Bài viết
    15

    Mặc định [ Solved ]Cho em hỏi về từ khóa const.

    Trong hướng đối tượng,em thấy từ khóa const dc xài nhiều và cũng có nhiều vị trí khac nhau trong khai báo hàm,mấy anh giải thích dùm em về vị trí và chức năng của từng chỗ khai báo .Em cám ơn.

  2. #2
    Ngày gia nhập
    12 2006
    Nơi ở
    US
    Bài viết
    1,917

    Từ khóa "const" mục đích là để giúp dễ debug hơn.
    - Nếu hàm trong class là const thì không thể dùng phép gán đối với dữ liệu trong class.
    - Nếu dữ liệu là const thì không thể dùng phép gán cho dữ liệu đó được.
    - Một lợi ích của khác của const là dùng với reference để tránh tạo 1 bản copy của đối tượng lớn. Ví dụ đối tượng truyền vào hàm là 1 class có rất nhiều dữ liệu, nếu truyền bằng copy thì quá ư là lãng phí. Vì vậy truyền const ref sẽ tăng performance.
    Ex1 :
    C++ Code:
    1. #include <iostream>
    2.  
    3. class Example
    4. {
    5. private :
    6.     int data;
    7. public :
    8.     Example( int data ) :data( data ) {
    9.     }
    10.  
    11.     void printData() const {
    12.         std::cout << data;
    13.     }
    14. };
    15.  
    16. int main()
    17. {
    18.     Example e( 5 );
    19.     e.printData();
    20.  
    21.     return 0;
    22. }

    Ex2
    C++ Code:
    1. #include <iostream>
    2. #include <string>
    3. #include <vector>
    4.  
    5. class Example
    6. {
    7. private :
    8.     int                i_data;
    9.     double             d_data;
    10.     char               c_data;
    11.     float              f_data;
    12.     std::string        s_data;
    13.     std::vector< int > v_data;
    14. public :
    15.     Example() {
    16.     }
    17. };
    18.  
    19. void passByConstRef( const Example& ex )
    20. {
    21.     std::cout << "Size of address of ex : "
    22.               << sizeof( &ex ) << " bytes.\n";
    23. }
    24.  
    25. int main()
    26. {
    27.     Example ex;
    28.     std::cout << "Size of actual object : "
    29.               << sizeof( ex ) << " bytes.\n";
    30.  
    31.     passByConstRef( ex );
    32.  
    33.     return 0;
    34. }

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

  1. Thủ thuật C++ Cách sử dụng từ khóa const trong C++
    Gửi bởi trungkien45 trong diễn đàn Thủ thuật, Tutorials và Mã nguồn C/C++/C++0x
    Trả lời: 18
    Bài viết cuối: 08-12-2016, 09:10 PM
  2. Tìm hiểu về từ khóa const - const với nhiều ý nghĩa
    Gửi bởi langman trong diễn đàn Tutorials và Thủ thuật Visual C++
    Trả lời: 1
    Bài viết cuối: 19-12-2011, 12:00 PM
  3. Kỹ thuật C++ Thắc mắc từ khóa const trước hàm
    Gửi bởi cab8nwf6hgpc trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 4
    Bài viết cuối: 18-09-2010, 11:34 AM
  4. [VC++] - Hỏi hàm có gắn từ khóa const phía sau
    Gửi bởi vuongngocnam trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 7
    Bài viết cuối: 04-05-2010, 06:18 PM
  5. [ Solved ]Hiểu rõ ràng về const ?
    Gửi bởi -Xme- trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 8
    Bài viết cuối: 03-09-2008, 11:15 PM

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