On Monday, 24 April 2017 at 15:22:15 UTC, Ola Fosheim Grøstad wrote:
On Monday, 24 April 2017 at 15:03:53 UTC, Mike Parker wrote:
DIP 1007 is titled "'future symbol' Compiler Concept".

«In all the mentioned languages but D, a common convention is to only use unqualified access for symbols in the standard library.»

Not quite right for C++. The common convention in modern C++ is to use full std::name qualification for the standard library. It is common to use unqualified access for the local namespace(s) only.

In headers. Not in source files, and I don't know why anyone would want to keep typing `std::` all the time. Do some people do what you're describing? Yes, but I see no evidence that that's the common convention in modern C++. In fact, from the core guidelines:

"
##### Example

    #include<string>
    #include<vector>
    #include<iostream>
    #include<memory>
    #include<algorithm>

    using namespace std;

    // ...

Here (obviously), the standard library is used pervasively and apparently no other library is used, so requiring `std::` everywhere could be distracting."

Never mind the monstrosity that would be trying to use the C++ user-defined literal without `using namespace std`:

#include <string>
using namespace std::operator""s;  // Argh! My eyes!

No thanks. I even had to look that up, and I'll probably forget it.

Reply via email to