stanford-oval/wikipedia huggingface dataset:
三上博史
出演作品 > 映画

草迷宮（1979年・フランス公開／1983年11月12日・日本公開、東映） - 主演・明（少年時代） 役
太陽のきずあと（1981年2月14日公開、東映） - 小林勉 役
巣立ちのとき 教育は死なず（1981年11月14日公開、共同映画全国系列会議） - 吉野広 役
戦場のメリークリスマス（1983年5月28日日本公開、松竹）- 日本兵（俘虜収容所勤務） 役
海嶺（1983年12月3日公開、松竹）
瀬戸内少年野球団（1984年6月23日公開、日本ヘラルド）- 波多野啓介（武女の兄） 役
さらば箱舟（1984年9月8日公開、ATG） - 下男アダ 役
Mishima: A Life In Four Chapters（1985年10月4日公開、ワーナー・ブラザース・アメリカ） - 小賀正義 役
ビリィ★ザ★キッドの新しい夜明け（1986年8月1日公開、パルコ） - 主演・ビリィ・ザ・キッド 役
私をスキーに連れてって（1987年11月21日公開、ホイチョイ・プロダクションズ製作・東宝） - 主演・矢野文男 役
不可思議物語 FANTASTIC COLLECTION「猫はよく朝方に帰ってくる」（1988年2月27日公開、パル企画） - 探偵 役
パイレーツによろしく（1988年6月25日公開、キノシタ企画） - 早瀬明 役
TOKYO POP（1988年11月5日公開、松竹富士）
孔雀王（1988年12月10日公開、東宝） - 主演・孔雀 役
二十世紀少年読本（1989年11月23日公開、CBS・ソニー） - 主演・仁太 役
東京の休日（1991年11月2日公開、東北新社） - ドクター・ノグチ 役
遠き落日（1992年7月4日公開、松竹） - 主演・野口英世 役
病は気から 病院へ行こう2（1992年12月19日公開、東映） - 片倉保 役
屋根裏の散歩者（1994年3月26日公開、バンダイビジュアル） - 主演・郷田三郎 役
スワロウテイル（1996年9月14日公開、日本ヘラルド） - 主演・ヒオ・フェイホン 役
Yen Town Band/Swallowtail Butterfly あいのうた（1996年12月7日公開、日本ヘラルド映画＝エースピクチャーズ） - ヒオ・フェイホン 役 ※ビデオクリップの劇場公開版。上記併映。
宮澤賢治 その愛（1996年9月14日公開、松竹）- 主演・宮澤賢治 役
パラサイト・イヴ（1997年2月1日公開、東宝） - 主演・永島利明 役
月の砂漠（2003年9月6日公開、レントラックジャパン） - 主演・永井恭二 役
予言（2004年10月2日公開、東宝、Jホラーシアター） - 主演・里見英樹 役
へんりっく 寺山修司の弟（2009年10月10日公開、ワイズ出版） ※ドキュメンタリー映画
モリのいる場所（2018年5月19日公開、日活） - 知らない男 役
LOVEHOTELに於ける情事とPLANの涯て（2019年1月18日公開、HIGH BROW CINEMA） - 主演・間宮 役
出演作品 > オリジナルビデオ

若者気分の基礎知識（1985年6月1日発売、東芝映像ソフト） - 滝川和久 役
出演作品 > 舞台

楽屋（1984年3月19日〜22日、東京・シアター・モリエール）- 女優D 役
やさしい犬（1987年2月28日〜3月8日、東京・下北沢本多劇場、新宿・シアターアプル）
青ひげ公の城（2003年3月28日〜4月17日、東京・パルコ劇場）- 主演・青ひげ公の2番目の妻 役
ヘドウィグ・アンド・アングリーインチ（2004年5月14日〜6月6日、東京・パルコ劇場）（2004年6月8日〜9日、2004年6月20日、大阪・シアター・ドラマシティ）（2004年6月15日、仙台・電力ホール）（2004年6月17日、新潟・新潟市民会館・劇場）（2004年6月21日、名古屋・愛知厚生年金会館）（2004年6月23日〜24日、東京・東京厚生年金会館）- 主演・ヘドウィグ 役
ヘドウィグ・アンド・アングリーインチ（2005年6月16日〜26日、東京・パルコ劇場）（2005年7月11日〜16日、東京・Zepp Tokyo）（2005年7月1日〜2日Tokyo、福岡・Zepp Fukuoka）（2005年7月5日〜9日、大阪・シアター・ドラマシティ）
あわれ彼女は娼婦（2006年7月6日〜30日、東京・Bunkamuraシアターコクーン）（2006年8月5日〜13日、大阪・シアターBRAVA!）- 主演・ジョバンニ 役
三文オペラ（2009年4月5日〜29日、東京・Bunkamuraシアターコクーン）（2009年5月4日〜9日、大阪・厚生年金会館ウェルシティ大阪　芸術ホール）- 主演・メッキ・メッサー 役
新版　天守物語（2014年4月23日、大阪・フェスティバルホール）（2014年4月26日〜27日、東京・Bunkamuraオーチャードホール）- 泉鏡花 役
タンゴ・冬の終わりに（2015年9月5日〜9月27日、東京・パルコ劇場）（2015年10月3日〜10月4日、大阪・森ノ宮ピロティホール）（2015年10月9日、金沢・北國新聞　赤羽ホール）（2015年10月12日、福岡・キャナルシティ劇場）（2015年10月17日、愛知・東海市劇場）（2015年10月23日、新潟・りゅーとぴあ新潟市民芸術文化会館）（2015年10月25日、富山・富山県民会館）（2015年10月31日、宮城・えずこホール(仙南芸術文化センター)）- 主演・清村盛 役
寺山修司没後40年記念公演『三上博史 歌劇 ー私さえも、私自身がつくり出した一片の物語の主人公にすぎないー』（2024年1月9日〜14日、東京・紀伊國屋ホール  - 主演
PARCO PRODUCE 2024「HIROSHI MIKAMI / HEDWIG AND THE ANGRY INCH【LIVE】」（2024年11月26日〜12月8日、東京・PARCO劇場）（2024年12月14日〜15日、京都・京都劇場）（2024年12月18日、宮城・仙台PIT）（2024年12月21日〜22日、福岡・キャナルシティ劇場） - 主演・ヘドウィグ 役
出演作品 > ナレーション

素敵な宇宙船地球号「失われた森を求めて」（2003年2月9日放送、テレビ朝日）
小さな村の物語 イタリア（2007年10月7日 - 、BS日テレ）
BS1スペシャル「スラム街　希望のオーケストラ」（2019年2月19日放送、NHK BS1）
映画「北の果ての小さな村で」予告編（2019年5月13日）
ハートネットTV「演じることは生きること ～野外芝居集団“水族館劇場”の日々～」（2021年6月30日放送、NHK Eテレ）
ネコメンタリー 猫も、杓子(しゃくし)も。「神林長平とビタニャ」（2022年5月18日放送、NHK Eテレ）
テレメンタリー2022「湯沢Re:start-リモートで変わるリゾート-」（2022年6月4日放送、テレビ朝日）
映画「帰れない山」特報映像（2023年5月5日公開）
出演作品 > 劇場アニメ

Genius Party「LIMIT CYCLE」（2007年7月7日公開、日活、制作:SUTDIO 4℃） - 主人公 役
出演作品 > ラジオ > レギュラー

三上博史オフィシャルクラブ「G.O.D.S」（1989年1月 - 1989年10月放送、ニッポン放送）
レディオクラブ オム（1992年4月 - 1994年3月放送、TOKYO FM）
XSOL presents EARTH LOVERS（2015年4月4日 - 2016年3月26日放送、TOKYO FM）※JFN系全国38局ネット
出演作品 > ラジオ > ラジオドラマ

「俺たちは、絶対に、死なない」J-WAVE 30th ANNIVERSARY SPECIAL RADIO DRAMA 〜沢木耕太郎「凍」〜（2019年3月30日放送、J-WAVE）- 主演・山野井泰史 役
出演作品 > ラジオ > インターネット配信

連続ドラマW 社長室の冬を語る。/ WOWOWぷらすと〈金曜日〉（2017年4月28日配信、ニコニコ生放送）
出演作品 > CM

ハウス食品 Curry the Hot（赤・黒）（1988年 - 1989年）
サントリー レゼルブ
日本ビクター Creation（1988年）
ライフカード（1988年 - 1989年）
グンゼ
トヨタ コルサ（1991年）
ライオン スマイルVin（1994年）
ユニクロ
大塚製薬 野菜の戦士
マイクロソフト Windows XP（2005年）- ナレーション
日本コカ・コーラ ミニッツメイド （2006年） - 優しい父親 役
NISSAN マーチ - ナレーション
Honda Civic - ナレーション
日清食品 カップヌードル - ナレーション
ORIX
デーリー東北（青森県の地方新聞、2016年5月3日）
JR SKISKI（2017年）
出演作品 > ゲーム

サイコサスペンス・アドベンチャー『es(エス)』 （2001年4月5日発売、ドリームキャスト）- 主演・日下部清竹 役
出演作品 > イベント・ライブ

第11回PFFアワード'88ファイナル・イベント（1988年12月17日〜12月23日、新宿・シネマミラノ）
HIROSHI MIKAMI LIVE 06 「THE GARDEN -1- ザクロ」（2006年2月27日、渋谷O-EAST）（2006年3月1日、大阪・心斎橋BIG CAT）（2006年3月3日、福岡・DURM Be-1）
LOVE LETTERS 20周年記念公演（2010年6月30日、パルコ劇場）
寺山修司記念館フェスティバル2012／夏 三上博史ライブ「寺山修司からの手紙」（2012年8月4日、青森・寺山修司記念館 屋外多目的スペース）
寺山修司記念館フェスティバル2013／春 三上博史ライブ「ロング・グッドバイ 寺山修司に捧ぐ」（2013年5月4日、青森・寺山修司記念館　屋外多目的スペース）
舞台「太陽と星空のサーカス」（2013年7月14日、千葉・草原のこころファーム Venue 一番星ヴィレッジ）
寺山修司記念館フェスティバル2014／春 三上博史ライブ「競馬場で会おう」（2014年5月4日、青森・寺山修司記念館　屋外多目的スペース）
冷牟田竜之 presents「Pulp」（2014年6月7日、福岡・Early Believers）※THE MAN feat.三上博史として出演
寺山修司記念館フェスティバル2015／春 三上博史ライブ「世界の涯(は)てまで 連れてって」（2015年5月4日、青森・寺山修司記念館　屋外多目的スペース）
寺山修司記念館フェスティバル2016／春　三上博史ライブ「寺山修司・スポーツ版 裏町人生」（2016年5月4日、青森・寺山修司記念館 常設展示室）
第4回 なら国際映画祭2016 オープニングセレモニー（2016年9月17日、奈良・奈良公園 春日野園地）
第4回 なら国際映画祭2016 クロージングセレモニー（2016年9月22日、奈良・ならまちセンター  市民ホール）
至高の華  新春特別公演  朗読「卒都婆小町」（2017年1月17日、東京・国立能楽堂）
寺山修司記念館フェスティバル2017／春　三上博史ライブ「あしたはどっちだ！ ーあしたのジョー」（2017年5月4日、青森・寺山修司記念館 常設展示室）
ショートショートフィルムフェスティバル&アジア 2017 アワードセレモニー（2017年6月11日、東京・明治神宮会館）
寺山修司記念館フェスティバル2018／春　三上博史ライブ「万才！ジルベール 寺山修司」（2018年5月4日、青森・寺山修司記念館 常設展示室）
寺山修司没後35年記念 特集上映「映画監督・寺山修司」2018（2018年6月3日、東京・渋谷ユーロライブ）
寺山修司展記念朗読とトーク「地獄篇＝悲しき自伝／長い遺書」（2018年10月7日、神奈川・神奈川近代文学館ホール）
MOI AUSSI BE モーアシビー FREE SCHOOL 第8回＜第1部＞（2018年10月20日、沖縄・桜坂劇場 ホールB）
MOI AUSSI BE モーアシビー FREE SCHOOL 第8回＜第2部＞「俳優 三上博史の考える教室とは？」（2018年10月21日、沖縄・Okinawa Creative Space TERMINAL）
LOVEHOTELに於ける情事とPLANの涯て　スペシャル・プレビュー（2019年1月15日、東京・スペースFS汐留）
LOVEHOTELに於ける情事とPLANの涯て 初日舞台挨拶（2019年1月18日、東京・テアトル新宿）
LOVEHOTELに於ける情事とPLANの涯て 舞台挨拶（2019年1月19日、大阪・シネ・リーブル梅田）
LOVEHOTELに於ける情事とPLANの涯て 舞台挨拶（2019年1月20日、愛知・センチュリーシネマ）
LOVEHOTELに於ける情事とPLANの涯て　舞台挨拶（2019年2月16日、山形・MOVIE ON やまがた）
寺山修司記念館フェスティバル2019／春　三上博史ライブ「世界の涯てまで連れてって」（2019年5月4日、青森・寺山修司記念館 常設展示室）
BeFM開局20周年特別共同企画「LOVEHOTELに於ける情事とPLANの涯て」上映後トークイベント（2019年5月5日、青森・フォーラム八戸）
永遠の森へのオマージュ（2019年9月28日、沖縄・宜野座村文化センター がらまんホール）
揖斐川ワンダーピクニック2019 影絵と音楽と語りのSPECIAL ART PROGRAM「泉にまつわるお話」（2019年10月13日、岐阜・マーケットエリア 三輪神社境内）
三上博史 ～Reading Live～（2019年10月26日、徳島・阿南市情報文化センター コスモホール）
寺山修司記念館フェスティバル2021／春　三上博史ライブ「世界の涯まで連れてって」（2021年5月4日、青森・三沢市寺山修司記念館 屋外多目的スペース）
Sarti musicali サルティムジカーリ おとなのバロック企画 第一弾「和洋綯い交ぜの一夜～イタリアバロック×山田耕筰　怪談･牡丹灯籠」（2021年11月15日、東京・杉並公会堂 小ホール）
俳優三上博史と大師山寺大塚住職の対談！ 〜特別な聖地「奈良吉野」の不可思議な物語〜（2021年11月20日、奈良・大師山寺）
パゾリーニ生誕100年前夜祭トークイベント『テオレマ』（2022年3月4日、東京・新宿武蔵野館）
サルティムジカーリ 第二回公演「山田耕筰物語」（2022年5月28日、東京・サントリーホール・ブルーローズ）
寺山修司記念館フェスティバル2022／春　三上博史ライブ（2022年5月4日、青森・三沢市寺山修司記念館 常設展示室）
寺山修司記念館フェスティバル2023春　三上博史ライブ（2023年5月4日、青森・三沢市寺山修司記念館 常設展示室）
寺山修司記念館フェスティバル2024春　三上博史ライブ（2024年5月4日、青森・寺山修司記念館 館内）
衛星劇場 放送記念上映会／舞台「三上博史 歌劇」（2024年5月27日、東京・新宿ピカデリー）
最前線 無声映画/CONVERSATIONS IN SILENCE VOL.08『カリガリ博士』（2024年6月17日、東京・月見ル君想フ）
最前線 無声映画/CONVERSATIONS IN SILENCE VOL.09『偽善者』『微笑むブーデ夫人』（2024年8月7日、東京・月見ル君想フ）
ディスコグラフィ > アルバム

G.O.D.S.（1988年4月21日発売、Invitation）
ORGA'N（1989年12月21日発売、Invitation）
ORAL（1991年9月21日発売、Invitation）
ARC（1993年8月21日発売、Invitation）ベスト・アルバム
TRANSIENT（1994年8月3日発売、BMGビクター）
EGO（1995年9月6日発売、BMGビクター）
HEDWIG AND THE ANGRY INCH TRIBUTE（2004年5月12日発売、エイベックス）※収録曲の内、歌唱曲は#03『Wicked Little Town』、#06『Hedwig's Lament』、#08『Midnight Radio』の3曲のみ
ザクロ（2005年6月9日発売、bark Records）
HEDWIG AND THE ANGRY INCH オリジナル・ジャパニーズ・キャスト・ライヴ・アルバム（2005年6月9日発売、PARCO）
ディスコグラフィ > シングル

HANG OUT!（1993年4月7日発売、Invitation）「本城裕二」名義 - フジテレビ系ドラマ「チャンス!」挿入歌
夢with You（1993年6月16日発売、Invitation）「本城裕二」名義 - フジテレビ系ドラマ「チャンス!」挿入歌
a place in THE HEART（1994年5月1日発売、BMGビクター） - TBS系ドラマ「適齢期」主題歌
ディスコグラフィ > 参加作品

『THE MAN』- THE MAN　#12「Preach」（2014年5月21日発売、ビクターエンタテインメント）
『Technoca』- Watusi(COLDFEET)   #05「Last Dance feat.Hiroshi Mikami」（2014年12月3日発売、OIRAN MUSIC）
『VITIUM』- sukekiyo　#02「focus Collaboration with 三上博史」（2015年2月4日発売、通販限定盤:sun-krad Co., Ltd.  初回生産限定盤:FIREWALL DIV.）
『Winter Magic ～あの冬をドラマに変えた歌たち～ mixed by DJ和』- DJ和（2022年12月7日発売、ソニー・ミュージックアソシエイテッドレコーズ）
ディスコグラフィ > 朗読CD

ききみみ名作文庫　宮沢賢治全集（『よだかの星』『猫の事務所』『双子の星』『グスコーブドリの伝記』）（2007年）
三上博史 朗読音楽集『空には本』（2008年）
やさしく聞ける日本の名作（2010年、ユーキャン）
名作をあなたに（2013年、ユーキャン）
書籍

三上博史写真集『PORTFOLIO』（1989年10月20日発売、ウォーカーズカンパニー）
あるるかん〜道化師〜（編・著／林海象） （1989年10月25日発売、CBSソニー出版）
三上博史写真集『ヴィジオネーレ』 （1990年6月20日発売、マガジンハウス）
絵本『青い星の少年』／翻訳（著／マルティン・アウア）（1995年4月25日発売、ブロンズ新社）
単行本『架空のオペラ』（1995年7月25日発売、角川書店）
芸能ズビズバ（1998年8月3日発売、講談社）
写真集（多数のアーティスト写真掲載）『BENTO』（2006年1月1日発売、ワニブックス）
挑戦者たち　トップアクターズ・ルポルタージュ（2011年1月15日発売、キネマ旬報）
C++

| --- | --- |
 C++のロゴ
パラダイム:  手続き型プログラミング、データ抽象化、オブジェクト指向プログラミング、ジェネリックプログラミング
登場時期:  1983年 (42年前) (1983)
開発者:  ビャーネ・ストロヴストルップ 
最新リリース:  ISO/IEC 14882:2024/ 2024年10月19日 (4か月前) (2024-10-19)
評価版リリース:  ISO/IEC 14882:2026 (予定) / 2024年10月16日 (4か月前) (2024-10-16)
型付け:  nominative, 安全でない強い静的型付け
主な処理系:  GCC、Clang、Microsoft Visual C++、Intel C++ Compiler、C++ Builder
影響を受けた言語:  C言語、Simula、ALGOL 68、CLU、ML、Ada 
影響を与えた言語:  Java、Rust、C#、C++/CLI、D言語、PHP
ウェブサイト:  isocpp.org 
拡張子:  .C、 .cc、 .cpp、 .cxx、 .c++、 .h
テンプレートを表示
C++（シープラスプラス）は、汎用プログラミング言語のひとつである。派生元であるC言語の機能や特徴を継承しつつ、表現力と効率性の向上のために、手続き型プログラミング・データ抽象・オブジェクト指向プログラミング・ジェネリックプログラミングといった複数のプログラミングパラダイムが組み合わされている。C言語のようにハードウェアを直接扱うような下位層向けの低水準言語としても、複雑なアプリケーションソフトウェアを開発するための上位層向け高水準言語としても使用可能である。アセンブリ言語以外の低水準言語を必要としないこと、使わない機能に時間的・空間的コストを必要としないことが、言語設計の重要な原則となっている。
C++は、1983年にAT&Tベル研究所の計算機科学者ビャーネ・ストロヴストルップによって公開された。また様々なプラットフォームでその開発環境が導入された。1998年からISOとIECの共同で言語仕様とテンプレートライブラリの標準化が行われるようになり、その後2003年、2011年、2014年、2017年、2020年に標準規格が改訂されている。2021年時点での最新規格は「ISO/IEC 14882:2020」通称「C++20」である。
歴史

ストロヴストルップはプログラミング言語C with Classes（クラス付きのC言語）の開発を1979年に開始した。彼は大規模なソフトウェアの開発に有用な特徴をSimulaが備えていることに気がついたが、Simulaは実行速度が遅く実用的ではなかった。一方でBCPLは実行速度こそ速かったものの、大規模なソフトウェア開発を念頭に置いた場合にあまりにも低級だった。
これらの事情を鑑みて、ストロヴストルップは当時既に汎用的な言語だったC言語にSimulaの特徴を取り入れることを試みた。この取り組みにあたってはALGOL68やAda、CLU、ML等の言語の影響も受けている。最初はクラスと派生クラス、型検査機構の強化、インライン関数、デフォルト引数の機能を、Cfrontを介してC言語に追加した。1985年10月に最初の商用リリースがなされた。
1983年にはC with ClassesからC++に名称を変更した。この際に、仮想関数と、関数と演算子の多重定義、参照型、const型、ユーザー制御可能な自由領域メモリ制御、型検査機構の改良、BCPL形式の（「//」による）行単位のコメントなどの機能が追加された。1985年には『The C++ Programming Language』の初版が出版された（邦訳『プログラミング言語C++』1988年)）。この時点では公式な標準が策定されていなかったために、この本が事実上のリファレンスとなった。1989年C++のバージョン2.0として、多重継承と抽象クラス、静的メンバ関数、constメンバ関数、protectedメンバ等の機能が追加されたものがリリースされた。1990年に『The Annotated C++ Reference Manual (ARM)』（邦訳『注解C++リファレンスマニュアル』）が出版され、将来の標準化の土台となるものを提供した。後に追加された機能にはテンプレートと例外処理、名前空間、新形式のキャスト、ブール型が含まれた。
ARMが事実上の標準として使われた時代が続いたが、標準化が進んだ。C++言語の最初の標準は1998年にISO/IEC 14882:1998として承認された。2003年の改訂版を経て、2011年にメジャーアップデートとして制定されたのがISO/IEC 14882:2011、通称「C++11」である。このバージョンは、元々、非公式に「C++0x」と呼ばれていた。2000年代中に制定され、正式に「C++09」と呼称されることを見越した仮称だったが、2000年代中には実現しなかった。2011年8月10日まで続いた最終国際投票で C++0x は全会一致で承認された。これにより C++0x と呼ばれてきた C++ の次期改正案はついに国際標準になり、C++11と呼べるようになった。また、2014年にはISO/IEC 14882:2014、通称「C++14」が策定された。2017年にはISO/IEC 14882:2017、通称「C++17」が策定された。2020年にはISO/IEC 14882:2020、通称「C++20」が策定された。
C++言語の進化に伴い、標準ライブラリもまた進化していった。C++標準ライブラリに最初に追加されたのは、従来のC言語の printf() や scanf() といった関数を置き換えるストリームI/Oライブラリである。また、C++98における標準ライブラリへの追加で最も重要なものはStandard Template Library (STL) である。C++11では、正規表現による検索・置換や複数スレッドでの同時実行、ハッシュテーブル・ハッシュセットの追加などさらなる拡充が続いている。
歴史 > 国際規格

| 規格出版日 | C++ 国際規格 | 非公式名称 | 対応する日本工業規格 |
| --- | --- | --- | --- |
| 1998年9月1日 | ISO/IEC 14882:1998 | C++98 | ― |
| 2003年10月16日 | ISO/IEC 14882:2003 | C++03 | JIS X 3014:2003 |
| 2007年11月15日 | ISO/IEC TR 19768:2007 | C++TR1 | ― |
| 2011年9月1日 | ISO/IEC 14882:2011 | C++11 | ― |
| 2014年12月15日 | ISO/IEC 14882:2014 | C++14 | ― |
| 2017年12月 | ISO/IEC 14882:2017 | C++17 | ― |
| 2020年12月15日 | ISO/IEC 14882:2020 | C++20 | ― |
長年にわたる作業の後、ANSIとISOの合同委員会はプログラミング言語C++を1998年に標準化した (ISO/IEC 14882:1998)。1998年の標準の公式なリリースから数年間にわたって委員会は不具合の報告を続け、2003年に改訂版を出版した。2003年12月に制定された日本工業規格（現：日本産業規格）JIS X 3014:2003「プログラム言語C++」（日本産業標準調査会、経済産業省）は、ISO/IEC 14882:2003 (E) の日本語訳である。
2007年11月15日、C++ Technical Report 1 (TR1) という技術報告書（テクニカルレポート）がリリースされた。これは規格の公式な一部ではなかったが、次の版のC++に含まれると期待される、標準ライブラリへの数多くの拡張を与えた。TR1の内容は、多少の修正を加えてC++11に取り込まれている。
2011年9月1日、C++98以来初の大きな改訂となるISO/IEC 14882:2011が発行された。
2014年8月18日、ISO/IEC 14882:2014 (C++14) が投票で承認され、同年12月15日に公式に出版された。
2017年12月1日、ISO/IEC 14882:2017 (C++17) が公式に発行された。
2020年9月4日、ISO/IEC 14882:2020 (C++20) が投票で承認され、同年12月15日、ISO/IEC 14882:2020 (C++20)に公式に出版された。
C++20に続いて次期改訂版となるべきISO/IEC 14882:2023 (C++23) の仕様策定については、2019年末から始まったCovid-19の世界的流行により開発者同士の対面によるミーティングの開催を図ることが大変難しくなったことから、仕様策定が非常に難航している状況である。
歴史 > 将来

C++に対しては、今もなお要望が絶えない。特にBoost C++ライブラリを開発しているBoostコミュニティはC++の方向性の決定に大きく貢献し、さらにC++標準化委員会へ改良すべき点などを意見している。現在はマルチパラダイムプログラミングをより自然に行えるようにすることに力が注がれており、たとえばBoostでは、C++の関数型プログラミングやメタプログラミングの可能性を模索している。
C++11と呼ばれている新しいバージョンのC++標準ではこれらの一部が取り込まれ、今後のC++でもさらなる追加が行われると見られている。
歴史 > C++という名称

この名称はRick Mascittiの功績で、最初に使用されたのは1983年の12月である。初期の研究期間では、開発中の言語は「C with Classes」と呼ばれていた。最終名は、変数の値を一つ加算する、C言語の++（インクリメント）演算子からの派生である。また一般的な命名規則での「+」の使用は、機能強化されたコンピュータプログラムを意味する。ストロヴストルップによれば「この名前は、C言語からの変更の革新的な本質を示している」ということである。C+は、より初期の無関係なプログラミング言語の名前である。
ストロヴストルップは著書『The C++ Programming Language』の前文で名前の起源を語り、ジョージ・オーウェルの小説『1984年』の付録から「C++」が連想されるかもしれないと付け加えている。ニュースピークという架空の言語の解説に宛てられた3つの章の中に、科学技術に関する専門用語とジャーゴンの解説に宛てられた「C vocabulary」という章がある。ニュースピークで「ダブルプラス」は最上級の修飾語である。ゆえにニュースピークで「C++」は「最も極端な専門用語またはジャーゴン」という意味になるだろう。
1992年、Rick Mascittiは名前について非公式に質問されると、彼はおふざけのつもりで命名したという旨の回答をした。彼はこの言語の正式な名称になるとは夢にも思っていなかった。
哲学

ビャーネ・ストロヴストルップは著書『C++の設計と進化(1994)』でC++を設計する際に用いたルールを述べている。
C++はCと同等の実行効率と移植性を持つ静的に型付けされた汎用言語である。
C++は直接的かつ包括的に複数のプログラミングスタイル（手続き型プログラミング、抽象化、オブジェクト指向、ジェネリックプログラミング）をサポートする。
C++はもしプログラマが間違っている可能性があったとしてもプログラマに選択の余地を与える。
C++は可能な限りC言語との互換性を持ち、C言語からスムーズに移行できる。
C++はプラットフォームに固有な機能や汎用的でない機能の実装を避ける。
C++は利用しない機能についてはオーバーヘッドが生じない（ゼロオーバーヘッドの原則）。
C++は高級な実行環境を必要としない。
C++のコンパイラがどのようにコードを出力しメモリのレイアウトを決めるのかということについては『Inside the C++ Object Model』(Lippman, 1996)に記載されている。ただしコンパイラが出力するコードの仕様はコンパイラ制作者の裁量に任されている。
標準ライブラリ

→詳細は「標準C++ライブラリ」を参照
1998年に施行されたANSI/ISO C++ 規格は言語仕様とライブラリの2つのパートで構成される。ライブラリ規格の大半はStandard Template Library (STL) とC言語の標準ライブラリの改良版についての内容である。標準規格以外にも様々なライブラリが数多く存在し、リンカを使用することにより、C言語/FORTRAN/Pascal/BASICのような言語を用いて作成されたライブラリを利用できる。規格外のライブラリが利用できるかどうかはコンパイラに依存する。
C++標準ライブラリはC++向けに若干の最適化が施されたC言語標準ライブラリを含んでいる。C++標準ライブラリの大部分はSTLである。 コンテナ（可変長配列やリストなど）、コンテナを配列のように扱えるようにするイテレータ、検索やソートを行うアルゴリズムといった有用なツールが提供されている。さらにmapやmultimapのような連想配列や、setやmultisetのようなソート済みコンテナも提供され、これらは全てインターフェイスに互換性がある。テンプレートを用いることにより、あらゆるコンテナ(またはイテレータで定義したシーケンス)に適用できる汎用的なアルゴリズムを記述できる。C言語と同様にライブラリの機能には#include ディレクティブを使ってヘッダファイルを読み込むことによってアクセスする。C++には69本の標準ヘッダファイルがあるが、このうち19本については非推奨となっている。
STLは標準規格に採用される前は、ヒューレット・パッカードの（一時はシリコングラフィックスの）商用ライブラリだった。STLは標準規格の単なる一部分に過ぎず規格書にSTLという表記は見られないが、入出力ストリーム、国際化、デバッグ機能、およびC言語標準ライブラリ等の、STL以外の部分と区別するために、今でも多くの人がSTLという用語を使っている。
大半のC++コンパイラはSTLを含むC++標準ライブラリの実装を提供している。STLPortのようなコンパイラ非依存のSTLも存在する。様々な目的でC++標準ライブラリを独自に実装しているプロジェクトは他にもある。
C++の標準ライブラリは大きく次のように分けられる。多種多様な実行環境が存在することを考慮して、GUIに関するライブラリは標準に含まれていない。
言語サポート（実行時型情報や例外処理など）
診断（アサートやエラー情報[要説明]）
汎用ユーティリティ（タプル、動的メモリ確保、スマートポインタ、メタプログラミングなど）
文字列および正規表現
ロケール（国際化と地域化）
コンテナ（データ構造）、イテレータ、アルゴリズム（いわゆるSTL）
数値演算
入出力
アトミック演算（不可分操作） - C++11以降
スレッド - C++11以降
疑似乱数エンジン - C++11以降
外部ライブラリ

以下に、C++で広く使われていると思われる[独自研究?]ライブラリを挙げる。
特徴

C言語に、オブジェクト指向プログラミングをはじめとする様々なプログラミングパラダイムをサポートするための改良が加えられたものといえる。ただし、他のプログラミング言語と違い、旧来のCと同様に手続き型言語としても扱えるという特徴がある。また、C言語と比べて型チェックが厳しくなっており、型安全性が向上している。このことから、C++をbetter Cというふうに呼ぶことがある。すなわち、基本的にC言語に対して上位互換性がある。初期のC++はCへのトランスレータとして実装され、C++プログラムを一旦Cプログラムに変換してからコンパイルしていた。
ただし、C++という名称が定まった当初の時期から、C言語とC++との間には厳密な互換性はない。当時、Cとの互換性について議論の末、「C++とANSI Cの間には不正当な非互換性はない」という合意が形成されることとなった。そのため、正当な非互換性を巡って多くの議論が発生した。ただし、まだANSIによるC言語の標準規格も策定途中の時期である。
その後、先祖であるC言語のANSIによる標準規格制定時には、関数のプロトタイプ宣言やconst修飾など、C++の機能がC言語に取り入れられることにもなった。C99の出現により、//コメントなどのC++で使われていた便利な機能が加わってCとC++の互換性が高まる一方、別々に審議し、別の時期に発行していることと、開発対象が必ずしも同じでないために利害関係者が異なることによる違いもある[要出典]。
C++はCにクラスのサポートを追加しただけでなく、さらに次のような多種多様な機能を持っており、言語仕様は大変複雑である。言語処理系すなわちコンパイラの実装も、Cなどと比べて難易度が非常に高い。
多重継承
テンプレート
演算子のオーバーロード
例外処理
実行時型情報 (RTTI)
ここから、よりオブジェクト指向を強化し、「なんでもあり」ではない代わりにシンプルで分かりやすくスマートな設計を目指した新たな言語（JavaやD言語など）が作られることとなった。
特徴 > Hello, World!

C++はC言語およびそのプリプロセッサの構文をほぼ継承している。以下のサンプルはビャーネ・ストロヴストルップの書籍「The C++ Programming Language, 4th Edition」(ISBN 978-0321563842) の「2.2.1 Hello, World!」に記載されている標準C++ライブラリのストリーム機能を用いて標準出力に出力するHello worldプログラムである。
#include <iostream>

int main()
{
    std::cout << "Hello, World!\n";
}
書籍でも明記されているが、main()関数で意図的に返り値を返さない手法が使用されている。
特徴 > 演算子と演算子のオーバーロード

→詳細は「CとC++の演算子」を参照
C++には、四則演算、ビット演算、論理演算、比較演算、メンバーアクセスなどの30を超える演算子がある。メンバーアクセス演算子 (.と.*) のような一部の例外はあるが、大半の演算子はユーザー定義によるオーバーロードが可能である。オーバーロード可能な演算子が豊富に揃えられているため、C++を一種のドメイン固有言語として利用できる。またオーバーロード可能な演算子はスマートポインタや関数オブジェクトのような組み込み型の機能を模倣したユーザー定義クラスの実装や、テンプレートメタプログラミングのような先進的な実装テクニックに欠かせないものとなっている。演算子をオーバーロードしても演算の優先順位は変化せず、また演算子のオペランドの数も変化しない。ただし指定したオペランドが無視される可能性はある。
特徴 > テンプレート

→詳細は「テンプレート (プログラミング)」を参照
C++には、ジェネリックプログラミングを実現する機能としてテンプレートが存在する。テンプレートにできる対象は、関数とクラスである。C++14以降では変数もテンプレートの対象となった。テンプレートはコード中の型および定数をパラメータ化できる。テンプレートのパラメータ（テンプレート仮引数）に、型、コンパイル時定数またはその他のテンプレート（テンプレート実引数）を与えることで、テンプレートはコンパイル時にインスタンス化（実体化・具現化などとも）される。コンパイラは関数やクラスをインスタンス化するために、テンプレート仮引数をテンプレート実引数に置き換える。テンプレートはジェネリックプログラミング、テンプレートメタプログラミング、コード最適化などのために利用される強力なツールであるが、一定のコストを伴う。各テンプレートのインスタンスはテンプレート仮引数毎にテンプレートコードのコピーを生成するためコードサイズが肥大化する。これはコンパイル時に実型引数の情報を削除することで単一の型インスタンスを生成するランタイム型のジェネリクスを実装したJavaなどの言語とは対照的である。なお、C# (.NET Framework) は実行時コンパイラにより実型引数の情報を削除することなく複数の型インスタンスを生成する方式を採用しており、C++とJavaの中間的なアプローチとなっている。
テンプレートとプリプロセッサマクロはいずれもコンパイル時に処理される言語機能であり、静的な条件に基づいたコンパイルが行われるが、テンプレートは字句の置き換えに限定されない。テンプレートはC++の構文と型を解析し、厳密な型チェックに基づいた高度なプログラムの流れの制御ができる。マクロは条件コンパイルに利用できるが、新しい型の生成、再帰的定義、型の評価などは行えないため、コンパイル前のテキストの置き換えや追加・削除といった用途に限定される。つまりマクロは事前に定義されたシンボルに基づいてコンパイルの流れを制御できるものの、テンプレートとは異なり独立して新しいシンボルを生成することはできない。テンプレートは静的な多態（下記参照）とジェネリックプログラミングのためのツールである。
C++のテンプレートはコンパイル時におけるチューリング完全なメカニズムである。これはテンプレートメタプログラミングを用いて実行する前にコンピュータが計算可能なあらゆる処理を表現できることを意味している。
概略すれば、テンプレートはコードの記述に本来必要な型や定数を明確にすることなく抽象的な記述ができる、パラメータ化された関数またはクラスである。テンプレート仮引数に実引数を与えてインスタンス化した結果は、テンプレート仮引数に指定した型に特化した形で記述されたコードと全く等価になる。これによりテンプレートは、汎用的かつおおまかに記述された関数およびクラス（テンプレート）と、特定の型に特化した実装（インスタンス化されたテンプレート）の依存関係を解消し、パフォーマンスを犠牲にすることなく抽象化できる手段を提供する。
特徴 > オブジェクト

C++はC言語にオブジェクト指向プログラミングをサポートするための改良を加えたものといえる。C++のクラスには、オブジェクト指向言語で一般的な抽象化、カプセル化、継承、多態の4つの機能がある。オブジェクトは実行時に生成されるクラスの実体である。クラスは実行時に生成される様々なオブジェクトのひな形と考えることができる。
なお、C++はSmalltalkなどに見られるメッセージ転送の概念によるオブジェクト指向を採用していない。
特徴 > オブジェクト > カプセル化

カプセル化とは、データ構造を保証し、演算子が意図したとおりに動作し、クラスの利用者が直感的に使い方を理解できるようにするためにデータを隠蔽することである。クラスや関数はC++の基礎的なカプセル化のメカニズムである。クラスのメンバはpublic、protected、privateのいずれかとして宣言され明示的にカプセル化できる。publicなメンバはどの関数からでもアクセスできる。privateなメンバはクラスのメンバ関数から、またはクラスが明示的にアクセス権を与えたフレンド関数からアクセスできる。protectedなメンバはクラスのメンバおよびフレンド関数に加えてその派生クラスのメンバからもアクセスできる。
オブジェクト指向では原則としてクラスのメンバ変数にアクセスする全ての関数はクラスの中にカプセル化されなければならない。C++ではメンバ関数およびフレンド関数によりこれをサポートするが、強制はされない。プログラマはメンバ変数の一部または全体をpublicとして定義でき、型とは無関係な変数をpublicな要素として定義できる。このことからC++はオブジェクト指向だけでなく、モジュール化のような機能分割のパラダイムもサポートしているといえる。
一般的には、全てのデータをprivateまたはprotectedにして、クラスのユーザに必要最小限の関数のみをpublicとして公開することがよい習慣であると考えられている。このようにしてデータの実装の詳細を隠蔽することにより、設計者はインターフェイスを変更することなく後日実装を根本から変更できる
。
特徴 > オブジェクト > 継承

継承を使うと他のクラスの資産を流用できる。基底クラスからの継承はpublic、protected、privateのいずれかとして宣言する。このアクセス指定子により、派生クラスや全く無関係なクラスが基底クラスのpublicおよびprotectedメンバにアクセスできるかどうかを決定できる。普通はpublic継承のみがいわゆる派生に対応する。残りの二つの継承方法はあまり利用されない。アクセス指定子を省略した場合、構造体はpublic継承になるのに対し、クラスではprivate継承になる。基底クラスをvirtualとして宣言することもできる。これは仮想継承と呼ばれる。仮想継承は基底クラスのオブジェクトが一つだけ存在することを保証するものであり、多重継承の曖昧さの問題を避けることができる。
多重継承はC++の中でもしばしば問題になる機能である。多重継承では複数の基底クラスから一つのクラスを派生できる。これにより継承関係が複雑になる。例えばFlyingCatクラスはCatクラスとFlyingMammalクラスから派生できる。JavaやC#では、基底クラスの数を一つに制限する一方で、複数のインターフェイスを実装でき、これにより制約はあるものの多重継承に近い機能を実現できる（実装の多重継承ではなく型の多重継承）。インターフェイスはクラスと異なり抽象メソッド（純粋仮想関数）を宣言できるのみであり、関数の実装やフィールド（メンバ変数）は定義できない。JavaとC#のインターフェイスは、C++の抽象基底クラスと呼ばれる純粋仮想関数宣言のみを持つクラスに相当する。JavaやC#の継承モデルを好むプログラマは、C++において実装の多重継承は使わず、実装の継承は単一継承に絞り、抽象基底クラスによる型の多重継承のみを使うポリシーを採用することもできる。
特徴 > 多態

→詳細は「ポリモーフィズム」を参照
多態 (ポリモーフィズム) は様々な場面で多用されている機能である。多態により、状況や文脈に応じてオブジェクトに異なる振る舞いをさせることができる。逆に言うと、オブジェクト自身が振る舞いを決定することができる。
C++は静的な多態と動的な多態の両方をサポートする。コンパイル時に解決される静的な多態は柔軟性に劣るもののパフォーマンス面で有利である。一方、実行時に解決される動的な多態は柔軟性に優れているもののパフォーマンス面で不利である。
特徴 > 多態 > 静的な多態

関数のオーバーロードは名称が同じ複数の関数を宣言できる機能である。ただし引数は異なっていなければならない。個々の関数は引数の数や型の順序で区別される。同名の関数はコードの文脈によってどの関数が呼ばれるのかが決まる。関数の戻り値の型で区別することはできない。
関数を宣言する際にプログラマはデフォルト引数を指定できる。関数を呼び出すときに引数を省略した場合はデフォルト引数が適用される。関数を呼び出すときに宣言よりも引数の数が少ない場合は、左から右の順で引数の型が比較され、後半部分にデフォルト引数が適用される。たいていの場合は一つの関数にデフォルト引数を指定するよりも、引数の数が異なる関数をオーバーロードする方が望ましい。
C++のテンプレートでは、より洗練された汎用的な多態を実現できる。特にCuriously Recurring Template Patternにより仮想関数のオーバーライドをシミュレートした静的な多態を実装できる。C++のテンプレートは型安全かつチューリング完全であるため、テンプレートメタプログラミングによりコンパイラに条件文を再帰的に解決させて実行コードを生成させることにも利用できる。
特徴 > 多態 > 動的な多態 > 派生

基底クラスへのポインタおよび参照は、正確に型が一致するオブジェクトだけでなく、その派生クラスのオブジェクトを指すことができる（リスコフの置換原則）。これにより、複数の異なる派生型を、同一の基底型で統一的に扱うことが可能となる。また、基底型へのポインタの配列やコンテナは、複数の異なる派生型へのポインタを保持できる。派生オブジェクトから基底オブジェクトへの変換（アップキャスト）では、リスコフの置換原則により、明示的なキャストは必要ない。
dynamic_castは基底オブジェクトから派生オブジェクトへの変換（ダウンキャスト）を実行時に安全に行うための演算子である。この機能は実行時型情報 (RTTI) に依存している。あるオブジェクトが特定の派生型のオブジェクトであることがあらかじめ分かっている場合はstatic_cast演算子でキャストすることもできる。static_castは純粋にコンパイル時に解決されるため動作が速く、またRTTIを必要としない。また、static_castは従来のC言語形式のキャスト構文と違い継承階層のナビゲーションをサポートするため、多重継承した場合もメモリレイアウトを考慮したダウンキャストを実行することができる。ただし、static_castでは多重継承において継承関係を持たない基底型同士のキャスト（クロスキャスト）を実行することはできず、dynamic_castを用いる必要がある。とはいえ、ダウンキャストやクロスキャストが必要となる場合、通例そのプログラムの設計に問題があることが多く、本来は仮想関数のオーバーライドによる多態を用いるべきである。
特徴 > 多態 > 動的な多態 > 仮想関数

クラスのメンバー関数をvirtualキーワードで修飾することにより、派生クラスでオーバーライド（再定義）することが可能な仮想関数 (virtual function) となる。仮想関数は「メソッド」と呼ばれることもある。派生クラスにて、基底クラスの仮想関数と名前および引数の数や型の順序が同じ関数を定義することでオーバーライドする（C++11以降では、overrideキーワードにより修飾することでオーバーライドを明示することもできる）。基底クラスの仮想関数を派生クラスでオーバーライドした場合、実際に呼び出される関数はオブジェクトの型によって決定される。基底クラスのポインタのみが与えられた場合、コンパイラはオブジェクトの型をコンパイル時に特定できず正しい関数を呼び出せないため、実行時にこれを特定する。これをダイナミックディスパッチと呼ぶ。仮想関数により、オブジェクトに割り当てられた実際の型に従って、最上位の派生クラスで実装した関数が呼び出される。一般的なC++コンパイラは仮想関数テーブルを用いる。オブジェクトの型が判明している場合はスコープ解決演算子を利用して仮想関数テーブルを使わないようにバイパスすることもできるが、一般的には実行時に仮想関数の呼び出しを解決するのが普通である。
通常のメンバー関数に加え、オーバーロードした演算子やデストラクタも仮想関数にできる。原則的にはクラスが仮想関数を持つ場合はデストラクタも仮想関数にすべきである。コンストラクタやその延長線上にあるコピーコンストラクタはコンパイルされた時点でオブジェクトの型が確定しないため仮想関数にできない。しかし、派生オブジェクトへのポインタが基底オブジェクトへのポインタとして渡された場合に、そのオブジェクトのコピーを作らなければならない場合は問題が生じる。このような場合はclone()関数(またはそれに準じる物)を仮想関数として作成するのが一般的な解決方法である。clone()は派生クラスのコピーを生成して返す。
= 0をメンバー関数宣言の末尾セミコロンの直前に挿入することにより、メンバー関数を純粋仮想関数 (pure virtual function) にできる。純粋仮想関数を持つクラスは純粋仮想クラスと呼ばれ、このクラスからオブジェクトを生成することはできない。このような純粋仮想クラスは基底クラスとしてのみ利用できる。派生クラスは純粋仮称関数を継承するため、派生クラスのオブジェクトを生成したい場合は全ての純粋仮想関数をオーバーライドして実装しなければならない。純粋仮想関数を持つクラスのオブジェクトを生成しようと試みるようなプログラムは行儀が悪い。
特徴 > 多態 > 動的な多態 > テンプレート

型消去 (type erasure) と呼ばれる、テンプレートを活用して動的な（プログラム実行時の）多態性を実現する手法が存在する。この手法はC++の標準ライブラリでもstd::functionやstd::shared_ptrの削除子で採用されている。いずれも、コンストラクタや代入演算子で（一定の条件を満たす）任意のオブジェクトを実引数として渡せるようにすることから多態性を実現している。
特徴 > 単一行コメント

C99の制定前、C言語とC++との分かりやすい差異として、// で始まり改行で終わる、単一行コメントの有無があった。
単一行コメントはもともと、C言語の祖先にあたるBCPLに含まれていた仕様である。現在のC++のコンパイラの多くがC言語のコンパイラとしても使えるようになっているのと同様に、C言語が生まれて間もない頃は、C言語に加えB言語やBCPLのコンパイルができるコンパイラが用いられていた。それらコンパイラは、C言語のソースであってもBCPLと同様に単一行コメントが使用できるよう独自の拡張がなされていたため、BCPLの単一行コメントに慣れ親しんでいたプログラマ達は、C言語でも単一行コメントを使い続けた。その慣習がC++の誕生時まで生き残っていたため、C++では単一行コメントを「復活」させることになった。[独自研究?]
そのためもあって、C言語での仕様外の単一行コメントの使用は半ば常習と化し、[独自研究?]C99によって単一行コメントが正式に規格として組み入れられた。
C++ソースコードの処理とパーサ

LALR(1)のような旧式のパースアルゴリズムを用いてC++のパーサを記述することは比較的難しい。その理由の一つはC++の文法がLALRではないことである。このため、コード分析ツールや、高度な修正を行うツール（リファクタリングツールなど）は非常に少ない。この問題を取り扱う方法としてLALR(1)でパースできるように改良されたC++の亜種(SPECS)を利用する方法がある。GLRパーサのようにより強力でシンプルなパーサもあるが処理が遅い。
パースはC++を処理するツールを作成する際の最も難しい問題ではない。このようなツールはコンパイラと同じように識別子の意味を理解しなければならない。従ってC++を処理する実用的なシステムはソースコードをパースするだけでなく、各識別子の定義を正確に適用し（つまりC++の複雑なスコープのルールを正確に取り扱い）、型を正しく特定できなければならない。
いずれにせよC++ソースコード処理ツールが実用的であるためには、GNU GCCやVisual C++で使われているような、様々なC++の方言を取り扱えなければならず、適切な分析処理やソース変換やソース出力などが実装できなければならない。GLRのような先進的なパースアルゴリズムとシンボルテーブルを組み合わせてソースコードを変換する方法を利用すればあらゆるC++ツールを開発できる。
互換性

その言語文法の複雑さゆえ、C++規格に準拠したコンパイラを開発するのは一般的に難しい。20世紀末から何年にも渡りC++に部分的に準拠した様々なコンパイラが作られ、テンプレートの部分特殊化などの部分で実装にばらつきがあった。中でも、テンプレートの宣言と実装を分離できるようにするためのexportは問題のキーワードの一つだった。exportを定義したC++98規格がリリースされてから5年後の2003年前半にComeau C/C++が初めてexportを実装した。2004年にBorland C++ Builder Xがexportを実装した。これらのコンパイラはいずれもEDGのフロントエンドをベースにしていた。大半のコンパイラで実装されていないexportは多くのC++関連書籍（例えば"Beginning ANSI C++", Ivor Horton著）にサンプルが記されているが、exportが記載されていることによる問題は特に指摘されていない。GCCをはじめとするその他のコンパイラでは全くサポートしていない。Herb SutterはC++の標準規格からexportを削除することを推奨していたが、C++98では最終的にこれを残す決定がなされた。結局、C++11では実装の少なさ・困難さを理由に削除された。
コンパイラ開発者の裁量で決められる範囲を確保するため、C++標準化委員会は名前修飾や例外処理などの実装に依存する機能の実装方法を決定しないことに決めた。この決定の問題は、コンパイラが異なるとオブジェクトファイルの互換性が保証されない点である。特定の機種やOSでコンパイラの互換性を持たせ、バイナリレベルでのコード再利用性を高めようとするABIのような非標準の規格もあり、一部のコンパイラではこうした準規格を採用している。
2019年現在のメジャーなC++コンパイラ（gcc, Clang, Intel C++ Compiler, Microsoft Visual C++など）の最新版はC++11およびC++14規格にほぼ準拠しており、特にClangは2013年4月時点でC++11の全機能を実装完了した。ただしマイナーアップデートとなるC++17を含めると、処理系間でのばらつきは依然として存在する。