プログラマーの卵の日記

備忘録になってます!小難しそうなことから超簡単なことまでやってます!!

C++

【C++】標準forについておさらい

C++

最近、範囲forしか書かな過ぎて標準的なforの処理をすっかり忘れていたので… 画像内の処理は全部同じものです。 白四角:初期値。初回の一回しか通らない。 赤四角:繰り返す条件。条件が満たされなければforの人生は終わる。 オレンジ四角:処理 青四角:処…

【C++】構造体でstd::find

C++

知見を得たので備忘 struct Member { int num; std::string name; Member() :num(0) ,name("") {} Member(int nu, std::string na) :num(nu) , name(na) {} bool operator==(const Member mem) { bool is_hit = false; if (num != 0) { is_hit = num == mem.…

【C++】続else ifでnullチェック漏れ

C++

【C++】else ifでnullチェック漏れ - プログラマーの卵の日記 の次 こんな書き方出来るんだなって #include "iostream" class A { public: A() { std::cout << "コンストラクタ\n"; } ~A() { std::cout << "デストラクタ\n"; } void Print() { std::cout << …

【C++】else ifでnullチェック漏れ

C++

とある本読んでたら「えっ、この書き方どうなんの…?」と思ってやってみたら「nullチェックすり抜けるや~ん」っていう。 int main() { const char* strA = nullptr; const char* strB = "aiueo"; if (strA != nullptr) { // strAがnullptrでなかったら通る …

【C++】簡単にサウンド「MMSystem.h」途中まで

図書館でサウンドプログラミングの本を読んでみたら[mmsystem.h]というのを使っていたのでそこから色々調べてみてまとめてみました。 参考 Windows C++で音声再生 - Qiita waveファイルの再生(PlaySound) | WINAPI入門~bituse~ PlaySoundの参考コード(""は…

【C++】コールバックというものを書いてみた

C++

最近よく見かけるコールバックを簡単に書いてみた! ここでは単純にUpdateにてループしているときにコールバック関数があれば実行を行い、中身を消しています。 <iostream>って書くとタグとみなされて消えるので""に囲ってます。 #include "iostream" #include "functi</iostream>…

【C++】複数要素のソートがしたいのでstable_sortを使ってみた

C++

stable_sortって? stable_sort - cpprefjp C++日本語リファレンス 「安定ソート」を行う。一般的なマージソートで実装される。そのため、メモリを消費している。 と言っても、上のリファレンスだけだといまいちわからない… まず、安定ソートってなんだ? と…

読書による知見 - SIMD演算

SIMD演算 で、SIMD演算って何?SIMD(Single Instruction Multiple Data)命令らしいよ。いやそうじゃなくってね。 Wiki↓ SIMD - Wikipedia 調べた参考先↓ SIMDプログラミング入門(AVX-512から始める編) - Qiita SIMDの組み込み関数のことはじめ - koturnの…

【DxLib】プレイヤーのポーズを行列で見てみた

おそらく全体的にこの記事は間違っている可能性があります。時間があったらもっと勉強して直してみます。 構成 No.1 これまでNo.2 行列変換用関数No.3 実際に見てみた No.1 これまで これまでは基本的にベクトルで3Dのゲームを構築していました。そこで、行…

【C++】unordered_mapの面白い使い方

C++

unordered_map 簡単に言うとキーとそれに対応した値を保持するハッシュ連想配列。 これは、同じキーは保持できないというもの。今回はそれに目を付けた。 というか正直At〇oderで、そんな使い方する!?ってなって面白かったので備忘録的な。 内容 文字列を…

【C++】表示させる桁数を増やしたい

C++

動機 AtCoderというところで合っているはずなのに不正解と言われていた。 そう、表示させる桁数が足らなかったのである。(実際のところはコードミス) なので、表示できる桁数を増やそう。 コード コードを書く上で参考にしたサイトは以下の通りです。 EZ-N…

【C++】正直気にしたことないけどstd::endlって必要なの

C++

std::endl ひとまずstd::endlについてリファレンス見てみます。 リファレンス:endl - cpprefjp C++日本語リファレンス ここでは、「改行を出力し、バッファをフラッシュする」という意味で説明しています。 分かりやすく分けると、「改行を出力」「バッファ…

【C++】アライメントとかいうカッコ良さそうな言葉の意味を知りたい

C++

参考: https://qiita.com/HImaJin_Tw/items/d5f01e647b74abee4ae4 https://kumikomiya.com/data-structure-alignment/ アライメント アライメントを知るためには、例となるコードが必要なので以下のコードを提示しときます。 というかこれを実行すれば大体…

【C++】フラッグのオンオフに対してboolを使わないだと

boolを使わない これについて、これまでに読んだ本で何度も見かけました。 ですが、ほとんどの本が「boolではなくunsigned intやunsigned charなどを使います!」というだけで、実際の使い方を言及しているというものはありませんでした。 ということで、気…

【C++】なんか波で遊んでみたので備忘録

※補足 サインコサインで遊んで出てきたものなので特に考えてないです。内容についても脳死で作ったものなので、とりあえずコードとgifの動画だけ出します。 パターン1 ////////////////////////////省略///////////////////// float Sin_ZeroToOne(const in…

【C++】 メンバ関数の後ろのconst

C++

参考:http://wisdom.sakura.ne.jp/programming/cpp/cpp42.html 構成 No.1 試してみたコードNo.2 内容 No.1 試してみたコード #include class A { private: int testA; const int testB; mutable int testC; public: A() :testA(0), testB(1), testC(2){} ~A…

【C++】演算子のオーバーロード

C++

演算子のオーバーロード 今までにSTLとか使ってると「.」を押したときに候補としていくつか出てくると思うんですが、その中に「operator=」とかあったと思うんですよ。 正直わけわかんなかったので放置してたんですが、それが演算子のオーバーロードっていう…

【DxLib】一つの足音ファイルを複数の足音ファイルっぽく

構成 周波数でそれっぽく 周波数でそれっぽく 実際の現場とかそういうのは知りませんし、DxLibだと簡単に弄れるのが周波数だったので周波数を弄りました。 やっていることも簡単で、足音がなるたびにSetFrequencySoundMemという関数を用いて足音の周波数を初…

【C++】範囲for文とfor文の違いについてよく見て見た

C++

構成 No.1 何故この話かNo.2.1 (数値による範囲)よくあるfor文No.2.2 (数値による範囲)範囲for文No.3.1 (配列ポインタクラス)よくあるfor文No.3.2 (配列ポインタクラス)範囲for文No.4 要は No.1 何故この話か 某ゲームプログラミングの本を読んでいたら、自…

【C++】0から1の数値をいろいろなやり方でフェードさせてみた

C++

※補足:図とか出力を見やすくするため、DxLibを使ってますが表題とはあまり関係ないです。 また、後日追記更新する可能性があります。(絶対するとは言ってない) 構成 No.1 経緯No.2 サイン波No.3 二乗カーブNo.4 線形補間 No.1 経緯 サウンドの勉強してた…

【UE4】UE4C++を勉強し始めてみた

公式リファレンス:https://docs.unrealengine.com/ja/Programming/Introduction/index.html参考:https://qiita.com/bigengelt/items/b17545fffe7b8d69e5e8 構成 No.1 準備No.2 正直な話No.3 コード No.1 準備 C++用のプロジェクト作成は端折るとして、プロ…

【C++】なんやかんや言ってsin波ってめっちゃ使うよね

構成 No.1 sin波No.2 sin波のコード No.1 sin波 ゲーム作ってると、シーン画面のフェードインとかフェードアウトとかBGMのフェード切り替えとかでsin波の流れみたいのって使うと思うんですよね。あとはジャンプとか場合でも使うと思います。 でも、ぶっちゃ…

【DxLib】色覚補正の画像を出力するプロジェクトを作ってみたい

【DxLib】色覚補正の画像を出力するプロジェクトを作ってみたい 構成 No.1 補足No.2 mainだけで済むんですわ No.1 補足 画像の読み込みから出力までDxLibの関数を活用しているのでほとんどがDxLib用です。ただ、色覚補正に関する処理は1ピクセルで行ってい…

【C++】ファイルの入力出力したい

C++

前に記事書いたような気もするけどもう記憶から抹消されてるし書いてないと思って書こうと思ってる次第です。 構成 No.1 補足的な話No.2 インクルードしてるやーつNo.3 cppでどんなの作ってるか No.1 補足的な話 完ぺきではない。というのもこのプロジェクト…

【C++】例外処理たるものを理解しようとしてみた

C++

構成 No.1 実際作ったやつNo.2 例外処理 No.1 実際作ったやつ 引越し関係がやっとこさ落ち着いたのでなんか作りたいなーって思っていた矢先に、大学の部活で後輩に対して課題が出ていたので便乗してゲーム作ってました。 でも、そんなにすぐアイディア湧くわ…

読書による知見①(C++の文関係)

※怒られたら消します。 再帰 再帰は綺麗ではあるが、多くの場合、不要な関数呼び出しのオーバーヘッドを招く。再帰を用いず、明示的にスタック構造を取り除けるのであれば、再帰は非再帰アルゴリズムに書き換えた方が良い。 #include <iostream> void Num(int& num) { </iostream>…

【C++】Threadについて分かった気になってみる

C++

構成 No.1 補足No.2 std::threadNo.3 std::mutex No.1 補足 先に伝えますが、理解しているようで理解できていないと思うので読むならそのつもりで見てください。 では、何故その状態で記事を書こうと思ったかというと、DxLibというライブラリにてロード画面…

【DxLib】3D作りたいしロード画面作りたいしなんなら非同期でやりたい

構成 No.1 目的No.2 cppのコード No.1 目的 2Dゲームなら読み込みとか全然気にならないんですけど、3Dゲームの3Dモデルとかって読み込みに時間かかるんですよね。 で、それに対してロード画面というか非同期処理を施さないといわゆるフリーズした状態になっ…

【C++】【DxLib】四角形と円のあたり判定やってみたい【2D】

描画に関してDxLibを使ってるだけで処理関係はDxLib関係ないです。 構成 No.1 四角形同士No.2 丸同士No.3 四角形と丸 No.1 四角形同士 四角形同士の当たり判定は、双方の四辺が当たっているかどうかを調べるだけで行けます。 特に説明不要! struct BOX { fl…

【C++】ただただ回転させたい【2D】

構成 物体を回転させたい 物体を回転させたい ぶっちゃけ説明すべきことが特に思いつかないのでもうコード載せる。 void Move(float& t_x, float& t_y, float& t_moveX, float& t_moveY, float& t_rotaX, float& t_rotaY, const float t_areaX, const float …