' P '

whatever I will forget

Entries from 2019-03-01 to 1 month

C++ ポインタの初期化、Dereference等

C++

初期化 C++ 11からは、nullptrが使える。 int *ptr {nullptr}; 上記の場合は、ポインタはどこのアドレスもポイント(参照)していません。 まあ、ポインタはとりあえず絶対初期化しましょうねって感じです。 (ゴミデータが厄介になるため) int test {100};…

Global変数、Local変数、static変数

C++

Global変数 プログラム内のどこからであっても参照できる変数。 いくつかの関数で同じグローバル変数が使用され、値が変更されたとしたら、前回に値を変更した値が保持される。 Local変数 {}で囲まれた範囲内のみで使用可能な変数。 {}の外から呼び出しても…

C++ 関数に渡す値が大きくなる場合は値を渡すのではなく、referenceを渡す

C++

いわゆるpass by valueとpass by reference。 pass by valueだと、関数がcallされたときに、値をそのままコピーしてしまう、ということはコピーされた変数にも空間が作られる。 pass by referenceだと、値をコピーせず、アドレスを参照にしにいく。 そのため…

C++ 関数に配列を渡したい場合

C++

関数に配列を渡したい場合は、配列変数と共に、配列サイズも渡してあげること!!! (関数はその配列変数が何この要素を持っているのか知らないため) また、print系の関数でarrayの値が変わるはずがない場合には、ちゃんと"const"をarray変数の前に定義す…

C++ 関数定義

C++

なんか微妙に覚えられないので備忘録 C++では関数を使うときに 1. プロトタイプ関数の宣言 2. 作った関数をcallするmain関数 3. 作った関数のロジック定義 でやっていこうとしているのだが、定義時にいつもしょうもないエラーを発生させてしまう・・・ 1. プ…

C++ 関数からreturnされる引数の値で変数を初期化するとき

C++

アホみたいなコードを書いていたので備忘録 double C = F_to_C(F_temp); C変数を宣言しつつF_to_C関数の返り値で初期化したかった。 F_to_C(F_temp); double C = F_temp; こんな二行も使うコードは書いたらダメよって話 Returnだけで関数呼び出し元の変数の…

C++ cmathライブラリ

C++

これは特に説明しなくても、レファレンスを参照するの方が早い http://www.cplusplus.com/reference/cmath/ ただ小数点の丸のところは仕事でも使いそうな予感がするので一応メモ round = 一番近い値に丸める e.g. 14.2 だと14 ceil = 最小の整数値に丸める e…

C++ find関数を使うときの注意点

C++

findを使うときは、size_t型を使おうねって話と、string::nposも必需品って話 サンプルコード #include <iostream> #include <string> using namespace std; int main() { string alpha {"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"}; string key {"XHAGSJSKCUENC</string></iostream>…

C++ Strings 宣言と初期化、使い方など

C++

うおおお C++スタイルだとこんなことができるなんて全く知りませんでした! C言語スタイルに慣れすぎてていやだ。 まず初めに C++ Stringsを使う場合は、 #include <string> using namespace std; 上記がincludeされていることが条件 代表的な宣言と初期化 string s1</string>…