タグ

C++11に関するyowanoのブックマーク (21)

  • C++11 では NULL ではなく nullptr を使う - C++ プログラミング

    C++ では NULL は 0 で定義されているため、オーバーロードされた関数を呼び出すようなときに予期しない動作をすることがありました。そんな問題を補うために C++11 では nullptr というキーワードが用意されています。 ここでは、従来の NULL と C++11 で規定された nullptr とを比較しながら、それらの使い方について見て行きたいと思います。 NULL や nullptr の効果 NULL や nullptr は、ポインタに格納されている値が「何もない」とか「空である」といった意味を持たせるためのキーワードです。 このようなとき、最終的にはポインタに 0 が代入されるのですけど、例えば次のように単に 0 を代入しただけでは、プログラムには「0 を代入している」以上の意味が込められません。

    yowano
    yowano 2013/08/19
    従来のC++では空のポインタとしてNULLが使われていたが、NULLは単純な0(int型の0)として定義されていたため、いくつかの弊害があった。そのため、新しくnullptrキーワードが追加された。