This came up in a discussion on a C++ question on SO.
Currently, We have two different tags and . AFAIK the C++11 tag was in place before C++11 became officially ratified C++ standard by the ISO committee to ask questions specific to the standard in making. This was because it was a standard in making and didn't qualify as real C++. In present day the situation has changed, C++11 standard is the officially ratified standard and the presence of two tags poses ambiguity about how to answer questions since a lot has changed between the previous C++03 Standard and C++11 standard. Answers to questions may vary depending drastically on whether the OP is using a C++03 compliant compiler or an C++11 compliant compiler.
Given the ambiguity, either:

  • The entire should be done away with and there should be a single or
  • There should be two separate tags and or
  • There should be specific rules and guidelines agreed upon and posted about how to answer questions tagged with and

3 Answers 3


I disagree. The generic tag for C++ is . No ambiguity whatsoever, and no change either.

The tag is used for questions which pertain specifically to C++11, i.e. for changes in the language or library since C++03. This is true now as it was before.

The only “change” is that since C++11 is now officially ratified and widely implemented, answes to questions tagged as are now allowed to use C++11 features without necessarily having to mention this explicitly (unless the OP states in the question that they are restricted to legacy compilers, of course).

tl;dr: I don’t see a need to change the current use of the tags.

  • This is merely your interpretation or posted mandated guideline? Why not have a separate C++03 tag in that case.
    – Alok Save
    Feb 9, 2013 at 16:33
  • Unlike many other communities, the C++ one is relatively tightnit- it's no coincidence that you have three answers, all of which say the same thing.
    – DeadMG
    Feb 9, 2013 at 16:34
  • @DeadMG: If you read carefully the three answers are not saying the same thing, atleast one of them says different.
    – Alok Save
    Feb 9, 2013 at 16:35
  • 1
    @Alok It’s certainly the prevailing interpretation – so far I haven’t seen anybody contest it. Also, what DeadMG said. And yes, all three answers essentially do say the same thing. Feb 9, 2013 at 16:36
  • Well with the whole volume of C++ questions coming in everyday we shouldn't be really relying on interpretations. Standardization is the key. And it should be made clear as to what goes where without any doubt or ambiguity or room for interpretation. I am actually surprised this hasn't been taken up in the community yet though every other question on C++ has to deal with this.
    – Alok Save
    Feb 9, 2013 at 16:39
  • @Alok You are assuming that somebody would actually read those guidelines. That won’t happen. Furthermore, the status quo simply works. I see no reason to suddenly go and change it. Feb 9, 2013 at 16:41
  • @KonradRudolph: How is someone not reading guidelines a good enough reasoning for the guidelines to not exist? What works may not always be the best way for things to work and hence the question.
    – Alok Save
    Feb 9, 2013 at 16:46
  • @AlokSave: There is a separate C++03 tag. Nobody uses it, but it's there. Feb 9, 2013 at 16:52
  • @BenjaminLindley: I was not aware of it. And as long as the rules are laid out I am fine with it but the point of asking this question is, there should be rules because if they exist atleast I am not aware of them.
    – Alok Save
    Feb 9, 2013 at 16:55
  • The first time you violate them, you'll be informed about them, and asked to just edit your post. There's no need to get a giant stamp ans say "THESE ARE THE RULES". It works well enough right now.
    – DeadMG
    Feb 10, 2013 at 13:34


Questions tagged C++11 specifically or mostly refer to changes introduces in C++11.

Questions tagged C++ refer to the latest version of C++ in general.

It is up to the questioner to clearly indicate that they are using a past version of the Standard or any other specific limitations. There is no ambiguity here.


3rd point is the only appropriate solution.

  • Tag when any C++ version is appropriate; this involves using C++11, and the code should be treated as C++11 by default
  • Tag in something specific to C++11
  • Tag in something specific to C++03

Please also note that if the OP asks specifically for a C++03 solution, but the question is general, you can (and should!) also post C++11 solution, if it improves the answer significantly; it will benefit much more people than OP solely.

  • 1
    I agree with this but have a further point about c++: it should be considered default to provide the answer in terms of the C++11 specification and, if there is a big difference between the C++03 and C++11 answers, a C++03 answer may be given in addition. It is, however, not wrong to give a C++03 answer to a c++ question. Feb 9, 2013 at 16:37
  • That's absolutely right. Feb 9, 2013 at 16:38

Not the answer you're looking for? Browse other questions tagged .