Hey everyone! I'm currently a second-year student in a non-CS branch, working on my data structures and algorithms in C++. I've been using AI tools like Copilot, not just for autocompletion but for hints and alternative ways to approach coding challenges. While I'm still learning and refining my code, Copilot suggested that I shouldn't use '#include' and instead learn the specific libraries for the functions I need. This seems like a hassle to me since it slows down my process and distracts me from focusing on algorithms. Is there any truth to this advice? Should I really avoid it for interviews or production code?
2 Answers
Using '#include' definitely simplifies things since it pulls in all the headers you might need. But here’s the catch—it’s not part of the official C++ standard, so it can lead to compatibility issues across different compilers. Plus, it can slow down compilation for larger projects, which isn’t ideal. It's more common in competitive programming for its convenience, but relying on it isn’t a great long-term habit.
Copilot's advice is spot on! If you're writing code for interviews and you throw in '#include', it might give the wrong impression. Interviewers could see it as a lack of understanding of the standard library, and if combined with 'using namespace std;', it can cause naming conflicts. This could make you look lazy, which is definitely not the impression you want to leave!

I get it now, thanks for clarifying about the library!