50 câu hỏi 60 phút
It is possible to overload a function template and an ordinary (non-template) function
TRUE
FALSE
Câu trả lời đúng là TRUE. Trong C++, bạn hoàn toàn có thể nạp chồng (overload) một hàm template và một hàm thông thường (non-template) có cùng tên. Khi trình biên dịch gặp một lời gọi hàm, nó sẽ cố gắng tìm hàm phù hợp nhất. Quá trình này bao gồm xem xét cả các hàm thông thường và các hàm template (sau khi đã được khởi tạo với các tham số template thích hợp). Hàm thông thường có thể được ưu tiên hơn nếu nó là một kết quả khớp chính xác (exact match) hơn so với việc khởi tạo một hàm template.
50 câu hỏi 60 phút
45 câu hỏi 60 phút
50 câu hỏi 60 phút
22 câu hỏi 60 phút
50 câu hỏi 60 phút
50 câu hỏi 60 phút
50 câu hỏi 60 phút
50 câu hỏi 60 phút
50 câu hỏi 60 phút
50 câu hỏi 60 phút
Câu trả lời đúng là TRUE. Trong C++, bạn hoàn toàn có thể nạp chồng (overload) một hàm template và một hàm thông thường (non-template) có cùng tên. Khi trình biên dịch gặp một lời gọi hàm, nó sẽ cố gắng tìm hàm phù hợp nhất. Quá trình này bao gồm xem xét cả các hàm thông thường và các hàm template (sau khi đã được khởi tạo với các tham số template thích hợp). Hàm thông thường có thể được ưu tiên hơn nếu nó là một kết quả khớp chính xác (exact match) hơn so với việc khởi tạo một hàm template.
Câu trả lời là SAI. Khi khai báo một iterator từ STL, bạn cần chỉ định rõ loại iterator nào (ví dụ: vector<int>::iterator, list<string>::const_iterator). Trình biên dịch không tự động suy ra loại iterator dựa trên container. Việc chỉ định tường minh loại iterator giúp trình biên dịch kiểm tra kiểu và đảm bảo tính an toàn của code.