Typing Hero App typingheroapp.com
Typing in C/C++ — Pointer, Bracket and Macro Speed

Typing in C/C++ — Pointer, Bracket and Macro Speed

· 2 min read · by Robin Érsek-Obádovics

C and C++ are symbol-dense languages. Pointers (*, &, ->), template syntax (<T>), preprocessor macros (#define, #include), and operator overloads. Touch typing C/C++ at speed requires symbol mastery beyond most languages.

C/C++ specific characters

  • ***** pointers (dereference, declaration)
  • & address-of, reference declaration
  • -> pointer member access
  • :: scope resolution (std::cout)
  • <> templates, includes
  • # preprocessor directives
  • {} scope blocks
  • ; statement terminator (mandatory)
  • **/* */ //** comments

The character density is highest of any common language.

Most-typed C/C++ patterns

Include directives

#include <iostream>
#include <vector>
#include "myheader.h"

#include <> or #include "" repeated heavily.

Pointer operations

int *ptr = &variable;
*ptr = 10;
obj->method();

*, &, -> ubiquitous. Drill.

Template syntax (C++)

std::vector<int> nums;
std::map<std::string, int> dict;
template<typename T> T add(T a, T b) { return a + b; }

<T> everywhere, drill.

Class definitions (C++)

class MyClass {
public:
    MyClass(int x) : value(x) {}
private:
    int value;
};

Curly + colon + semicolon density.

Function definitions

ReturnType functionName(arg1Type arg1, arg2Type arg2) {
    // body
    return value;
}

Memory management (C)

ptr = malloc(sizeof(int) * 10);
free(ptr);

Or C++ smart pointers:

auto ptr = std::make_unique<MyClass>(args);

Speed tools for C/C++

  • clang-format — auto-format
  • clang-tidy — lints
  • VS Code + C++ extension — IntelliSense
  • CLion (JetBrains) — best C++ IDE
  • CMake for build system
  • Snippet packs essential

Snippets to set up

  • inc#include <>
  • mnint main() { return 0; }
  • fncReturnType funcName() { }
  • clsclass Name { public: private: };
  • forfor (int i = 0; i < n; i++) { }

Realistic C/C++ typing speeds

  • 40 WPM: workable (C++ is slow to type anyway)
  • 60-80 WPM: standard C/C++ developer
  • 100+ WPM: senior C/C++ devs

C++ is a "type slowly, think carefully" language. Speed less critical than correctness.

Pointer typing tips

The *, &, -> triplet is unique to C-family:

  • **Star *** — drill in identifier position (int ptr, ptr = 10)
  • Ampersand & — both address-of and reference
  • Arrow -> — minus + greater than (2 chars). Practice as one motion.

Frequently Asked Questions

Is C++ slower to type than C?

Yes — templates and longer std::namespace prefixes add characters.

Should I use auto everywhere?

Modern C++ yes, where it doesn't hurt readability. Saves typing significantly.

Best C++ IDE?

CLion (paid, JetBrains) or VS Code + C++ extension (free, excellent).

Will I plateau in typing speed?

Most C++ devs plateau at 70-80 WPM. Beyond is rare.

Snippets really worth it?

For C++: ABSOLUTELY. Templates and boilerplate make snippets multiply your speed.

Best layout for C++?

QWERTY. Programmer Dvorak helps with <> and [] somewhat. Not worth switch usually.

Build C/C++ typing flow

Typing Hero App — free, no signup. Get to 70 WPM baseline, then drill C++-specific symbols.

For more: How to type code faster, Touch typing for programmers, How to master programming symbols.