01/10/2018, 01:13

Cho hỏi về C++?

Mọi người cho mình hỏi tại sao chỗ String (khoanh đỏ) phía trước lại có std:: , trong khi đó mấy cái kia cũng khai báo biến mà ko có std:: ?

rogp10 viết 03:19 ngày 01/10/2018

Tại vì nó thuộc về namespace std, hay là thư viện STL gồm <iostream>, <vector>, <string>, <map>, <chrono>

Trần Hoàn viết 03:23 ngày 01/10/2018

Nếu không có using namespace std ở đầu file cpp (thường khai báo sau khi #include) thì phải chỉ cho compiler là “string” là class thuộc namespace nào.
Còn int, char, float… là kiểu dữ liệu mặc định thì không cần khai báo.

viết 03:18 ngày 01/10/2018

thế mấy cái kia ko thuộc namespace std hả bạn ?

明玉 viết 03:14 ngày 01/10/2018

int, float… là kiểu cơ bản, không thuộc namespace nào hết.
string là class, nó được định nghĩa trong namespace là std.

Người bí ẩn viết 03:22 ngày 01/10/2018

Nếu mới học thì nên để using namespace std; ở dưới chỗ #include <...> cho quen, rồi từ từ sẽ tự hiểu namespace là gì, vì sao phải để std:: trước string, vector, fstream, …

rogp10 viết 03:28 ngày 01/10/2018

Mình thấy ko nên using hết cả 1 namespace, chủ yếu cần std::cin với std::cout với std::fstream thôi.

Người bí ẩn viết 03:27 ngày 01/10/2018

Mình thấy ko nên using hết cả 1 namespace, chủ yếu cần std::cin với std::cout với std::fstream thôi.

Mình nói lúc mới học mà, còn làm project này nọ thì không nên dùng vì khả năng trùng hàm.
Còn bình thường thì có thể dùng, vì nhiều trường hợp rất phiền phức nếu trong code sử dụng nhiều containers và các hàm trong thư viện algorithm.

Tran Thien Phuc viết 03:13 ngày 01/10/2018

Bạn có thể xem thêm về namespace tại đây: http://vietjack.com/cplusplus/namespace_trong_cplusplus.jsp

Thành Nguyễn viết 03:17 ngày 01/10/2018

Nó thuộc vè namespace std
Và thêm std như vậy sẽ giúp chương trình chạy nhanh hơn !
Thân !

明玉 viết 03:17 ngày 01/10/2018

Chạy nhanh hơn thật à, hay chỉ compile nhanh hơn, bạn giải thích với

Bài liên quan
0