mình có nghe một pro nói là ko được dùng lẫn lộn, mà mình dùng thấy bình thường mà nhỉ? Hay là nó có những hạn chết về thời gian nhập xuất ??
vd
char x;
scanf("%c", &x);
cout<<x<<"\n";
mình có nghe một pro nói là ko được dùng lẫn lộn, mà mình dùng thấy bình thường mà nhỉ? Hay là nó có những hạn chết về thời gian nhập xuất ??
vd
char x;
scanf("%c", &x);
cout<<x<<"\n";
Code trông rất hổ lốn, lẫn lộn cú pháp của C và C++.
Nếu bạn đang thi competitive programming thì nên chỉ dùng hoặc printf scanf, hoặc cin cout thôi. Thời gian code chạy khi dùng lẫn lộn không tối ưu dược bao nhiêu. Lý do khác là như trên.
Nếu bạn không thi thì càng không nên sử dụng như vậy, lý do chính như trên.
Vì mặc định IO stream của C và C++ xài chung buffer (stdout
). Thử tắt sychronization đi là nó xài buffer riêng, thằng này đạp lên thằng kia liền
https://en.cppreference.com/w/cpp/io/ios_base/sync_with_stdio
Code C++, nói chung C compiler không xử lý được => Code của bạn chỉ có C++ compiler là dịch được
1.1. Dẫn đến việc có code C trong dự án làm cho mọi thứ trông thật là hổ lốn, khó bảo trì, code chung nhiều người thì chỉ muốn khóc. Người dùng C++ hầu hết quen với cin, cout, nhìn thấy scanf, printf với cái đống cú pháp formatter là đau đầu khó chịu
1.2. “Thử tắt sychronization đi là nó xài buffer riêng, thằng này đạp lên thằng kia liền”: các lý do kỹ thuật, ví dụ như bạn @anon5203072 đã nói cũng rất đáng lưu tâm.
Một số code C, C++ compiler có thể không dịch được vì 2 thằng phát triển theo các tiêu chuẩn khác nhau. Để tránh việc này thì C++ nên xài những gì thuộc về C++