Khai báo thư viện của C và C++ xen lẫn có sao không?

Chào mọi người. Em đang học C++ và trước đây đã học ngôn ngữ C rồi. Do hồi trước quen nên cứ bắt đầu là em viết luôn

#include<stdio.h>

Bây giờ, em mới để ý có 1 số bài em include cả 2 thư viện và dùng xen lẫn các hàm của cả 2 thư viện này. Kết quả vẫn đúng :frowning:

#include<stdio.h>
#include<iostream>

Em thấy có vẻ không đúng và không chuyên nghiệp. Mọi người cho e hỏi làm như vậy có sao không? Vì em chưa thấy lỗi gì cả

2 Likes

Cụ thể là hàm nào vậy bạn ?

1 Like

stdio.h là thư viện của C
iostream là thư viện của C++

Không sao, nhưng không nên vì chả chuyên nghiệp gì cả :smile:

4 Likes

_ Làm như vậy không sao cả

_

  • stdio.h là thư viện của C. Chủ yếu để dùng hàm scanf và printf, tốc độ biên dịch nhanh. Nhưng khi nhập liệu thì phải định rõ kiểu dữ liệu ở đối số của hàm
  • iostream là thư viện của C++. Chủ yếu để dùng 2 object cin và cout, khi dùng 2 thằng này thì tốc độ biên dịch chậm hơn nhiều so với stdio.h vì nó được dùng qua stream. Khi nhập liệu thì ko cần định rõ kiểu dữ liệu

_ Theo mình nghĩ import như vậy ko có vấn đề gì cả, thấy chỗ nào thích hợp để dùng thì dùng thôi

1 Like

Mọi người nói đúng đó, cả 2 thư viện chỉ khác nhau ở printf(cin) và scanf(cout), còn lại mình thấy cũng giống nhau hết. Trước khi mới chuyển từ c->c++ mình cũng toàn gõ thư viện stdio.h sau đó thêm vào iostream rồi để nguyên studio.h như vậy cũng không sao.

Hình như trong C dùng

#include<cstdio>

cstdio là thư viện của C++ để gọi các hàm thuộc về C. @14520054 để ý mình sẽ thấy chữ c ở phía trước stdio. Có nghĩa đây là thư viện của C++ nhưng mà phục vụ cho việc gọi hàm của C. Các thư viện tương tự như

cstring để thay cho string.h trong C
cmath thay cho math.h
ctime thay cho time.h

3 Likes

Vậy là C++ khi gọi thư viện cstdio thay cho thư viên stdio.h sẽ loại bỏ file .h đi ??? Mấy thử viện khác cũng loại bỏ file .h.

1 Like

hay quá! bh e mới biết

2 posts were split to a new topic: #include <bits/stdc++.h> dùng để làm gì?

1 Like
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?