Hỏi về scanf và using namespace std trong C++

Mình có biết sơ sơ C, trong đó có hàm Scanf, nay mình qua C++ Basic, không biết vẫn dùng Scanf hay sao nhỉ.
Cho mình hỏi thêm ý nghĩa của using namespace std là gì nhỉ ( Mình đang đọc sách Anh ngữ nên không hiểu).Peace

Nếu bạn không định học lập trình nhúng thì bỏ luôn C đi :))
nếu không sử dụng using, thì bạn phải thông báo namespace mỗi khi gọi hàm hoặc biến thuộc namespace đó, ví dụ:

std::cout >> "Ahjhj do ngok" >> std::endl;
1 Like

cout <<"asd"; cin>>asd; Anh viết nhầm hay gì đó!

1 Like

Trong C++ dùng std::cin
Nếu viết code để học thì dùng using, còn chương trình (lớn) thì hạn chế, trừ khi bạn biết rõ bạn đang làm gì và quản lí được nó

1 Like

Ví dụ như thế này nhé. Bạn có một nùi dao: Dao thái lan, cắt thịt, dao bào, dao rựa với các chức năng chăt, gọt, cứa. Và bạn có nhiệm vụ đi chặt cây. Và khi ra tới nơi, bạn được kêu “Chặt”. Bây giờ bạn sẽ bối rối rằng không biết lấy con dao nào. Vì con dao nào cũng có chức năng chặt. Chắc chắn bạn sẽ chọn bừa, nhưng máy tính thì không. Thế nên muốn bạn biết con dào nào mà chặt, người ta phải hô “Dao rựa, chặt”. Thì bạn mới biết là dùng dao rựa. Tương tự như việc

std::cout
hoặc std::endl

Thế nhưng, nó hơi gây rườm rà. khi cứ phải lặp lại dao rựa mỗi lần kêu bạn chặt cây. Thế rồi họ nhắc nhở bạn như sau. Hãy sử dụng dao rựa. Do đó lần sau họ chỉ cần kêu chặt. Bạn được biết là dùng dao rựa và cứ thể bổ.

using namespace std;
cout

Nhưng, đôi lúc nó hơi bóp

Mình nghĩ cái này là do bị trùng lặp. Ví dụ, khi chặt cây xong, bạn vô gọt xoài tráng miệng. Người ta nói bạn “Gọt” và theo trước kia bạn được chỉ bào là dùng dao rựa. Thế là bạn dùng rựa để gọt xoài. Úi dời ơi. Nát bấy.

3 Likes

À à viết nhầm. Tại toàn làm trên VS, có gì nó báo nên chả bao giờ nhớ =]]

1 Like

Cái này 1 phần là do STL rộng, còn cái cin/cout/endl này nọ chỉ dùng cho các chương trình console là chủ yếu, nếu viết app nhỏ thì dùng

using namespace std;

không sao

Còn app lớn rồi, những nơi dùng using nào thì khai báo cụ thể, tránh để người đi maintain bị nhầm lẫn:

using std::cout;
using std::string;
...

Mà viết riết rồi cũng chẳng quan tâm tới using nữa.

1 Like

Hàm scanf trong C, còn trong C++ đây là gì anh ? Cảm ơn anh

<<>> là các toán tử
Nên em đoán istream là một lớp, cin là một đối tượng static.
Khi xây dựng istream thì người ta định nghĩa toán tử >> với cin là dùng để ghi

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