Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Headers module #74
base: master
Are you sure you want to change the base?
Headers module #74
Changes from 6 commits
4101af5
370dedd
b7d8028
7fa5628
5aff11c
5082bea
bf04222
32c65e5
2c6fc80
9b783d3
File filter
Filter by extension
Conversations
Jump to
There are no files selected for viewing
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That is a nice example but that does not relates to headers. I think it relates to templates and I am not sure if we should mention it there.
Thoughts?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
From what I see, this relates directly to headers. The reasoning this point tries to get across is the fact that
using namespace x
, in a header introduces all names withinx
into all files that include the specific header (even transitively). This not only makes it likely to have name clashes but also increases the chance that, for example, some usages of functions with the same name as is present inx
, select a different (better fitting) overload, which can introduce subtle errors.I assume, @rwdougla wanted to have this point covered when talking about headers, so that students are aware and do not misuse
using namespace x
.Maybe we should highlight the reasoning here so it's clearer.