Prettiest way to typeset "C++" (cplusplus)?
By general request (or something of the like at least), I made it an answer.
The C++ FAQ mentions this specific problem: https://isocpp.org/wiki/faq/misc-environmental-issues#latex-macros. The two things they wish to provide are a better typesetting and prevention of line breaks, two possibilities are given:
\newcommand{\CC}{C\nolinebreak\hspace{-.05em}\raisebox{.4ex}{\tiny\bf +}\nolinebreak\hspace{-.10em}\raisebox{.4ex}{\tiny\bf +}}
\def\CC{{C\nolinebreak[4]\hspace{-.05em}\raisebox{.4ex}{\tiny\bf ++}}}
The first one prevents a linebreak, raises the ++'s a little and puts them closer together.
The second only prevents a linebreak and raises the ++ a bit.
Both options put the ++'s in bold and typeset them a little smaller. Two more are given in the link, but I fail to see why they matter, line break prevention seems the must have for such a macro.
Edit: In case you want to use relative sizes you can use the relsize
package, the code becomes
\newcommand\CC{C\nolinebreak\hspace{-.05em}\raisebox{.4ex}{\relsize{-3}{\textbf{+}}}\nolinebreak\hspace{-.10em}\raisebox{.4ex}{\relsize{-3}{\textbf{+}}}}
\newcommand\CC{C\nolinebreak[4]\hspace{-.05em}\raisebox{.4ex}{\relsize{-3}{\textbf{++}}}}
I don't have a favourite though, never needed to typeset C++ :). After experimenting a little, the second one is definitely my favourite, the version with kerning looks too much like the Haskell operator.
Personally, I like the look of C\texttt{++}
the best. It's also very simple!
Here's how C++ is typeset in the C++ standard:
\newcommand{\Rplus}{\protect\hspace{-.1em}\protect\raisebox{.35ex}{\smaller{\smaller\textbf{+}}}}
\newcommand{\Cpp}{\mbox{C\Rplus\Rplus}\xspace}
That looks like this: