4.3.14 Kiểm soát nội dung của string

Chúng ta cũng có thể kiểm soát nội dung của chuỗi bằng nhiều cách. Các hàm chúng tôi sẽ giới thiệu cho bạn tại đây cũng có thể thay đổi sự cấp phát bộ nhớ – đây là một phản ứng phụ có thể xảy ra.

Trước hết, chúng ta có thể để trống chuỗi, hoàn toàn loại bỏ tất cả các ký tự hiện đang được lưu trữ bên trong nó. Điều này tương đương với việc chỉ định một chuỗi rỗng cho string, nhưng nó có thể nhanh hơn một chút.

Rỗng chuỗi được thực hiện bởi hàm thành viên chức gọi là clear, hàm này không có tham số.

Thay đổi kích thước của chuỗi được thực hiện bởi hàm thành viên có tên gọi là resize. Dạng cơ bản của nó cần một tham số kiểu int, xác định kích thước mong muốn mới của chuỗi. Nếu tham số nhỏ hơn kích thước chuỗi hiện tại, chuỗi sẽ bị cắt ngắn. Nếu tham số lớn hơn kích thước chuỗi, chuỗi sẽ được mở rộng. Bạn cũng có thể sử dụng một hàm nạp dạng chồng của hàm cho phép bạn chỉ định một ký tự được sử dụng để điền vào không gian mới được phân bổ (mặc định, ký tự null ‘\ 0’ được sử dụng cho mục đích đó).

Bạn cũng có thể kiểm tra xem một chuỗi cụ thể có trống không (tức là nó không chứa bất kỳ ký tự nào – việc này không liên quan gì đến kích thước thực của buffer được cấp). Bạn có thể đạt được hiệu quả tương tự bằng cách so sánh chuỗi với một chuỗi rỗng, nhưng hàm  thành viên sẽ hiệu quả hơn khi thực hiện tác vụ này. Tên của hàm đó là empty, nó không cần tham số và trả về một giá trị của kiểu bool.

Chương trình bên dưới là một ví dụ đơn giản chỉ ra cách bạn có thể sử dụng các hàm này →


Chúng ta đã quen với chuỗi như là một phần không thể chia cắt được, nhưng tất nhiên, nó không có nghĩa là chúng ta không thể truy cập vào từng ký tự một cách riêng biệt. string cung cấp một số hàm thành viên thuận tiện để làm điều này. Chúng tôi đã nói trước đây rằng các chuỗi không phải là mảng. Vâng, nó vẫn đúng, nhưng chúng có thể trình bày nội dung của chúng như thể nó là một mảng thực sự. Chúng ta có thể giả định rằng đó là một loại masquerade (mặt nạ) rất hữu ích – một string có thể đeo mặt nạ và hiển thị như một mảng bình thường. Nó cho phép chúng ta đọc và viết từng ký tự một cách riêng biệt.

Chương trình bên dưới sử dụng thuộc tính rất hữu ích này của string. Nó chuyển đổi mỗi ký tự của nó thành ký tự viết hoa. Chúng tôi xin lỗi vì thuật toán của nó quá đơn giản để có thể chạy ngon mọi lúc, mọi nơi. Bạn không nên sử dụng nó cho bất kỳ ứng dụng quan trọng nào. Điều đó chắc chắn sẽ là một ý tưởng tồi. Nó chỉ phù hợp để giải thích nó hoạt động như thế nào và điểm yếu của nó ra sao. Chúng tôi muốn bạn tự làm việc đó.