タグ

C++に関するkastro-iyanのブックマーク (16)

  • Learn Contemporary C++ | Concise&Visual Examples

    Learn up-to-date, idiomatic C++ with code examples, concise explanations, cheat sheets and infographics. -- Lerne aktuelles, idiomatisches C++ mit Code-Beispielen, knappen Erklärungen und Infografiken. -- 学现代的C++ // 代码示例,简洁的说明和图表

    Learn Contemporary C++ | Concise&Visual Examples
  • C++をこれから勉強する人のための道しるべ(C++03) - Qiita

    この記事について C++未経験者が一年間かけてC++を勉強した軌跡と学んだことを紹介します。 C++は参考書に書いていない様々な落とし穴があります。初心者の方はこの記事を参考にすることで、知らずにバグを埋め込んでしまうことを防ぎましょう。 C++を勉強する前提 元々のプログラミング歴 筆者はC++を勉強する前は次のような少しのプログラミング経験がありました。C++を勉強することによりプログラミングの基礎が身につき今ではRuby,Pythonなどモダンな言語もすぐに身に着けることができました。 大学の教養の授業で教養にてCでハローワールドと入出力を勉強 1ヶ月のJavaプログラミング研修 C#開発半年 記事で参考とする規格 初心者C++erを対象とした記事ですのでC++の規格(バージョン)を解説します。C++の規格は下記の様に複数あります。 C++98(C++03) C++11 C++14

    C++をこれから勉強する人のための道しるべ(C++03) - Qiita
  • C++11スマートポインタで避けるべき過ち Top10 | POSTD

    (注:2017/10/25、いただいたフィードバックを元に翻訳を修正いたしました。修正内容については、 こちら を参照ください。) 私は新しいC++11のスマートポインタをとても気に入っています。自分でメモリを管理するのが嫌だと感じる多くの仲間たちにとって、これはいろいろな面で天の助けでした。私の場合、このおかげで新人にC++を教えるのがずっと楽になりました。 しかし、C++11のスマートポインタを幅広く使っていた2年ちょっとの間で、使い方を誤ると、プログラムの効率が落ちたりクラッシュして壊れたりするという事態に何度も遭遇しました。参照用に、以下に例を載せました。 まずはこれらの”過ち”を、簡単なAircraftクラスを例に取って見てみましょう。 class Aircraft { private: string m_model; public: int m_flyCount; weak_p

    C++11スマートポインタで避けるべき過ち Top10 | POSTD
  • C++作者によるC++否定声明、その元になったC作者によるC否定声明(もちろんネタ) - 仮想と現実

    1999年にネット上に現れた、C++の作者、ビャーネ・ストロヴストルップのインタビュー記事と称するものがある。まあネット上の怪文書の類といっていいかと思う。 Bjarne Stroustrup インタビュー (?) ようするに、C++という言語は、ただいたずらに難しく、プログラマを混乱させ、ソフトウェアを鈍重に巨大化させるものであり、ストロヴストルップはそれを狙って設計したというもの。なぜそんなことをしたかといえば、プログラミングが簡単になった結果、プログラマの給料は下がってしまったから、誰も使えない難しい言語を作ったのだという話。もちろんこれはストロヴストルップ人のインタビューではありえなくて、誰かのネタであるのだが、実際C++はちゃんと学習しようとすると嫌になる複雑さを持っているので、C++に挫折し続けている僕のような人間には「全く納得だ」と思えてしまうところがたちが悪いのだ。 この

    C++作者によるC++否定声明、その元になったC作者によるC否定声明(もちろんネタ) - 仮想と現実
    kastro-iyan
    kastro-iyan 2017/12/29
    複雑怪奇なC++だけど、使えるようになればこれほど強い&食っていける言語はないと思う。
  • [C++] STLの型の使い分け - Qiita

    先日Ohotech 特盛 #10で話した、「C++のSTLのコンテナ型を概観する」の内容を単独記事としてまとめたものです。 追記(2019.02.02) 記事から大幅加筆し動画講座化したものを公開しました。 C++ STLのコンテナ型を動作効率を考えて使いこなす! | Udemy 有料ですが、一部の節は無料で視聴可能です。 2月いっぱいまでは、上記のリンクから辿っていただけると有効のキャンペーン価格になります。なお、もしキャンペーン価格(¥3600→¥1200)が表示されていない場合はお問い合わせください(offkaiあっとまーくhhiro.net)。 追記(2014.10.22) 10月18日の札幌C++勉強会にて、この記事のダイジェスト版を発表しました。 なぜこの記事のような考え方が必要なのか、という紹介です。 STLの型の使い分け(ダイジェスト版) @ Sapporo.cpp 第7

    [C++] STLの型の使い分け - Qiita
  • 第 5 章 例外処理 (C++ プログラミングガイド)

    第 5 章 例外処理 章では、Sun C++ コンパイラに現在実装されている例外処理、および C++ 国際規格の規定について説明します。 例外処理に関する追加情報については、『注解 C++ リファレンス・マニュアル』(Margaret A. Ellis、Bjarne Stroustrup 共著、トッパン刊) を参照してください。 例外処理とは 例外とは、プログラムの通常の流れの中で発生し、プログラムの継続を阻止する変則性のことです。これらの変則性 (ユーザーエラー、論理エラーまたはシステムエラー) は、関数で検出できます。変則性を検出した関数がその変則性に対処できない場合は、例外を送出し、例外を処理する関数がそれを捕獲します。 C++ では、例外が送出されたときには、これを無視することはできません。つまり、何らかの通知をするか、プログラムを停止しなければなりません。ユーザーによって作成さ

  • Google C++スタイルガイド 日本語訳

    Text Drop 翻訳、プログラミング、写真、カメラなどについて書いてます。スタイルガイド/コーディング規約やチートシートなど、ちょっと便利なものを翻訳しています。 TEXTdropでは、C++プログラマーも利用できるパワフルな機能を搭載。C++のコードを書く際に行う手順や避けておきたい工程などを詳しく説明しています。コードスタイルラインの日語版では、日語訳やJ P Yへの換金もサポート。話題性があるオンラインカジノ 日円変換や入金の際のバグにも対応しています。統一性のあるコードを書くためのポイントや規約の種類を参考にする事ができます。

  • ATL COM Desktop Components

    The ATL Reference documents the Active Template Library (ATL), a set of template-based C++ classes that simplify the programming of Component Object Model (COM) objects. COM is a binary specification for creating and consuming software components on Windows. To fully take advantage of ATL, a working familiarity with COM is highly recommended. For more information about COM, see Component Object Mo

    ATL COM Desktop Components
  • Dr. GUI、コンポーネント、COM、および ATL を使う

    このブラウザーはサポートされなくなりました。 Microsoft Edge にアップグレードすると、最新の機能、セキュリティ更新プログラム、およびテクニカル サポートを利用できます。 第 1 部 : 1998 年 2 月 2 日 第 2 部 : 1998 年 2 月 9 日 第 3 部 : 1998 年 2 月 23 日 第 4 部 : 1998 年 3 月 2 日 第 5 部 : 1998 年 3 月 30 日 第 6 部 : 1998 年 4 月 27 日 第 7 部 : 1998 年 5 月 29 日 第 8 部 : 1998 年 7 月 30 日 目次 第 1 部 : COM を取り上げるって?まだ取り上げていなかったの? 第 2 部 : COM の基礎知識 第 3 部 : オブジェクトおよびインターフェイスの取得 第 4 部 : オブジェクト クラスとオブジェクト ライブラリ 第

    Dr. GUI、コンポーネント、COM、および ATL を使う
  • VC プログラミング

    VC++ による Windows アプリケーションのプログラミングについて自分の覚え書き目的にまとめているページです. 使用ソフトはMicrosoft Visual C++ 6.0 ,MFCは使わずに,Win32API SDKを用いた方法を説明します. 機能をインデックスとした関数逆引き形式を目指しています. 内容のレベルはある程度PCに慣れてて,ある程度プログラムをかじったことある人程度向けだと思います. C言語ぐらいはできるよね? Section1. ウインドウを作る プログラムの骨格となる部分.ここから始まります. VCに自動で作らせる 自分で作る 細かい事 ウインドウ作成に使う関数や構造体の説明.ひたすら引数やメンバの説明. 書くのも読むのもめんどくさいので必要な時だけ読め. ウインドウプロシージャ(コールバック関数) 主なメッセージ一覧(ノーマルウインドウ編)つき Section

  • 私的 Win32 API メモ - IT戦記

    いろいろ勉強した 忘れてしまいそうなので書き下しておく 雰囲気的なこと ウィンドウ 俗にいうウィンドウではなく、 GUI の部品全般(ボタンとか、ツールバー)も含む 俗にいうウィンドウは、フレームとか言う ハンドル ポインタみたいなもん HWND ウィンドウのハンドル DOM でいうと Node みたいなもん LPXXX XXX のポインタって意味 owner と popup 「ポップアップさせたウィンドウ = owner」と「ポップアップしたウィンドウ = popup」 DOM でいうと owner は、 window.opener で popup は、 window.frames って感じ HINSTANCE DLL とか EXE とかひとつと対応してるハンドル アプリケーションの HINSTANCE というと実行されている EXE のハンドル DLL や EXE のメモリ上の位置 H

    私的 Win32 API メモ - IT戦記
  • C/C++中規模プロジェクトのための超シンプルなMakefile | POSTD

    私は多くの小規模プロジェクトで Make を使ってきましたが、より大きな規模のプロジェクトになると、それは非常にうんざりするようなものでした。最近までは、自分のビルドシステムに行いたいことが4つあったのですが、Makeでの方法が分かりませんでした。 out-of-sourceビルド(オブジェクトファイルが、ソースとは分離されたディレクトリにダンプ出力されます) 自動生成される(かつ正確!)ヘッダの依存関係 オブジェクト/ソースファイルのリストの自動的な決定 インクルードディレクトリのフラグの自動生成 以下にこれらの全てを行える、C、C++、およびアセンブリで動作するシンプルなMakefileを紹介します。 MAKEFILE TARGET_EXEC ?= a.out BUILD_DIR ?= ./build SRC_DIRS ?= ./src SRCS := $(shell find $(S

    C/C++中規模プロジェクトのための超シンプルなMakefile | POSTD
  • C言語/C++ プログラミング 入門

    C 言語は 1972年にUSの有名なベル研究所で Dennis Ritchie らが設計・実装した言語だ。 今となっては低水準な言語だが、充分な機能、簡潔な記法とアセンブラに近いパフォーマンスを持ち、 Unix, Windows, Linux 等の OS をはじめ、コンパイラ、テキストエディタ等のツールや、ビジネスアプリやゲームなど多くの各種アプリケーション開発に用いられてきた。 C++ 言語は 1980年頃、やはりベル研究所の Bjarne Stroustrup が開発したもので、C にオブジェクト指向などの機能を追加したものだ。 C との互換性を維持しつつオブジェクト指向が可能で、パフォーマンスも高かったことから、 1990年頃から、ビジネスアプリやゲームなど多くのアプリケーション開発に使用されるようになった。 C++ は、過去の互換性を維持しつつ最先端のプログラミングパラダイムを多く

  • C++ゆとり用 - 藻ログ

    世の中にはわたしのようなライトC++書き向けの資料が不足しているので, 普段使い*1用途で収集したものをまとめてみました. ドキュメントを読む C++プログラミングガイド モダン C++ プログラミング - 日語公開記事 - サイボウズエンジニアのWIKI STLのドキュメント cplusplus.com - The C++ Resources Network C++ reference - cppreference.com clangを使う Clang - Wikipedia gccよりもclangの方がC++ 規格に準拠しているとうたわれています. また, コンパイルもちょっと速い. *2 標準ライブラリを使う ∧∧∧∧∧∧∧∧∧ < STL!STL!STL!STL! > ∨∨∨∨∨∨∨∨∨ _     _ `/っ)    /っ) / / ∧_∧ / / ∧_∧ \\(   )\\(

    C++ゆとり用 - 藻ログ
    kastro-iyan
    kastro-iyan 2014/09/25
    LLってなんだ?/ググったらスクリプト言語の事か。ふーん
  • C++での列挙型のサイズを制御する方法はある?

    [戻る] shin 2002/08/09(金) 06:04:22 C++のenum型で宣言する型のサイズを決める方法はあるのでしょうか? ANSI Cだとint型になるようですが、C++での振る舞いを知りたいです。 Cと同じかなと思ったのですが、DirectXのヘッダを見ると下のようになってました。 enum foo { foo0, foo1, foo_FORCE_DWORD = 0x7FFFFFFF }; この記述から「コンパイラはenum型の全定数の値域を調べ、それからサイズを決めるのかな?」 と思いました。でも、実際は値域に関係なくsizeof(int)固定でした。 (VC++6.0+SP5の為、sizeof(int)==4) 自身で調べた結果は「制御できない」でした。 ですが、上の例でわざわざfoo_FORCE_DWORDを設けている事から判断すると、 出来そうな気がします。 細か

    kastro-iyan
    kastro-iyan 2014/03/04
    Stroustrup プログラミング言語C++(4.8)によると「列挙のsizeofは、列挙の範囲の値を保持できる整数系データのsizeofだがint, unsigned intとして表現できない列挙子が含まれていない限りsizeof(int)より大きくはならない。」だそうです
  • mapによる連想配列

    mapによる連想配列 ■連想配列とは 通常の配列は数字を添え字とした配列ですが連想配列は 文字列などを添え字として配列です ary["test"]=○○; ○○=ary["test"]; 上記のように配列の添え字を文字列で扱うことが出来ます ■連想配列として使うには #include <map> 必要なヘッダファイル. map<TYPE,TYPE> data; TYPE型のキーと要素の宣言 data.size() data[]の要素数を返す関数. data[N] 配列name[ ]のキーNのデータ. data.count(x) xをキーに持つ要素の数を返す。 data.max_size() 最大サイズ(要素数の上限)を返す。 ********************************************************************** ■(string st

  • 1