發表文章

目前顯示的是 7月, 2018的文章

[C++] RTTI(執行時期型態資訊)的 Demangling

圖片
挽救回不來的進度(?)  這些日子懶到只有發幾篇歌詞翻譯,連一點點的技術性文章都沒有產出,為了確認我還活著而且沒有轉職(??),想說發一篇不久前看到 C++ 裡一個好用的函式。 RTTI,執行期型態資訊   這個應該很多人都已經知道了,只要引入 <typeinfo> 標頭檔,再使用 typeid 運算子就可以得知目前某個變數的型態資訊,在多型與動態型別方面很有用。      而其中,有個 name() 成員函式可以取得型態的名稱,用法如下: #include <typeinfo> // 略... int i; cout << typeid(i).name() << endl; // 輸出: i   如果你是使用 gcc 的話就會看到輸出為單個字母:i,這不難理解,就是 int 嘛,但是這樣呢? char *c = new char; // 字元指標 int foo(float a); // 接受一個 float 並回傳 int 的函式 string s; // 字串 cout << typeid(c).name() << endl; cout << typeid(foo).name() << endl; cout << typeid(s).name() << endl; // 輸出: // Pc // FifE // NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE   第一個就是指向 char 的 Pointer 嘛,那接下來...「FifE」? 我是知道 Five 啦;「NSt7...... EEE」 ......??   我彷彿看到了許多黑人問號。   會出現這麼奇怪的名字是因為 C++ 有一個叫做 Name Mangling 的機制,簡單說就是把型態名加入一些特色並改寫成一個不會與其它名字重複的技術,但是經過 mangle 的名字對我們人類來說實在不好理解啊!所以我們要介紹一個很好用的函式:abi::__cxa_demangle() Demangling:現出本名   在使用這個函式之前要先引入 <cxxabi.h&g

[歌詞翻譯] 天宿り - After the Rain

我又拖稿惹,這篇早在6月中就翻好了但一直忘記要發,就變成這樣了XD 這次試著翻了一直以來都很喜歡的歌- 天宿り ,在聽專輯的 XFD 時就很想聽整首的了,後來無意間找到了這首的音檔,於是我跟這首歌才能相遇(?),而這篇翻譯也才能誕生(??) 天 あま 宿 やど り 作詞・作曲:まふまふ 歌:そらる 強 つよ がってばかりで   意地張 いじは ってばかりで 總是在逞強  總是一意孤行 背 せ は 小 ちい さいままで   夕焼 ゆうや け 空 ぞら    暮 く れていく 背影仍然渺小  晚霞中的夕日  逐漸西下 臆病 おくびょう なままだな   泣 な き 虫 むし なままだな 依舊懦弱  依舊是愛哭鬼 あぜ 道 みち でふざけた  あの 頃 ころ から 変 か わらない 鄉間小路的笑鬧  從那刻起就不曾改變 いけないこととわかっている 不被允許的事我一直都知曉 許 ゆる されないとわかっている 不被原諒的事我也一直都明白 それでも 今日 きょう は 雨 あめ が 降 ふ るから 縱然那樣  在今日這下著雨的日子 雨宿 あまやど りをしていこう 一起去避雨吧 ああ 啊啊 借 か り 物 もの としても 即使身為借來之物 今 いま はただ 貴方 あなた が 愛 いと しくて 此刻還是只愛著你啊 知 し りたいこと 以外 いがい    知 し らないから 想知道的事物以外  什麼都不知道 このままでいよう 就這樣吧 人気 ひとけ のない 小道 こみち を   言葉 ことば も 無 な く 歩 ある いた 杳無人跡的小徑  默不作聲地走過 信 しん じ 合 あ えたあの 頃 ころ のように 就如同還能互相信任的那些時日 数 かぞ えるほどの 幸 しあわ せに   誇 ほこ れるものがあるのなら 要是有能向屈指可數的幸福誇耀的事物 同 おな じ 世界 せかい で  こんな 世界 せかい で 在同樣的世界裡  在這樣的世界中 愛 あい し 合 あ えた  それだけだ 得以相愛  僅此而已 この 雨 あめ が 止 や まない  ずぶ 濡 ぬ れの 世界