You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I appreciate in a 2-file project it's probably not so much an issue but you really shouldn't be putting using namespace std in a header file as this forcibly includes the whole std namespace for any implementation code that wishes to use the bloom.hpp header.
Avoiding placing using namespace std (or indeed any using namespace X) in a header is mentioned in so many places I forget where - maybe Exceptional C++ - / Sutter would be one, Scott Meyers' Effective STL almost certainly another (Bjarne Stroustrup C++ Prog Lang another?) - but one ref I did just find an old classic from Sutter's GOTW: http://gotw.ca/gotw/053.htm see Section 2, Guideline #1:
Using directives should be avoided entirely, especially in header files
Sutter also makes the distinction here - as I did above - in a footnote that this guideline is valid for shared header files (i.e. used by more than one cpp) : http://gotw.ca/gotw/053.htm#1 so you could argue "no change here" since only one cpp, but then you could also argue that it is simply poor style - which I why I label this as an enhancement
BTW: nothing against using namespace std in your cpp, should you wish to do so - so this is probably a one-line change: remove using namespace std from the header and add it to the cpp. Depending on where you place the using in your cpp, you may need to fully qualify any STL types in the header file.
I can fork this repo and supply a PR with change if you accept this as an (enhancement) issue.
The text was updated successfully, but these errors were encountered:
Enhancement:
I appreciate in a 2-file project it's probably not so much an issue but you really shouldn't be putting
using namespace std
in a header file as this forcibly includes the wholestd
namespace for any implementation code that wishes to use thebloom.hpp
header.Avoiding placing
using namespace std
(or indeed anyusing namespace X
) in a header is mentioned in so many places I forget where - maybe Exceptional C++ - / Sutter would be one, Scott Meyers' Effective STL almost certainly another (Bjarne Stroustrup C++ Prog Lang another?) - but one ref I did just find an old classic from Sutter's GOTW: http://gotw.ca/gotw/053.htm see Section 2, Guideline #1:Sutter also makes the distinction here - as I did above - in a footnote that this guideline is valid for shared header files (i.e. used by more than one cpp) : http://gotw.ca/gotw/053.htm#1 so you could argue "no change here" since only one cpp, but then you could also argue that it is simply poor style - which I why I label this as an enhancement
BTW: nothing against
using namespace std
in your cpp, should you wish to do so - so this is probably a one-line change: remove using namespace std from the header and add it to the cpp. Depending on where you place theusing
in your cpp, you may need to fully qualify any STL types in the header file.I can fork this repo and supply a PR with change if you accept this as an (enhancement) issue.
The text was updated successfully, but these errors were encountered: