30/09/2018, 18:24
Từ khóa const nằm cuối khai báo hàm có tác dụng gì?
mọi người trong dạy nha học cho em hỏi trường hợp từ khóa const trong C++ chút ạ,
nếu trong câu lệnh
const int x =2;
thì em có thể hiểu được chức năng của anh const
nhưng nếu như trong câu lệnh này thì anh const có ý nhĩa gì ạ
void pack_k_bits::pack_rev(unsigned char *bytes, const unsigned char *bits, int nbytes) const
{
....
}
em cảm ơn nhiều ạ
Bài liên quan
const
ở cuối cùng nghĩa là phương thứcpack_rev
của lớppack_k_bits
sẽ ko làm thay đổi các thuộc tính của đối tượng gọi phương thức này. Hay nói cách khác nếu ko cóconst
này thìthank @tntxtnt , nhưng nếu mình không viết const ở cuối nhưng mình vẫn gọi hàm đó ra
liệu kết qủa có khác gì không ạ
trong hàm mà có const ở cuối như thế thì vẫn dùng được các câu lệnh điều kiện if else không anh nhỉ
được, miễn đừng gán phần tử của class là được.
vd
có thể hiểu là con trỏ
this
bình thường nếu ko cóconst
ở cuối phương thức thì có kiểu làT *
(thực ra làT * const
thì đúng hơn, là con trỏ cố định ko thay đổi địa chỉ nó trỏ tới được), còn cóconst
ở cuối thì có kiểu làconst T *
phương thức nào cũng để const ở cuối hết đi, gặp lỗi thì bỏ nó ra, vậy đi cho đơn giản
.
.
.
.
vầy thì không để có hơn không ạ
e nghe a nói thì có thể hiểu là : các phương thức trong hàm
abc()
thì đều là không đổi, nên nếu bên ngoài hàm mình lại thay đổi các gía trị của các biến trong hàm này thì sẽ bị lỗi.