Home C++ 規格 記事 学習 ライブラリ ツール 貢献 C++ 標準ライブラリ¶ C++ の規格で定められた標準ライブラリに含まれるヘッダの一覧です。 リファレンス Web サイトは en: cppreference.com, jp: cppreference.com (日本語訳) cpprefjp: cpprefjp に対応しています。 標準ライブラリ¶ ヘッダ リファレンス 実装 バージョン
(訳注:2016/3/2、いただいた翻訳フィードバックをもとに記事を修正いたしました。) (訳注:著者のMattより、「本文中で明言はしていないが、この記事の内容はx86-64 Unix/Linux/POSIXでアプリケーションをプログラミングする場合にフォーカスしている。他のプログラミング領域では、対象とするシステムに応じた(例: 8-bitの組み込みシステム、10年前のコンパイラ、多くの異なるCPUアーキテクチャで動く必要のあるアプリケーション、Win/Linuxでのビルド互換性など)特有のアドバイスが必要」との補足を頂いております。) 以下の文章は2015年の始めに書いたドラフトで、今まで公開していませんでした。私のドラフト用フォルダの中で誰の目も引かなかったため、大部分が書いた時のままです。公開するにあたり、単純に2015年を2016年に変更しました。 必要な修正、改善、苦情があり
PC/AndroidのGoogle Chrome (グーグルクローム)、Edge(エッジ)の最新バージョン127にて、ビデオ通話がご利用いただけない不具合が起こっておりましたが、修正をリリースいたしました。ご利用されている皆様には大変ご迷惑おかけいたしましたことをお詫び致します。 現在、PC/AndroidのGoogle Chrome (グーグルクローム)の最新バージョン127にて、ビデオ通話がご利用いただけない不具合が確認されており、調査中となっております。ご利用の皆様にはご迷惑をおかけ致しますが、ご理解ならびにご協力の程、何卒宜しくお願い申し上げます。 9月14日(水)午前5時~5時30分(日本時間)に、サイトのメンテナンスを行ないます。その間は、一時的にチャットが中断される場合がございます。メンテナンス期間は、作業状況により多少前後することもございます。ご利用の皆様にはご迷惑をおかけ
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 漢は黙ってシングルファイル C/C++ ライブラリですね! シングルファイル C/C++ ライブラリとは, ヘッダファイル .h ひとつだけで機能が実装されているライブラリ(もう少し条件をゆるくして .cc も含む)のことです. header-only とも言われれたりします. このあたりの元祖は nothings 先生 http://nothings.org/ ですね. 最近は github にコードをあげています. シングルファイル系のライブラリまとめ一覧もあります. シングルファイル系が便利すぎてやばいので, 自分でもいくつか作り
gistfile1.md Windows/Linuxで両方で動作する成果物を想定。 有償のツールは理解が得られる方が稀なので除外。 仕様書 外部仕様 Word/Excelが手軽だけど差分が追いにくい。 Markdown+PandocかSphinxでPDF提出がいいかな? Pandoc - About pandoc Sphinx-Users.jp :: ドキュメンテーションツール スフィンクス Sphinx-users.jp 内部仕様 きちんと書いてあればDoxygenで十分だと思う。 Cしか対応していないみたいだけどdocuriumの方がgitとの親和性が高くて(tag付された結果をまとめて解析してくれるみたい)出力結果も今風にできてる。 Doxygen github/docurium インセプションデッキ 作っておくと上司/部下/協力メンバで方針を合わせやすい。 ネスケラボ » インセプ
24. コンストラクタ std::vectorのコンストラクタは結構多い explicit vector(const Allocator& a=Allocator()); explicit vector(size_type n); explicit vector(size_type n, const T& value, const Allocator& a=Allocator()); template <class InputIter> vector(InputIter first, InputIter last, const Allocator& a=Allocator()); vector(const vector& x); // C++11 vector(const vector& x, const Allocator& a); vector(vector && x); vector
私はC++歴3年の学生趣味プログラマーです。 「C++はなぜヘッダと実装を分けなくてはならないのか/そもそも本当に分けなければならないのか」という質問です。 C++といえば、ヘッダー部と実装部を.hファイルと.cppファイルに分けることが一般的とされている言語ですが、 これは同じオブジェクト指向言語のC#やJavaにはない特徴です。 そのせいでC++使いたちは今日もcppファイルとhファイルを行ったり来たりしながらコーディングする羽目になっています。(そしてVS使いはF12とCtrl+-を得意気に連打しています。) 私にとってもそれが当たり前になって久しいですが、 時々C++を学び始めたばかりの後輩から「なぜヘッダファイルに実装を書いてはならないのか」「なぜC++は二度も同じコードを書くことを強いるのか」と質問を受けます。 私はそのたびに「実装の隠蔽化」とか「循環参照の危険が云々」とか「そ
C++ では NULL は 0 で定義されているため、オーバーロードされた関数を呼び出すようなときに予期しない動作をすることがありました。そんな問題を補うために C++11 では nullptr というキーワードが用意されています。 ここでは、従来の NULL と C++11 で規定された nullptr とを比較しながら、それらの使い方について見て行きたいと思います。 NULL や nullptr の効果 NULL や nullptr は、ポインタに格納されている値が「何もない」とか「空である」といった意味を持たせるためのキーワードです。 このようなとき、最終的にはポインタに 0 が代入されるのですけど、例えば次のように単に 0 を代入しただけでは、プログラムには「0 を代入している」以上の意味が込められません。
このブラウザーはサポートされなくなりました。 Microsoft Edge にアップグレードすると、最新の機能、セキュリティ更新プログラム、およびテクニカル サポートを利用できます。 コンパイラの最適化についてすべてのプログラマが知っておくべきこと Hadi Brais コード サンプルのダウンロード 高度なプログラミング言語には、関数、条件付きステートメント、ループなど、驚くほど生産性が上る抽象プログラミング コンストラクトが多数用意されています。ただし、高度なプログラミング言語でコードを作成する場合のデメリットの 1 つは、パフォーマンスが大幅に低下するおそれがあることです。パフォーマンスを犠牲にすることなく、わかりやすく、メンテナンスしやすいコードを作成するのが理想です。このため、コンパイラがコードを自動的に最適化してパフォーマンスの向上を図ります。最近のコンパイラが行う最適化は非常
後置インクリメントにはひと目で遅くなりそうな処理が見て取れますね。 前置インクリメントがインクリメント処理後、単純に自身の参照を返すのに対し、後置インクリメントではインクリメント前に一時オブジェクトの生成、そしてインクリメント後にはその前に生成した一時オブジェクトを値で返しています。 前置と後置では、単純にオブジェクトをコピーして返す分、普通に考えたら後置の方が遅いよね。というのが従来の認識でした。 「C++ Coding Standards -101のルール、ガイドライン、ベストプラクティス」の中でも、特に後置インクリメントの必然性が無い時は迷わず前置インクリメントを使うことが推奨されてきました。 元の値を必要としないときは前置形式の演算子を使おう __C++ Coding Standards (p50) 新たな主張 「ゲームエンジン・アーキテクチャ第二版」の中の一節を紹介します。 しか
2014年4月16日より開始したpaizaオンラインハッカソン(略してPOH![ポー!])Vol.2「女子大生とペアプロするだけの簡単なお仕事です!」ですが、2014年5月14日いっぱいをもって開催期間を終了いたしました。(コードの実行自体は引き続き可能です)。 今回のオンラインハッカソンも数多くご参加いただきありがとうございました! 今回はpaizaオンラインハッカソンVol.2のレポート、最終結果と、提出された各プログラミング言語毎の最速コード(女子大生プログラマ木野ちゃんの心を鷲掴みにした最強コード)についてお届けします。 ■言語別 最速・最遅実行時間結果 POH Vol.2上でも掲載していましたが、まずはテストケース7(大規模データ)の最速・最遅実行時間、提出数です。 言語 最速実行時間 最遅実行時間 通過数 / 受験数 Java 0.04 秒 5.98 秒 327 / 1364
かつて、ゲームプログラミングはアセンブリが主流で、8bitのCPUは掛け算や割り算すらないものでした。割り算がないCPUっていつの時代だよ、っていう人たちもおりますが、ゲームボーイアドバンスに搭載されているARM7TDMIは除算の命令を持っていません。(故に除算を書くと死ぬほど遅いので、乗算で代用したりする) また、浮動小数に対する演算ユニットを持っていないハードウェアもあります。ニンテンドーDSに搭載されているARM946E-Sですら、浮動小数演算ユニットはありません。(CPUの機能としてはオプションで存在する)そのために固定小数点といった技術もあるわけですが、古くさい話です。 これらはCとC++の機能を駆使していかにパフォーマンスを出すかを余儀なくされた時代です。 さておき、最近はスマートフォンでのゲーム開発も進化しており、C++がiPhoneとAndroidの両方で動くということもあ
この記事はC++ Advent Calendar 2013の15日目にエントリしています。 内容はC++標準ライブラリとスレッドセーフに関する解説になります。 flickr / rennasverden もくじ What's スレッドセーフ? スレッドセーフという幻想 基本型とデータ競合 C++標準ライブラリとデータ競合 C++標準ライブラリ:シーケンスコンテナ編 C++標準ライブラリ:連想コンテナ編 スレッドセーフ RELOADED 基本的なスレッドセーフ保証 std::shared_ptr<T> std::rand() std::cout (本文のみ約9000字) はじめに マルチスレッド対応の点では他言語に遅れを取っていたプログラミング言語C++ですが、C++11ではようやく標準ライブラリにスレッドサポートが追加されました。C++11スレッドサポートではスレッドクラスstd::thr
Q1: デストラクタにvirtualをつけろとよく言われるけど、なんで? 挙動が未定義のdeleteを呼び出す可能性があるから Q2: 挙動が未定義だと駄目なの? 超駄目。何が起きても文句は言えない Q3: どんな時に挙動が未定義のdeleteが呼び出されるの? こんなとき // NoVirtualBaseClass : デストラクタにvirtualを持たない // NoVirtualSuperClass : NoVirtualBaseClassを継承 NoVirtualBaseClass * ptr = new NoVirtualSuperClass(); // 挙動が未定義 delete ptr; Q4: 何でそうなるの? delete時点で、ptrは自分がNoVirtualBaseClassのインスタンスだと思ってるから Q5: 何で?NoVirtualSuperClassでnewし
C++11の参考書をGitHubで公開したことはすでに発表した。 GitHub: EzoeRyou/cpp-book GitHubからzipでダウンロード GitHub Pagesでの閲覧:C++11の文法と機能 本の虫: C++11参考書の公開:C++11の文法と機能 私はもう時間切れで、三週間後にはインターネット接続はおろか、コンピューターすら失う身だが、日本語のC++参考書の行く末について案じてみたいと思う 日本では、全国どこでも日本語が通じる。日本にいる限り、日本語以外の言語を使う必要がない。法律の書かれている言語から日常生活の言語から教育で使う言語まで、すべて日本語で行われている。 これは、凄いことでもあるが、悲劇でもある。日本人は英語を学ぶ必要性を実感できないのだ。にもかかわらず、プログラミングは、英語を必要とする。 英語は、文法的にはあまりよろしくない言語である。例外的な文法
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く