いさぽん部屋(isapon.com)

ゲーム系プログラマによる特に方針のないブログ。技術系とカレー、ラーメンネタ多めだったはずが、最近はダイエットネタ多め。

C++

moveされた右辺値の扱い

C++

ふと、move後のオブジェクトの状態ってどうなんてんだっけ?と気になった。 仕様上ではムーブ後のオブジェクトは「書き換えてよい」となっているが、この場合の書き換えがどこまでの話なのかというのがちょっとわかりにくかったので、改めて勉強しなおし。 …

local reference table overflow の時の確認方法

Android 向けの開発をしていたところ、local reference table overflow なるエラーが起きた。 解決方法は簡単(NDKならね)なのですが、修正する前にどんな状態なのか調べたかったので何か良い調査方法はないかと探してみました。 VMDebug.dumpReferenceTables…

一家に一冊。c++ポケットリファレンス 第3版

C++

c++17対応版登場 先日、c++17の仕様決定に合わせ、技術評論社から発売された『[改訂第3版]c++ポケットリファレンス』ですが、待ってました!と言わんばかりに買ってきました。 改訂第2版からc++17に対応した分の項目が追加されています。 c++17のまとまった…

std::error_code と GetLastError()

Win32APIのエラーコードをc++標準で返したい よく忘れるのでメモ。 std::error_code(GetLastError(), std::generic_category(), what_msg); エラーカテゴリに std::generic_category() を渡すのがポイント。 generic_category は第1引数で指定するエラーコ…

C++ 同じ名前で別の構造体は宣言するべからず

C++

実験をしていたらおかしなことになった テンプレートの勉強というかあれこれ実験をしていたのだけど、突然意図しない動作をしだしたので原因と解決方法をメモ。 いや、気が付かないよ。こんなん。 症状 なぜかデストラクタが呼ばれない(デストラクタ以外も意…

Android 開発で細々変更があったので自分用まとめ

文章をあれこれ書くより見たほうが早いので要点だけ。 app_dummy() が deperecated android_main() から app_dummy() を呼び出していると Calls to app_dummy are no longer necessary. See https://github.com/android-ndk/ndk/issues/381. と警告が出ます…

c++11 std::move /ポインタのムーズでハマりそうなこと

C++11ネタです。俺の中ではC++といってもC++11以前と以降では別物として考えています。 Before C++11 と After C++11 、略してBC11とAC11。なんだか西暦っぽいです。でもそれくらいC++はC++11で変わりました。 と、そんなC++11ですが、C++11以降で結構肝にな…

Vulkanでハマる

ここ数年、仕事で3Dを直接扱うことがあまり多くなかったので ちょっと勘が鈍っています。 直接というのは 自分で座標計算やらなんやらしてGPUを叩く的な意味です。 最近はライブラリが充実しているので あまり気にせず組めてしまうんですよね。 楽に作れる…

iOSアプリ開発するならStoryboardは使うべからず

iOSアプリ(iPhoneアプリ)の開発をする際に xcodeでプロジェクトを作ると 標準でStoryboardを使ったビューの制御が入ります。 グラフィカルなインターフェースでUIの遷移を 設定することができるわけです。 が、使うな!と言いたいです。 今日はそんな心の…

C++11のラムダ式の最適化について調べる

C++11 のラムダ式は便利だ 最近ではJavaScriptなどC++11のラムダ式と近い書式をを見かけることも多くなったので、あまり書式の特異性を感じなくなりました。 とはいえ、キャプチャー部分など、ラムダ式はC++の構文の中では特異な方です。 あまり多用するとそ…