タグ

C++とcに関するtomio2480のブックマーク (5)

  • void (コンピュータ) - Wikipedia

    void(ボイド)は、プログラミング言語において、「何もない」といった意味の型などに使われる名前である。プリミティブとしてキーワードないし予約語であることも多い。 ALGOL68やC言語などでは、有意な値を返さないサブルーチンについて、関数としての形式上void型としている。この場合は意味的には(型理論的には)来はUnit型(英語: Unit type)である。呼び出し側に返り値を戻さない関数を書く場合に用いられる。そのような関数は、何かしらの処理、あるいは引数を出力するといった、副作用のために呼び出されるのが通例である。値を返さない手続きは関数ではなくプロシージャである、という言語(Visual BasicやPascal)もある。(「返り値を戻さない」のではなく、「呼び出し側に戻らない」のであれば理論的にもvoid型と言える) 似たものとしてnil(Null)やUnit型(英語: Un

    tomio2480
    tomio2480 2016/01/11
    脳内で C と C++ が混ざっていたので,関数の引数部分の void をどうすべきか調べた.
  • 数値演算定数

    数値演算定数は標準 C/C++ では定義されていません。これらの定数を使用するには、最初に _USE_MATH_DEFINES を定義してから、cmath または math.h をインクルードする必要があります。 リリース モードでプロジェクトをビルドする場合、ファイル ATLComTime.h に math.h が含まれます。ATLComTime.h をインクルードしているプロジェクトで 1 つ以上の数値演算定数を使用する場合は、ATLComTime.h をインクルードする前に _USE_MATH_DEFINES を定義する必要があります。 参照 関連項目 グローバル定数

    数値演算定数
    tomio2480
    tomio2480 2013/09/03
    math使うとき
  • C++とのつきあい方(15)

    続・実行時のクラス判定 以前、実行時のクラス判定として、 MFCの場合に使える方法を紹介しました。 今回は、もっと汎用的な、typeidや dynamic_castを使う方法を紹介します。 ここでは概要しか紹介しませんので、実際に使ってみる場合にはコンパイラーの 付属文書等もご覧ください。 型名を調べる まずは、型を文字列として取得する方法。変数varがあったとすると、 const char * ty = typeid(var).name(); という具合に書くことができます。tyには、 "class CHoge *"などといった具合に 型名(ここではクラス名)が入ります。 もっとも、型が想定通りであるか確認するのに assert(strcmp(ty, "class CHoge *") == 0); と書くのはいかがでしょうか。もっとこみいった型で、文字列での書き表し方が 幾通りもあるよう

    tomio2480
    tomio2480 2013/05/05
    typeid, dynamic_cast
  • C++で後置インクリメントよりも前置インクリメントが多用される理由 - 考える人、コードを書く人

    追記(2015/04/19): 後置を使うべきという意見もあるようです -> 前置インクリメント vs 後置インクリメント | 闇夜のC++ C++を勉強し始めるまでは特に必要がない限り、値をインクリメントする際は前置ではなく、後置でやっているのを見かけるのが多かったのですが、C++や解説サイトを見ると、インクリメントが後置ではなく、前置になっているのをよく見かけます。 昨日まで単にC++のスタイル的な問題なんだろうと思っていたのですが、どうやらもっとちゃんとした理由があるようです。 某IRCで話を振ったら、友達が教えてくれました。 前置インクリメントと後置インクリメント まず、インクリメントを使った例としてfor文によるループを考えてみます。 C言語で書くと例えば以下のようになります。 for (i=0;i<n;i++) { ... } C++でも同じように書けます。 for (i=

    C++で後置インクリメントよりも前置インクリメントが多用される理由 - 考える人、コードを書く人
    tomio2480
    tomio2480 2013/05/05
    インクリメントの位置
  • 1