Các vấn đề khác

Một phần của tài liệu Bài giảng lập trình hướng đối tượng và c++ (Trang 43 - 44)

7. Các kiểu dữ liệu người dùng định nghĩa

1.5 Các vấn đề khác

Hàm inline

Các hàm inline được xác định bằng từ khóa inline. Ví dụ: inline myFunction(int);

37

Khi chúng ta sử các hàm trong một chương trình C hoă ̣c C ++ thường thì phần thân hàm sau khi được biên di ̣ch sẽ là một tâ ̣p các lê ̣nh máy. Mỗi khi chương trình gọi tới hàm,

đoa ̣n mã của hàm sẽ được na ̣p vào stack để thực hiê ̣n sau đó trả về 1 giá trị nào đó nếu có và thân hàm được loại khỏi stack thực hiện của chương trình. Nếu hàm được gọi 10 lần sẽ có 10 lê ̣nh nhảy tương ứng với 10 lần na ̣p thân hàm để thực hiê ̣n. Với chỉ thi ̣ inline chúng ta muốn gợi ý cho trình biên di ̣ch là thay vì na ̣p thân hàm như bình thường hãy chèn đoa ̣n mã của hàm vào đúng chỗ mà nó được gọi tới trong chương trình . Điều này rõ ràng làm cho chương trình thực hiê ̣n nhanh hơn bình thường . Tuy nhiên inline chỉ là một gợi ý và không phải bao giờ cũng được thực hiê ̣n . Với các hà m phức ta ̣p (chẳng ha ̣n như có vòng lă ̣p) thì không nên dùng inline . Các hàm inline do đó thường rất gắn chẳng hạn như các hàm chỉ thực hiện một vài thao tác khởi tạo các biến (các hàm cấu tử của các lớp). Với các lớp khi khai báo các hàm inline chúng ta có thể không cần dùng từ khóa inline mà thực hiê ̣n cài đă ̣t ngay sau khi khai báo là đủ.

Hàm đệ qui

Đê ̣ qui là một cơ chế cho phép một hàm có thể gọi tới chính nó . Kỹ thuật đệ qui thường gắn với các vấn đề mang tính đê ̣ qui hoă ̣c được xác đi ̣nh đê ̣ qui . Để giải quyết các bài toán có các chu trình lồng nhau người ta thường dùng đệ qui . Ví dụ như bài toán tính giai thừa, bài toán sinh các hoán vị của n phầntử

Sƣ̉ dụng tƣ̀ khóa const

Đôi khi chúng ta muốn truyền một tham số theo đi ̣a chỉ nhưng không muốn thay đổi tham số đó, để tránh các lỗi có thể xảy ra chúng ta có thể sử dụng từ khóa const . Khi đó nếu trong thân hàm chúng ta vô ý thay đổi nội dung của biến trình biên di ̣ch sẽ báo lỗi .

Ngoài ra việc sử dụng từ khóa const còn mang nhiều ý nghĩa khác liên quan tới các phương thức của lớp (chúng ta sẽ học trong chương 5).

Một phần của tài liệu Bài giảng lập trình hướng đối tượng và c++ (Trang 43 - 44)

Tải bản đầy đủ (PDF)

(169 trang)