ひととおりC/C++言語を勉強した人向け,細かなTipsです.
putc, puts, printf の研究getchar, gets, scanf の研究main() 関数の引数・戻り値について malloc, calloc など.C++を含む.
cout, cerr の研究cin の研究new,delete[],スマートポインタstd::unique_ptr,コンテナstd::vectorなど.
普段の計算で使いそうなもの.
詳しくは専門書で.
std::complex<型名>,型名のところは通常,実数.
#include <iostream>
#include <complex>
using std::cout;
using std::endl;
int main(void)
{
std::complex<double> z;
z = std::complex<double>(2.0, 3.0);
cout << z.real() << endl;
cout << z.imag() << endl;
cout << abs(z) << endl; // 絶対値
cout << norm(z) << endl; // ノルム
cout << conj(z) << endl; // 共役
return 0;
}
配列にしたければ,std::vector<std::complex<型名>>
古いコンパイラだと,>>がエラーになるので,> > のように,スペースを一つ入れる.
平方根,三角関数,指数・対数も複素数に拡張されている. (もともとの math.h にあるCRT関数は実数向け.)
#include <iostream>
#include <complex>
using std::cout;
using std::endl;
int main(void)
{
std::complex<double> z;
z = std::complex<double>(2.0, 3.0);
cout << sqrt(z) << endl;
cout << sin(z) << endl;
cout << cos(z) << endl;
cout << tan(z) << endl;
cout << exp(z) << endl;
cout << log(z) << endl;
return 0;
}
utf-8 な .cpp を VS2015 でコンパイルするには,
> cl /source-charset:utf-8 *.cppまたは,単に
> cl /utf-8 *.cpp
#pragma warning(disable:4267) // size_t->int
#pragma warning(disable:4244) // double->float
#pragma warning(disable:4819) // mmreg