Chào mừng đến với Diễn đàn lập trình - Cộng đồng lập trình.
Kết quả 1 đến 2 của 2
  1. #1
    Ngày tham gia
    Sep 2015
    Bài viết
    0

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


  2. #2
    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 :

    Mã:
    #include <iostream> class Example{private :    int data;public :    Example( int data ) :data( data ) {    }     void printData() const {        std::cout << data;    }}; int main(){    Example e( 5 );    e.printData();     return 0;}
    Ex2

    Mã:
    #include <iostream>#include <string>#include <vector> class Example{private :    int                i_data;    double             d_data;    char               c_data;    float              f_data;    std::string        s_data;    std::vector< int > v_data;public :    Example() {    }}; void passByConstRef( const Example& ex ){    std::cout << "Size of address of ex : "              << sizeof( &ex ) << " bytes.
    ";} int main(){    Example ex;    std::cout << "Size of actual object : "              << sizeof( ex ) << " bytes.
    ";     passByConstRef( ex );     return 0;}

 

 

Quyền viết bài

  • Bạn Không thể gửi Chủ đề mới
  • Bạn Không thể Gửi trả lời
  • Bạn Không thể Gửi file đính kèm
  • Bạn Không thể Sửa bài viết của mình
  •