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;}
Thông qua phân tích dữ liệu Google từ 86 quốc gia, mới đây, một công ty tại Anh đã công bố bảng xếp hạng kích tấc "cậu nhỏ" của các nước trên thế giới. Kết quả, hầu hết các nước xếp ở nhóm đầu của...
"Chim" của chàng trai Việt thuộc...