Mọi người cho em hỏi câu này nghĩa là gì với ạ
isSubstring = (string1.find(string2)!=string::npos)?true:false;
Mọi người cho em hỏi câu này nghĩa là gì với ạ
isSubstring = (string1.find(string2)!=string::npos)?true:false;
Kiểm tra xem string2
có phải là con của string1
không
nhưng mà cái !=string::npos có nghĩa là gì ạ?
string::npos
là giá trị đặc biệt, ở đây có nghĩa là “không tìm thấy”
vậy thì câu này có nghĩa là kiểm tra xem string2 có phải là con của string1 không và nếu nó khác cái giá trị đặc biệt đấy thì đưa ra true, còn không là false phải không?
Tìm vị trí của chuỗi 2 trong chuỗi 1 nếu ko bằng giá trị string::npos thì hàm isSubstring là đúng còn nếu bằng string::npos thì là sai.
Còn giá trị của npos là 1 giá trị tượng trưng ko tồn tại, có thể lấy giá trị (<0) cũng đc (vì ví trí của chuỗi được đánh số từ 0).
string::npos
(No position) có giá trị chính xác là -1
. Nhưng kiểu size_t
lại là kiểu không dấu nên nó có nghĩa là giá trị lớn nhất của kiểu này.
Phương thức string::find()
trả về string::npos
khi không tìm được vị trí của chuỗi con.