タグ

プログラミングとC++に関するamagasa99のブックマーク (12)

  • C++入門 AtCoder Programming Guide for beginners (APG4b) - AtCoder

    プログラミングに詳しい方へ ここから先はプログラミング未経験者の方は読む必要がありません APG4bは多くの一般的な教材とはいくつか違う点があるため、プログラミングに慣れた人がこの教材を見ると色々思うところがあるかもしれません。 ここではこの教材がどのようなコンセプトで書かれているかを説明した後、APG4bがなぜ一般的でないことをしているのかを説明します。 APG4bのコンセプト プログラムとは何のためにあるのでしょうか? 「便利なアプリを作るため」「ゲームをつくるため」「『人工知能』をつくるため」など、色々あると思います。 これらの具体例は決して間違いではありませんが、プログラミングにはより根源的な用途があります。 それは「計算」です。 コンピュータが開発された当初、その用途は高度な電卓でした。 それから月日が流れ、様々な用途に応用されるようになっても、最終的にコンピュータが行っているこ

    C++入門 AtCoder Programming Guide for beginners (APG4b) - AtCoder
  • 江添亮のC++入門が出版された

    江添亮のC++入門が出版された。もうすでに一部書店では店頭に並べているところもあるようだ。 9/18新刊『江添亮のC++入門』KADOKAWA(978-4-04-893071-0)江添亮 著◆「C++」棚にて展開中!次の規格として標準化が進められているC++20を意識しながら、現行の規格に準拠したC++プログラムの書き方を徹底的に解説。C++による格的なプログラム開発に必須の知識を網羅した格的な入門書。 pic.twitter.com/fZEu6Sm1xa — 書泉ブックタワーコンピュータ書売り場 (@shosen_bt_pc) September 18, 2019 このはタイトル通り入門書だ。C++のソースコードのコンパイル方法から初めて、GNU Makeによるビルドシステムを少し触り、基的な文法を解説し、一部のライブラリの仕組みまで解説する。 このの執筆にあたっては、知識のブ

  • 120 行で vi っぽいエディタを作る - Qiita

    参考:Qiita では印刷がうまくできません。プリントしたい人や PDF 化したい人は http://gurakura.sakura.ne.jp/culture/vi-like_text_editor_by_120_lines/ の方を見て下さい(同じ内容です)。 IOCCC 91 Best Utility 実を言うと 120 行も必要なく、28 行で書けちゃったりするのですが("Best Utility IOCCC 91" https://github.com/SirWumpus/ioccc-ae/tree/master/91)、それはさておき、文書では現代風にこのプログラムを書き直してみます。古文の現代語訳みたいなものだと思っていただければ幸いです。 ちなみに IOCCC 91 で Best Utility 部門を受賞した全 28 行のプログラムは、このようなソースコードだったそうで

    120 行で vi っぽいエディタを作る - Qiita
  • ソートアルゴリズムを極める! 〜 なぜソートを学ぶのか 〜 - Qiita

    NTT データ数理システムでリサーチャーをしている大槻 (通称、けんちょん) です。 今回はソートについて記します。 0. はじめに データ構造とアルゴリズムを学ぶと一番最初に「線形探索」や「ソート」が出て来ます。これらのテーマは応用情報技術者試験などでも頻出のテーマであり、アルゴリズムの Hello World とも呼ぶべきものです。 特にソートは、 計算量の改善 ($O(n^2)$ から $O(n\log{n})$ へ) 分割統治法 ヒープ、バケットなどのデータ構造 乱択アルゴリズムの思想 といった様々なアルゴリズム技法を学ぶことができるため、大学の授業でも、アルゴリズム関連の入門書籍でも、何種類ものソートアルゴリズムが詳細に解説される傾向にあります。記事でも、様々なソートアルゴリズムを一通り解説してみました。 しかしながら様々な種類のソートを勉強するのもよいが、「ソートの使い方」や

    ソートアルゴリズムを極める! 〜 なぜソートを学ぶのか 〜 - Qiita
  • C++完全理解ガイド Rev1.4.01 - Qiita

    はじめに C++を完全理解したので完全理解ガイドを書く。 最初に言っておくがタイトルは詐欺で、実際はポエムである。 僕は仕事C++を書いたことはないのでなんか変なことを言っているかも知れない。 ところで無職になったので、普通にC++で職がほしい。 2018年6月から受託で仕事をもらい、毎日C++17を書いています。 2018年9月から雇用され、毎日C++17を書いています。 かなり雑に書いているはずなので、コメント等でどんどんマサカリを投げてほしい。 僕は何者か 工学部を卒業して4年ほど高校の理科教師をやっていたが、現在無職になった人。 工学部を卒業して4年ほど高校の理科教師をやっていた。 最初は良かったのですが、授業に慣れ、このまま自分の成長が止まってしまうのかとなぁと思い、辞めて無職に。 一ヶ月無職を楽しんだあと、某から受託でC++を書く仕事をもらい、C++17を書いている。 主にツ

    C++完全理解ガイド Rev1.4.01 - Qiita
  • 中規模なC++の新しいプロジェクトを作るときにやるべきこと 2016年版 - Qiita

    C++で新しいプロジェクトを作成するときに自分が定型的にやっていることを備忘録的にまとめました。完全に我流なので「こういうやり方もあるよ」などのアドバイスは歓迎です。 この記事中では各ファイルで説明が必要な部分だけを示しますが、全てのサンプルはgithubにおいてあります。 cpp-template: https://github.com/m-mizutani/cpp-template 前提 UNIXベースのCLIで動作するアプリケーション or ライブラリを作る コンパイルはcmakeを使用する ファイル名はソースコードが*.cc、ヘッダファイルが*.hppだとする サンプルではcpptemplate というプロジェクト名だと仮定します プロジェクト用ファイルの準備 CMakeList.txt サンプル cmakeでビルドするための設定ファイルです。このサンプルではCLIアプリケーション

    中規模なC++の新しいプロジェクトを作るときにやるべきこと 2016年版 - Qiita
  • C++マニアック,C++入門,C++講座,よくわかるC++言語プログラミング講座

    C++ はアセンブリ言語のように軽快であるにもかかわらず、クラスの継承や抽象クラス、オペレータのオーバーロード、そして、テンプレートと、高級言語のプログラミングテクニックを余すところなく駆使できる、すばらしい言語です。あなたもこのすばらしい言語を自由自在に操ってみませんか。 このようにすばらしい C++ ですが、初心者が学び始めるには少し敷居が高いらしく、C++ を学ぶ前に C 言語を学ぼうと考える人が多いようです。C 言語も軽快で単純な良い言語です。しかし、プログラミングの楽しみという意味では C++ とは比べ物になりません。ぜひあなたも、C++ に触れ、そして楽しんでみてください。このサイトの中をひと巡りすることで C++ 初心者が感じるプログラミングの敷居の高さが激減すること請け合いです。このサイトが、あなたの C++ プログラミングライフの一助となりますように。 とはいえ、未だ未熟

  • C++ Advent Calendar 2012 / day 4th : Native-client vs. HTML5 ; C++ in the web-client-world! - C++ ときどき ごはん、わりとてぃーぶれいく☆

    C++ Advent Calendar 2012 / 4th day (!) この記事はC++ Advent Calendar 2012の参加記事です ヽ(=´▽`=)ノ 記事の公開と編内容が4th dayのリミットより数時間遅れてしまいました事をお詫び申し上げます。 Native-client vs. HTML5 ; C++ in web-client-world! 諸元 Published: 2012.12.4 By: Usagi Ito <usagi@WonderRabbitProject.net> Environments: (to see the last section of this entry) Abstract 世間ではHTML5が一般にも話題になり始め、徐々に持て囃される様になり、次第に一般にも浸透して来た様な気がする2012年のクリスマスシーズン、 (…中略…)、

    C++ Advent Calendar 2012 / day 4th : Native-client vs. HTML5 ; C++ in the web-client-world! - C++ ときどき ごはん、わりとてぃーぶれいく☆
  • C++ 勉強に使えるサイト 8選 - のんびりしているエンジニアの日記

    皆さんこんにちは お元気ですか。私は さて、今日はC++を勉強するにあたりオススメなサイトをご紹介したいと思います。 ロベールのC++教室 ロベールのC++教室 基的な文法を知るには便利なサイトです。if文や簡単なライブラリからポインタの詳しい使い方などなど掲載されています。 boost C++ Libraries Boost C++ Libraries boostの親玉サイト、ライブラリの一覧やExampleが存在します。 ただ、よくわからないことも多いので、そのときは頑張って探すことをお薦めします。 boost jp Boost逆引きリファレンス - boostjp boostの日コミュニティのサイト 勉強会とかのスケジュールとかもあるので、ぜひぜひ。 (機会があれば参加してみよう) cplusplus.com cplusplus.com - The C++ Resources N

    C++ 勉強に使えるサイト 8選 - のんびりしているエンジニアの日記
  • デザインパターンの骸骨たち

    『デザインパターン』 うんちくできると、かっこよさそうだよね~。でもあんな分厚い読んでもピンとこないし、だいたいオブジェクト指向ってなに?なにが便利なのかよく分からんのだけど。いいじゃんなんでも。できればいいんだよ、できれば。 な~んて、思っていても、なんとなく オブジェクト指向が気になっている システム開発者は、多いのではないでしょうか?かくいう 私もそんな者の一人でした。 しかし、これだけ もてはやされているオブジェクト指向です。 なんか、便利なはずです。 そこで、私は、GOFのデザインパターン[1]を、できるだけシンプルに表現した、小さな小さなプログラム ~デザインパターンの骸骨たち~ を作ってみました。骸骨達 を骨の髄までしゃぶり尽くつくすせば、オブジェクト指向の真髄まで味わうことができるかも。!? 『デザインパターンの骸骨たち(RE-BONE)』 では、内容を大幅に見直し、Ja

  • サービス終了のお知らせ

    サービス終了のお知らせ いつもYahoo! JAPANのサービスをご利用いただき誠にありがとうございます。 お客様がアクセスされたサービスは日までにサービスを終了いたしました。 今後ともYahoo! JAPANのサービスをご愛顧くださいますよう、よろしくお願いいたします。

  • UNIX上でのC++ソフトウェア設計の定石 (3) - memologue

    鉄則3: マルチスレッドのプログラムでのforkはやめよう マルチスレッドのプログラムで、「自スレッド以外のスレッドが存在している状態」でfork*1を行うと、さまざまな問題を引き起こす可能性があります。「問題」の典型例としては、子プロセスのデッドロックが挙げられます。問題の詳細を把握しないまま、マルチスレッドのプログラムで不用意にforkするのはやめましょう! 何が起きるか 実例から見てみましょう。次のコードを実行すると、子プロセスは実行開始直後のdoit() 呼び出し時、高い確率でデッドロックします。 void* doit(void*) { static pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER; pthread_mutex_lock(&mutex); struct timespec ts = {10, 0}; nanoslee

    UNIX上でのC++ソフトウェア設計の定石 (3) - memologue
  • 1