C++を始めよう for windows

##この記事の目的
取りあえずVisual Studioをインストールすること。インストールすればあとはどうにでもなります

この記事は、[C++初心者Advent Calendar 2015](http://www.adventar.org/calendars/922) ４日目の記事です

---
まずVisual Studioをインストールしましょう。以下のページからVisual Studio 2015 Communityというのをダウンロードして適当にクリックし、インストールを始めてください
https://www.visualstudio.com/ja-jp/products/visual-studio-community-vs.aspx
標準だとC++が入っていないので、「カスタム ＞ プログラミング言語 ＞ Visual C++」にチェックを入れてインストールです

とても時間がかかるのでインストールしながら記事を読み進めてください

---
# C++の世界にようこそ！

メイドです。C++の世界にようこそ！貴方はどんな理由でC++を始めようと思ったのでしょうか？
メイドにはそれは知り得ませんが、メイドはC++をとても良いプログラミング言語だと考えています
メイドはプログラミングで最もハードルが高いことはプログラミングを始めることだと考えています
なのでメイドは貴方のC++のスタートアップをサポートします
対象環境はWindowsです。Windowsってなに？っていう人は多分Windowsです。この世のパソコンは大体Windowsです

# C++スタートアップ！
まず以下のものを用意します
##必要なもの
+ インターネット
    + このページを見ているのならば大丈夫だと思われます
+ パソコン(Windows)
    + スマートフォンでプログラミングするのはまだまだ厳しい物があります。パソコンを用意してください
    + 今回の記事はWindowsを対象にしています。Windowsって何？っていう人は多分Windowsです
+ （コンパイラなど）環境と呼ばれるもの
    + 今ダウンロード・インストールしているヤツです

##あると便利なもの
+ 適当な参考書
    + 2000~4000円くらいのものがいいと思います。あまり分厚いのとか、ペラペラすぎるのとか買うと後悔すると思います
    + 町の本屋さんでは売ってないことが多いので都会の大きめの本屋さんに行くかAmazonで購入しましょう
    + 中古で買うと内容が古すぎることがあります。2011年以降に発行されたものにしてください。運が悪いと２０世紀の情報でプログラムをすることになります
    + 今の世の中インターネットで結構情報が転がっているので、実はなくても大丈夫だったりします
    + その場合も内容が2011年以降のものにしてください。
+ 適当な動機
    + 給料上げて毎日銀シャリ食べたいとか、3Dでぬるぬるするエッチなゲーム作りたいとか、単位とか、何かしらあると便利です
    + メイドの動機は「暇つぶしとボケ防止の脳トレ」です。お金もそんなにかからないのでいい趣味だと思います


### 環境って？
プログラミングをするのに必須・半必須・あると便利なツール一連のことを指します。

+ コンパイラ
    + 「テキストで書かれたソースコード」を「実行できるソフトウェア」に変換するツール
+ エディタ
    + メモ帳でプログラムを書き続けるのはツライ物があります。プログラムを書くにはプログラムを書く用のテキスト書きツールを使うのが良いです
    + 例えば明らかに間違っている文法を赤線で示してくれたり、括弧の対応を示してくれたり、必要そうな情報を提示してくれたりします
+ 他デバッカー(プログラムの間違いを探すのに役立つツール)など

今インストールしているVisual Studioというのは上のもの＆その他便利ツールなどが１つになった統合開発環境と呼ばれるものです。全部入り
WindowsでC++をやるのならばVisual Studioが一番手軽に始められるとメイドは思っています

## インストールは終わりましたか？
インストールは終わりましたか？多分終わっていませんね？待っているのも何なのでプログラムを書いてみましょうか

http://melpon.org/wandbox/

上記はオンラインコンパイラと呼ばれるサービスです
要するにネットの向こうにいる親切な人が、あなたが書いたソースコードをコンパイラに通して結果を送り返してくれるサービスです
このようなサービスの利点は何かを準備したりせず簡単なプログラムを試すことができることです。例えば今回はVisual Studioをダウンロードし終わるまでの間にプログラミング体験ができたり。とか
全部これでいいじゃん。と思われるかもしれませんがオンラインコンパイラであまり複雑なもの、例えばゲームなど、を作ることはできません
あくまで簡単なプログラムを試すのに使うのにとどめるべきです

左上の枠から c++ > gcc 5.2.0 というのを選びプログラミングを始めてみましょう。
ちなみにこのgccというのはコンパイラの名前で今ダウンロードしているもの(VC++という)とは違うものになります
違うものを使って大丈夫なのか？と思われるかもしれませんが、大丈夫です。問題なく動きます
ちなみにgccはLinux等でよく使われるコンパイラですが、今は忘れてもかまいません。

コンパイラ何てどれもいっしょです(少なくとも今のところは).
今後プログラミング力を鍛えていくうちにそれぞれの違いが判るようになるかもしれませんが、その時まで忘れててかまいません

さあ、適当な参考書なりウェブページを開いて思う存分プログラムを書いてみましょう。上手く泳ぐコツはとりあえずプールに飛び込んでみることです


#インストールが終わったら
取りあえず起動してみましょう
「新しいプロジェクト ＞ Visual C++ > Win32コンソールアプリケーション」で名前を適当に
アプリケーションの種類を「コンソールアプリケーション」追加のオプションを「空のプロジェクト」にチェックを入れ完了します
そして「ソリューションエクスプローラーからソースファイルを選び右クリック ＞ 追加 ＞ 新しい項目 ＞ C++ファイル名前mainで追加」

そして、先ほどまでと同様にプログラムを書いていきましょう。コンパイルして実行するにはCtrl+F5です




#Visual Studioの便利機能
## ブレークポイント
コードの左のほうをクリックしてみましょう。赤い丸が付きますか？これがブレークポイントです。F5キーを押してプログラムを実行してみましょう。赤い丸のところでプログラムが止まると思います。変数にマウスを重ねると中身が出たりします。プログラムがバグったときはこれを用いてバグの原因を探ったりします

## Releaseモード
上のほうにDebugもしくはReleaseと書いてあるのがあると思います

プログラムを書いている間はDebugモードを使うとよいと思います。Debugモードは実行速度と引き換えにプログラミングしやすい感じにするオプションです
逆にReleaseモードにするとプログラムの実行が早くなりますが、そのかわりコンパイルに時間がかかり上のブレークポイントの機能もうまくいかないことが増えます
ちなみにメイドの友人はこの機能に気が付かず、実験の結果が出終わるのに毎回１０分くらい待っていました。Releaseモードにしたら１分足らずで終わりました。何回も書き直すことを想定しているのならDebug、完成品や重い処理をしたいのならReleaseモードを使いましょう

##コードのフォーマットをきれいにする
Ctrl+K → Ctrl+Dでガタガタになっているコードのフォーマット、たとえば空白の数とかをきれいで良い感じに並べなおします


#おわりに
## NuGetとBoost
Boostというライブラリがあります。これはC++のみんなが良く使う機能や先進的な機能をまとめたものです
何のことかはさっぱりでしょうがいつかコレを使う時が来るでしょう。そのときNuGet Boostで調べると楽々Boostがインストールできて幸せになります。これは頭の片隅に入れておく価値がある情報です。BoostはNuGetで入れられます

##くそったれなコト
プログラミングをしているとあのアレはクソだなんだという話を残念ながらどこかで聞くと思います
しかし、それを鵜呑みにして大した理解もなく言葉の受け売りでクソだなんだと言うのは最高に間抜けなのでやめましょう
クソだなんだというのは、きちんと知識と経験を積み痛い目を見たりして、その後にきちんと脳みそをつかって魂から言いましょう

プログラムを組んでいるとくそったれなことが大半を占めます。モノがくそったれだったり自分がくそったれだったり環境がくそったれだったり。悪態をつきたくなることもたくさんあるでしょう
C++も例外ではなく、というかむしろ普通より多めに悪態付きたくなる場面が多くあるでしょう
しかし、悪態をつきながらもこの言語を使い続ける人が沢山います。好きなんですこの言語を。ただ単純に

メイドはC++を悪態をつきながらも続けるに値する趣味だと考えています


##この記事の目的
取りあえずVisual Studioをインストールすること