C++

c++ 環境構築とかメモ

C++

DLLを使う Libを使う pragma commentが機能しない場合の解決法 中間ファイルの出力先を変更 インクルードを階層を意識しないで出来るようにする Releaseコンパイルを早くする ビルド構成ごとにシンボルと定義 専用のビルド構成を作る ソリューション構成とプ…

【Visual Studio】 cppやヘッダーがビルド対象にならないときの対処法

C++

はじめに cppをプロジェクトに含めてもなぜかビルド対象にならないことがあったのでメモ 環境はVisual Studio2015 対処法 .vcxprojと.filtersの中身を直接書き換えることで無理やりビルド対象にします .vcxproj こうなっているのを <ItemGroup> <None Include="Test.cpp" /> </ItemGroup> こうすればいい <ItemGroup> <ClCompile Include="Test.cppp" /> </ItemGroup> .fi…

c++ std::mapで確保された領域を開放する

C++

bravememo.hatenablog.com こちらの記事でvectorのpush_backするとヒープ領域に確保されるとあったが、 std::mapが要素を増やす際もヒープ領域に確保される。 開放はvectorと同じように開放できる。 #include <iostream> #include <map> int main(int argc, char *argv[]) {</map></iostream>…

c++ vectorのpush_backで確保される領域について

C++

vectorのpush_backでヒープ領域に確保される C++STLにあるvectoのpush_back()やemplace_back()で確保される領域はヒープ領域です。 #include "stdafx.h" #include <vector> class MyClass { private: int m_Array[1000];//適当に大きめの領域を確保 }; int main() { </vector>…

CurveEditor Libraryの使い方

CurveEditor Libraryの使い方 Visual Studio 2015以降で使うことが前提になっています。 ご了承ください。 github.com Libファイルのパスを通す リンカ 追加のライブラリディレクトリでlibが入ったフォルダのパスを通す。 リンカ 入力 追加の依存ファイルで…

カーブエディタ作成 c++でグラフデータを読み込むLib作成

前の記事 bravememo.hatenablog.com 完成図 上のグラフをc++で読んだ時の実行結果です。 x = 0.000000 y = 0.000000 x = 0.100000 y = 0.403000 x = 0.200000 y = 0.532000 x = 0.300000 y = 0.617000 x = 0.400000 y = 0.686000 x = 0.500000 y = 0.746000 …

c++ CSVを読み込む際、余計な文字が入ってしまう現象について

現象 以下のようなコードでCSVで読み込んだ際に余計な文字列が入る現象が発生しました。 #include <iostream> #include <string> #include <sstream> #include <vector> std::ifstream ifs; ifs.open(CSVpath.c_str()); std::string value; std::vector<std::string > values; bool isOpen = ifs.is_open();//</std::string></vector></sstream></string></iostream>…

c++ マクロメモ

C++

プリプロセッサの働きとその使い方 #define #undef インクルードガード #line マクロが展開された後のコードを見る プリプロセッサの働きとその使い方 参考URL ylb.jp #define #undef #define __MAX 100 //_MAXが100と置き換わる #define __SHANE_MESSAGE_TE…