知識、感動をみんなと同期(Sync)するブログ

Highlight.jsの言語別のハイライトデモ

Highlight.jsで、言語別にどのようなシンタックスハイライトになるのかのデモンストレーションです。

ハイライト

C++のコードをハイライトしたデモです。コードはこちらのウェブページのものを利用させていただきました。

void printf(const char *s)
{
  while (*s)
  {
    if (*s == '%' && *(++s) != '%')
      throw std::runtime_error("invalid format string: missing arguments");
    std::cout << *s++;
  }
}

template<typename T, typename... Args>
void printf(const char *s, T value, Args... args)
{
  while (*s) {
    if (*s == '%' && *(++s) != '%') {
      std::cout << value;
      printf(*s ? ++s : s, args...); // さらなる引数を見つけるため、*s == '\0' でも呼び出す
      return;
    }
    std::cout << *s++;
  }
  throw std::runtime_error("extra arguments provided to printf");
}