01/10/2018, 11:30

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

Trần Hoàn viết 13:38 ngày 01/10/2018

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;
nghia viết 13:44 ngày 01/10/2018

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

Dark.Hades viết 13:36 ngày 01/10/2018

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ó

Henry viết 13:38 ngày 01/10/2018

Cho mình hỏi thêm ý nghĩa của using namespace std là gì nhỉ

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[quote=“Dark.Hades, post:4, topic:54193”]
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ó
[/quote]

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.

Trần Hoàn viết 13:36 ngày 01/10/2018

Anh viết nhầm hay gì đó!

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

Dark.Hades viết 13:32 ngày 01/10/2018

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.

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.

Nguyễn Văn Derik viết 13:43 ngày 01/10/2018

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

Trần Hoàn viết 13:41 ngày 01/10/2018

<<>> 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

Bài liên quan
0