住所：〒530-8799 大阪府大阪市北区大淀中1-1-522008年（平成20年）5月7日、大阪市北区梅田の大阪中央郵便局の局舎から、1994年（平成6年）8月1日に廃止された旧大阪小包集中局の局舎へ移転した。
承和元年（834年）初めて父・仁明天皇に拝謁する。承和3年（836年）大和国山邊郡荒廃田10町、播磨国神埼郡荒廃田33町、美濃国席田郡空閑地70町を賜与される。承和10年（843年）元服して、承和11年（844年）四品に叙せられ、翌承和12年（845年）大宰帥に任ぜられる。嘉祥2年（849年）には中務卿を兼ねるが、翌嘉祥3年（850年）仁明天皇の出家に伴い、弟の源多とともに出家。最終官位は四品中務卿。清和朝の貞観10年（868年）6月11日薨去。享年41。
カルタゴ軍の丘の上の防御陣地自体は強固であったが、その自然条件（峡谷やごつごつした岩）のために、カルタゴ軍の騎兵と戦象の優位性は制限されることとなった。結果として、ローマ軍の重装歩兵は閉じ込められた敵軍を打ち破ることができた。
この敗戦にカルタゴは動揺した。ヌミディアは反乱し、郊外からの難民で市内はあふれかえった。人口の急増のために食料が不足し、疾病の蔓延の可能性もあった。このような危機的状況にも関わらず、実際には援軍を待たずにレグルスの2個軍団だけでカルタゴを陥落させることはほとんど不可能だった。さらに悪いことに、レグルスの執政官の任期切れが迫っており、凱旋将軍となることはできそうにもなかった。このため、講和交渉が開始されたが、レグルスが突きつけた条件はシシリア島、コルシカ、サルジニアの割譲、海軍の解体、賠償金の支払い、さらには従属的な条約の締結という厳しいものであった。カルタゴはこれを拒絶しチュニスの戦いが勃発する。ローマはこれに大敗し、アフリカから撤退することとなった。
カルタゴ軍に察知されないように、ローマ軍は暗闇にまぎれて丘の周囲に部隊を展開し、2方向から攻撃を開始した。カルタゴ軍はしばらくの間この攻撃に耐え、また片方のローマ軍団を押し返した。このため戦線に隙間ができ、カルタゴ騎兵と戦象は前線から脱出することができた。しかしながら、結局はカルタゴ軍は撃破され壊走した。ローマ軍はしばらくはこれを追尾し、続いてカルタゴ軍野営地の略奪を行った。その後カルタゴ軍の抵抗はなく、ローマ軍はカルタゴ目指して進軍し、チュニスで停止した。
紀元前256年、ローマの執政官ルキウス・マンリウス・ウルソ・ロングスおよびマルクス・アティリウス・レグルスが率いるローマ軍2個軍団が、カルタゴの本拠地であるアフリカに上陸した。ローマ軍はカルタゴの東40マイルにあるアスピスを攻め落とした（アスピスの戦い）。街の守りを固め、約20,000の奴隷と家畜を郊外から集積した後、ウルソは補給部隊も含む艦隊の大部分を率いてローマに戻るように命令を受けた。15,000の歩兵と500の騎兵はそのままアフリカに残った。その頃までに、カルタゴはシシリア島からハミルカル将軍率いる5,000の歩兵と500の騎兵を呼び戻し、ボスタル将軍とハスドルバル将軍の支援させた。カルタゴ軍は傭兵、アフリカ軽騎兵、民兵、騎兵および戦象部隊から構成されていた。この混成部隊はカルタゴ南東40マイルにあるアディスの守備につき、ローマ軍を迎え撃った。騎兵と戦象で優越していたにも関わらず、カルタゴ軍はアディス近郊の平野を見下ろす丘の上に布陣した。しかしながら、軍は訓練不足で、また命令系統が統一されておらず、戦力としては十分ではなかった。カルタゴの戦略は防御戦に徹してローマ軍によるこれ以上の破壊を食い止めることであった。
派生語として「假洋鬼子」（偽の毛唐の意味）があり、中国人と外国人の商取引を仲立ちをする中国人の仲買人（コンプラドール）に対する蔑称として用いられた。また魯迅は、著書で断髮して洋装に変わった中国人留学生に対して、西洋かぶれの意味で、假洋鬼子を用いている。
一般にSTLは柔軟で強力であると評価されているが、ライブラリを十分に生かしたプログラミングを行おうとすると、従来のC/C++プログラミングからは大きく離れた考え方や書法が必要になる。そのため、STLの使用経験を持たないプログラマには、一見して何をしているのか全くわからないソースコードになってしまうことがある。それは例えば以下のようなものである。size_t N = 0;int *pdata = NULL;GetData(&pdata, &N); // データとデータ数を得る typedef std::deque<int> Cont;Cont deq(pdata, pdata + N);FreeData(&pdata, &N); // データを解放// 典型的なSTLコードdeq.erase(        std::partition(                deq.begin(),                deq.end(),                std::bind1st(std::less<Cont::value_type>(), 20)        ),        deq.end());このコードは、何かのAPIから得られたデータの配列をdequeにコピーし、そのdequeの内容のうち20より大きい要素をコンテナの先頭に移動させた上で残りを削除している。これほど複雑な処理がこれだけのコード量で表現できるのは素晴らしいとも言えるが、一時的なtypedef・クラス内宣言型・入れ子のアルゴリズム・関数オブジェクト・関数アダプタなどを使用しており、STLの使い方を知らない場合には非常に理解が難しくなるのは事実である。ちなみに、こういった一時オブジェクトを使うために入れ子になった関数呼び出しは関数型プログラミング言語の書式に類似しており、実際に同じ考え方でできている側面がある。