C++

[C++] std::vectorの値に一致した要素数を取得する

C++

バージョン C++:14 概要 std::vectorに格納されている値が指定した値と合致した場合、最初に合致した要素数を返す処理。 コード #include <vector> void main() { std::vector<int> v = {5, 12, 3, 99, 8}; // 99に合致した最初のイテレータを取得 auto it = std::find(v</int></vector>…

[C++][MFC] C++(VC++)でダイアログに枠無しの子ダイアログを埋め込み、フレーム管理や共通化を実現する

バージョン C++:14 概要 例として複数のダイアログでトップエリアが同一の場合にそこを子ダイアログとして作成し、各ダイアログはそれを埋め込むだけで共通のデザインを実装できる。 要点 子ダイアログを親ダイアログで動的に生成する。 子ダイアログ自体を…

[C++] C++でstaticのarrayで値としてenumを使いたい

C++

バージョン C++ 11 概要 staticとしてstd::arrayをenumの値を使って初期化して使いたいがコンパイルエラーとなってしまう。 そんな時はconstexprを使う。 コード // .h class AnimalShop { public: enum class AnimalType { DOG = 0, CAT, MOUSE, LION, ELEP…

[C++][MFC] C++(VC++)でカレントディレクトリの1つ上のパスを取得する

概要 C++でカレントディレクトリを取得して、その上の親ディレクトリパスを取得する。 「..¥」を末尾に付与して1つ上のパスに移動する方法は 私の場合、別処理で「.」から拡張子位置を判断する処理があったため使えなかった。 コード char buf[MAX_PATH]; /…

[Visual Studio][C++] Visual Studio 2017 のC++(VC++)で「構造のガイド線を表示する」が有効にならない為、拡張機能を入れる

本件はVisual Studio 2017でC++(VC++)開発時のみに発生する。 VS2015以前はコードのガイドラインを拡張機能「Indent Guides」、 VS2017以降はVSの標準機能として 「[オプション]>[テキストエディター]>[全般]>[表示]>[構造のガイド線を表示する]にチェッ…