タグ

C++に関するmasudaKのブックマーク (5)

  • RAII解説 - Qiita

    この記事は初心者 C++er Advent Calendar 2015の21日目の記事です. 昨日はshunonymousさんの「 C++でプログラムの動作を一定時間止める」でした. まるで初心者向けの記事を書けないかのような言われようですが1,氏の期待通り初心者向けの記事を書いたつもりです. 初心者の皆さんがこの記事を読んで初心者から一歩脱してくだされば幸いです. また,マサカリは大歓迎なのでバンバン投げてください. あじぇんだ C++において多用されるRAIIという技法の考え方とメリット・デメリットについて,同様の目的で用いられることのあるGCとの対比も交えつつ紹介していきます. ちなみに私はGCとかJavaとかよく知らない初心者なので,大嘘を書く可能性があります.もし誤った記述を見かけた際には是非コメントを下さい. 初心者向けです. 考え方自体はC++98でさえも通用しますが,コード

    RAII解説 - Qiita
  • 【C++】C++のヘッダインクルード周りの話 その1(includeの目的と分割コンパイルの基礎) - Qiita

    概要 C++のヘッダはインクルードが必要なのか不要なのか判らなかったリ、 順序によってどのような問題が起きるのか判らんけどとりあえず#pragma onceつけとけば問題無いよねとか、 大きな開発の場合初めからちゃんとやっておかないと後々解決しようがない程の問題(コンパイル速度)に発展しかねない危険も孕んでいたりと手軽に利用できる割には闇が深いです。 そこらへんについて自分の知識でまとめてみようと思うので、 間違っていたりこんな考えもあるみたいなのもあったら是非コメントでまさかりを投げてください! 出来る限り初心者の方でも判るように説明する予定です。よく判らないとかあったら言ってくれれば頑張ります。 結構長い解説になりそうなので数回に分けようと思います。 今回は初回なのでとりあえずインクルードの基礎的な知識について解説します。 includeする目的を考える 関数やクラスの宣言はヘッダに書

    【C++】C++のヘッダインクルード周りの話 その1(includeの目的と分割コンパイルの基礎) - Qiita
    masudaK
    masudaK 2018/09/27
  • 【C++】なぜヘッダと実装はわけるべきなのでしょうか(.hに実装を書くことは邪道か)

    私はC++歴3年の学生趣味プログラマーです。 「C++はなぜヘッダと実装を分けなくてはならないのか/そもそも当に分けなければならないのか」という質問です。 C++といえば、ヘッダー部と実装部を.hファイルと.cppファイルに分けることが一般的とされている言語ですが、 これは同じオブジェクト指向言語のC#やJavaにはない特徴です。 そのせいでC++使いたちは今日もcppファイルとhファイルを行ったり来たりしながらコーディングする羽目になっています。(そしてVS使いはF12とCtrl+-を得意気に連打しています。) 私にとってもそれが当たり前になって久しいですが、 時々C++を学び始めたばかりの後輩から「なぜヘッダファイルに実装を書いてはならないのか」「なぜC++は二度も同じコードを書くことを強いるのか」と質問を受けます。 私はそのたびに「実装の隠蔽化」とか「循環参照の危険が云々」とか「そ

    【C++】なぜヘッダと実装はわけるべきなのでしょうか(.hに実装を書くことは邪道か)
  • using namespace std; の危険性と注意点・代替案【なぜ使わないほうがいいのか】

    using namespace std C++では名前空間の面倒な修飾を省略するためにmain関数の外でusing namespace std;という記述をすることがあります。これによって、std::coutという記述をcoutというstd::を省略した形で簡潔に記述できるようになります。 #include <iostream> using namespace std; // usingディレクティブ int main() { cout << string("便利") << endl; } usingディレクティブ、とりわけusing namespace stdの利用は、サンプルプログラムでの活用や、その場限りの簡単なプログラムを書く分にはそれほど問題にはなりませんが、大規模なコードや継続的な保守・拡張を前提としたコードを書く際には、面倒な問題や複雑な挙動に直面する危険性があるため、できる

    masudaK
    masudaK 2018/09/23
  • 初心者 C++er Advent Calendar 2015 - Adventar

    このカレンダーは C++er 初心者が、もしくはすごい人が初心者向けの記事を書くゆるふわなアドベントカレンダーです。 C++ Advent Calendar 2015とどちらに書けばいい? このアドベントカレンダーは C++er 初心者が記事を書くため、もしくは C++er 初心者のために書く記事を対象としたアドベントカレンダーになります。 それ以外の記事を書きたい方は C++ Advent Calendar 2015 にお願いします。 ルール 初心者向けで C++ に関連していれば技術レベルやライブラリ、分野などは気にしないで書いてもらって構いません。 もちろん、初心者の方も『わたし C++ できないから…』と思わずに好きに書いてもらって構いません。 記事に関してはなるべく担当日中に公開できるようにお願いします。

    初心者 C++er Advent Calendar 2015 - Adventar
    masudaK
    masudaK 2018/09/14
  • 1