1936年の短編映画『ミッキーのライバル大騒動』 (Mickey's Rival) では、ミニーの愛を巡るミッキーの競争相手として登場する。ミニーマウスとは幼なじみであり、スポーツカーを乗り回して気取っているがドジなところがあるキャラクターとして描かれている。このモーティマーは後の漫画やアニメシリーズ『Mickey Mouse Works』、『ハウス・オブ・マウス』にも登場した。『ハウス・オブ・マウス』は彼が準レギュラーのような形で出演したシリーズである。口癖は"Ha-cha-cha!"でミッキー達が彼を話題にするときに口に出すなどかなり浸透している。設定は上記の短編アニメの設定を派生させたものでミニーを始めとする女性キャラに過剰なアプローチをかけクラブを追い出されることが多い。またクラブ内で流されるアニメーションでもミニーのデートの相手役やクリスマスの飾り付けなど様々な場面でミッキーと競い合うも前者は激戦の末ミニーのデートの相手役を勝ち取るも前述の過剰なアプローチが仇となってミッキーに逆転されたり、後者においてはプルートに勝利を奪われてしまった。ミニーへの過剰なアプローチが原因で警察からも目をつけられており、職務質問を受けたり連行されたこともあった。ミッキーがミニーに送る予定のファックスを誤って受け取った際には好意的に接してきたこともあった。
C++03のテンプレート（クラステンプレート・関数テンプレート）は、あらかじめ決められた個数の引数しか取れない。C++11では、テンプレート定義の際にあらゆる型の引数を任意個数取れる可変長引数テンプレート (variadic template) をサポートする:template<typename... Types> class tuple;このtupleクラステンプレートは、テンプレート引数としていくらでも型名を取れる:tuple<std::vector<int>, std::map<std::string, std::vector<int>>> someTuple; // tuple インスタンス。tuple<> emptyTuple; // 引数の数が0の場合。上記のクラステンプレートはstd::tupleとして標準化されている。可変長テンプレート引数の個数に0を認めない場合は、以下のように定義すればよい:template<typename First, typename... Rest>class tuple;可変長テンプレート引数を取る関数も定義でき、Cの可変長引数機構に似ているが、型安全な仕組みがもたらされる。template<typename... Params>void printf(const std::string& strFormat, Params... parameters);テンプレート定義時にはParamsの左側に...演算子を配置するが、関数シグネチャ中ではParamsの右側に使うことを注意する必要がある。テンプレート引数仕様のように、...演算子を型名の左側におく場合、これは"pack"演算子となる。この演算子は、型が0個以上となり得ることを示す。...演算子が型名の右側にある場合は、"unpack"演算子であり、pack演算子でまとめられた型のそれぞれに対して、複製の処理が行われるようになる。上の例では、printf関数の引数にはParamsにそれぞれの型がまとめられて渡される。可変長テンプレート引数自体は関数・クラスの実装に使えるものではないため、可変長引数テンプレートの使用は再帰的に行われる。例えば、典型的な例として、C++11におけるprintfの代替の定義例を以下に挙げてみよう: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");}これは再帰呼び出しを使っている。可変長テンプレート引数バージョンのprintfは自身を再帰的に呼び出し、argsが空の場合はシンプルな方のprintfが呼ばれることになる。可変長テンプレート引数に順次アクセスする簡単な方法は無い。しかし、unpack演算子を用いることで、どこでも仮想的にテンプレート引数を解体できる。例えば、クラスを以下のように使用できる:template <typename... BaseClasses>class ClassName : public BaseClasses... {public:   ClassName (BaseClasses&&... baseClasses) : BaseClasses(static_cast<BaseClasses&&>(baseClasses))... {}}unpack演算子により、ClassNameの各基底クラス型が複製され、このクラスは渡された各型の導出クラスとなる。また、ClassNameの基底型を初期化できるように、コンストラクタは各基底クラスへの参照を取る。関数テンプレートでは、取った可変長引数を先へと転送できる。右辺値参照と組み合わせることで、完璧な転送が行える。template<typename TypeToConstruct>struct SharedPtrAllocator {  template<typename ...Args> tr1::shared_ptr<TypeToConstruct> ConstructWithSharedPtr(Args&&... params)  {    return tr1::shared_ptr<TypeToConstruct>(new TypeToConstruct(static_cast<Args&&>(params)...));  }}この特殊なファクトリ関数は、メモリリークに対する安全性のため、割り当てられたメモリをtr1::shared_ptrに自動的に包むものである。上記のように、引数リストを解体してTypeToConstructのコンストラクタへと渡している。static_cast<Args&&>(params)構文で、const性などを保ちつつ、引数の適切な型をコンストラクタへと転送できる。unpack演算子により、それぞれのパラメータに上記の伝播文法を適用できる。また、テンプレートパラメータの数を以下のように決定できる:template<typename ...Args> struct SomeStruct {  static const int size = sizeof...(Args);}SomeStruct<Type1, Type2>::sizeは2となり、SomeStruct<>::sizeは0となるであろう。