- 1 名前:名前は開発中のものです。 mailto:sage [2015/01/11(日) 10:19:31.85 ID:RDQlUyF+.net]
- ゲーム製作におけるC/C++全般に関するスレです。
元スレ DXライブラリ 総合スレッド その18 peace.2ch.net/test/read.cgi/gamedev/1399459468/ 前スレ C/C++ゲーム製作総合スレッド Part1 toro.2ch.net/test/read.cgi/gamedev/1337516528/ C/C++ゲーム製作総合スレッド Part2 toro.2ch.net/test/read.cgi/gamedev/1351015269/ C/C++ゲーム製作総合スレッド Part3 toro.2ch.net/test/read.cgi/gamedev/1357899040/ C/C++ゲーム製作総合スレッド Part4 toro.2ch.net/test/read.cgi/gamedev/1376262450/ C/C++ゲーム製作総合スレッド Part5 peace.2ch.net/test/read.cgi/gamedev/1389798031/ C/C++ゲーム製作総合スレッド Part6 peace.2ch.net/test/read.cgi/gamedev/1404815419/
- 141 名前:名前は開発中のものです。 mailto:sage [2015/01/28(水) 19:28:52.88 ID:tBFCEOiA.net]
- 古いからといってバグが無いとは限らないけどな。
特に昔のコードは脆弱性対策が練られてない事が多い
- 142 名前:名前は開発中のものです。 mailto:sage [2015/01/28(水) 20:15:35.81 ID:RgnZVm9M.net]
- FirefoxはJavaScriptの速度がChromeを超えたとか言われている割にもっさりしている感が否めない
後発のChromeの方が速い
- 143 名前:名前は開発中のものです。 [2015/01/28(水) 20:18:09.19 ID:t3hT+Wje.net]
- >>138
感覚でなく実測で。
- 144 名前:名前は開発中のものです。 mailto:sage [2015/01/28(水) 20:33:36.08 ID:RgnZVm9M.net]
- ブラウザの使用感はスクリプトの実行速度だけで決まるわけじゃないからな
読み込み時間の短縮も大事 v8の方がバイトコードを通さず直接マシン語を生成するから読み込み速いんじゃないか 全体の速度はTom's Hardwareが調べていたが スコアを合計したら何かFirefoxが速いという結論になっているのが理解できなかった どんな計算をしたのやら www.tomshardware.com/reviews/chrome-27-firefox-21-opera-next,3534.html 古い記事だけど
- 145 名前:名前は開発中のものです。 mailto:sage [2015/01/28(水) 20:35:32.45 ID:GO27aJnJ.net]
- 関係ないけど体感速度を速く感じさせるって大事な事だね
Chromeはメモリの使い方や優先順位の割り振りが上手いんじゃないかと
- 146 名前:名前は開発中のものです。 mailto:sage [2015/01/28(水) 21:30:30.57 ID:zOtKlcou.net]
- chromeはメモリ馬鹿食いするしな
ブラウザしか起動しないならそれでもいいんだが
- 147 名前:名前は開発中のものです。 mailto:sage [2015/01/28(水) 23:41:47.26 ID:gWUJCc9x.net]
- わずかな妥協さえ許さずチューニングに血道を上げ
DNSの応答時間すら惜しむ そりゃ比べる相手が悪すぎる
- 148 名前:名前は開発中のものです。 mailto:sage [2015/01/29(木) 00:04:26.59 ID:iAJNBuYX.net]
- 0.3を0.1にする前に,10が1になるツールを作ろう
- 149 名前:名前は開発中のものです。 mailto:sage [2015/01/29(木) 08:56:31.18 ID:KH1X7ZAq.net]
- メモリが多めのマシンだとChromeが最速だろうね
逆にChromeでメモリ不足に陥るマシンなら最速はFirefoxセーフモードかと
- 150 名前:名前は開発中のものです。 mailto:sage [2015/01/29(木) 09:36:37.60 ID:6+mjNHtZ.net]
- FirefoxはブックマークとかタブとかRSSあたりが使いやすい
あとはDuckDuckGoに対応してたりとか まあ好きな方使えばいいんじゃない?
- 151 名前:名前は開発中のものです。 mailto:sage [2015/01/29(木) 10:09:11.55 ID:c6VwBThb.net]
- Chromeの最低動作環境は一応メモリ512MB
タブをいくつ同時に開けるのか分からないが
- 152 名前:名前は開発中のものです。 [2015/01/29(木) 11:20:16.55 ID:XKuc65oW.net]
- JavaScriptとブラウザの速度が一緒くたにしてる。
ChromeはJavaScript不使用であってもメモリ食う。 ChromeにIE,FirefoxのJavaScriptエンジン搭載したらメモリ消費が減ると思えん。
- 153 名前:名前は開発中のものです。 mailto:sage [2015/01/29(木) 13:39:58.83 ID:c6VwBThb.net]
- ブラウザ全体が確保したメモリを使いまわしているのだろう
新しいのページ等はHTML5で書かれているので実質JavaScriptを完全にオフにはできない。 v8もメモリが十分にある環境だとメモリ使用量が200MBを超えたぐらいにならないとGCされない。
- 154 名前:名前は開発中のものです。 mailto:sage [2015/01/29(木) 13:45:00.34 ID:au4Qd8+o.net]
- C++でブラウザゲーム開発?
- 155 名前:名前は開発中のものです。 mailto:sage [2015/01/29(木) 15:54:12.53 ID:PqqQ3LUQ.net]
- ただの荒らしでは?
- 156 名前:名前は開発中のものです。 mailto:sage [2015/01/29(木) 19:20:51.28 ID:QDO0WN3U.net]
- >>150
emscripten?
- 157 名前:名前は開発中のものです。 mailto:sage [2015/01/30(金) 17:01:12.20 ID:1O7TniCL.net]
- 「国産フリーゲームの舞台をPCスタンドアロン(主にC++)から
ブラウザゲーム(クラウド、HTML5)やスマートフォンアプリ(非C++多)に移行」 させようという思惑を、最近この板でひしひしと感じる。
- 158 名前:名前は開発中のものです。 mailto:sage [2015/01/30(金) 17:49:20.89 ID:Uwc5t0gr.net]
- エサに飢えたスマホ厨や企業やその信者のステマ工作員だろ ほっとけ
- 159 名前:名前は開発中のものです。 mailto:sage [2015/01/30(金) 17:52:07.48 ID:9l7Lplvm.net]
- スマホはAppmethodというC++環境もあるが?
- 160 名前:名前は開発中のものです。 mailto:sage [2015/01/30(金) 18:28:39.45 ID:cceEvulu.net]
- 一般企業 : C++って難しいんでしょ?
奴隷商人 : 新しいxx言語やツールを使えば簡単ですよ 奴隷商人 : C++なんか使う必要ありません 奴隷商人 : 素人でもちょっと勉強すれば使えますよ 奴隷商人 : わが社では優秀なxx言語エンジニアを多く確保しています 奴隷商人 : 非常にリーズナブルな値段で派遣できますよ 一般企業 : じゃあxx言語とツールで開発するからnn人派遣して 奴隷商人 : まいどw 奴隷商人 : さてと在庫減ったし新しいボンクラ雇うかな、安い金でw 奴隷商人 : Appmethod? ボンクラがC++使えるわけねーだろw 奴隷商人 : うちは安さが売りなの C++プログラマ : 仕事ないすか? 一般企業 : うちはxx言語とツールで開発するからC++いらないよ 一般企業 : C++高くつくし ユーザ : みためはそれなりだけど、手抜き感ありありのクソゲー増えたな ユーザ : 今売れてる○○なんか△△をパクッて版権キャラゲーにしただけだし ユーザ : そのくせバグが多くて元の△△より面白くない
- 161 名前:名前は開発中のものです。 mailto:sage [2015/01/30(金) 18:54:29.18 ID:8M4ey3DN.net]
- まいどw
- 162 名前:名前は開発中のものです。 mailto:sage [2015/01/30(金) 19:11:37.72 ID:WJ9MDokc.net]
- >>156
C++でも買い叩かれる
- 163 名前:名前は開発中のものです。 mailto:sage [2015/01/30(金) 20:07:26.54 ID:eOqAWtJ/.net]
- (給与だけなら)Python最強、C++は微妙
プログラミング言語別求人給与額の第2位はRuby、第1
- 164 名前:位は? | 開発・SE | マイナビニュース
http://s.news.mynavi.jp/news/2014/11/04/084/ [] - [ここ壊れてます]
- 165 名前:名前は開発中のものです。 mailto:sage [2015/01/30(金) 20:33:11.20 ID:8M4ey3DN.net]
- >>159
件数の軸だけ見ると、Javaが断トツなんだな。 ま、自分はC++しかしないけど。
- 166 名前:名前は開発中のものです。 mailto:sage [2015/01/30(金) 21:50:27.80 ID:xDmuU9zY.net]
- 民度が高過ぎる(笑)。
自分は案件減や開発コスト軽減からC#やPHPに日和ってしまってるけど やっぱりちゃんとC++で「アセンブラレベルで何が起こってるか」意識した プログラムしないとダメになっちゃうかもね。
- 167 名前:名前は開発中のものです。 mailto:sage [2015/01/30(金) 23:02:06.31 ID:8M4ey3DN.net]
- >>161
C++は遣り甲斐があるぞ〜、と誘惑してみるw
- 168 名前:名前は開発中のものです。 mailto:sage [2015/01/30(金) 23:29:11.58 ID:lEERAgAH.net]
- 正直C++もC#も言語使用は簡単でしょ?
問題はオブジェクト指向とかアルゴリズムじゃないの?
- 169 名前:名前は開発中のものです。 [2015/01/30(金) 23:48:33.71 ID:mPLLQnOv.net]
- ラインパーティクルみたいな細長くて透明な部分があるテクスチャが
交差するときって どうすればいいですか? というか、Zソートってテクスチャが貼られた面の重心を使ってやるんですか?
- 170 名前:名前は開発中のものです。 mailto:sage [2015/01/31(土) 00:04:49.27 ID:XljQIOh1.net]
- メモリを意識して書かないといけないのはC/C++くらいでないの
メモリアドレス扱う言語って他になんかある?
- 171 名前:名前は開発中のものです。 mailto:sage [2015/01/31(土) 00:15:01.69 ID:vx9WzsVv.net]
- >>163
C++は根底にCとしての組み込み系やら、ドライバとかの知識が有るかどうかでかなり変わると思う まーもうニッチな世界になってしまってるけど、ゲームに絞るとコンシューマとかで何かを極めようとしたときに需要は有るかと
- 172 名前:名前は開発中のものです。 mailto:sage [2015/01/31(土) 00:23:27.83 ID:08SnV/iE.net]
- ZソートってZバッファのかわりに遠い方から描くって意味?
厳密にやるなら、ポリゴンを無限平面とした場合に交差する他のポリゴンを 交差する線で分割する処理をすべてのポリゴンにして って文章で書いてもわかりにくいな。 分割のあとは2分木のクイックソートで、あるポリゴンの面から見て 別の比較するポリゴンが手前側か向こう側でソート判定する。 多分それなりに有名な方法と思うから検索すれば見つかると思うけど 手法の名前は知らない。 あと、赤黒木でもできるのかしらない。
- 173 名前:名前は開発中のものです。 mailto:sage [2015/01/31(土) 01:24:39.63 ID:vx9WzsVv.net]
- プレステやらサターンの時のZソートなら、重心か頂点の順番忘れたが二頂点のZ値を加算したものでソートしてたよ
でも組み込み方としては実際にソートではなく、リスト構造で管理してたと思う だから解像度が低いとバキバキになってた wソートってのも出たけど、流行る前にZバッファでパフォーマンス出るようになって無くなったと思う
- 174 名前:名前は開発中のものです。 mailto:sage [2015/01/31(土) 01:26:13.53 ID:H+AZbHjO.net]
- >>168
wソートってのがあったのかw 興味深いw
- 175 名前:名前は開発中のものです。 mailto:sage [2015/01/31(土) 02:31:32.35 ID:MYAY0/XK.net]
- >>162
じつはC#でXNAやってたんよ。 C++に戻るということは、ここ数年で作った自分ライブラリと そこから呼び出しているXNAライブラリをDirectXに移植することを意味する。 けっこう大変だったり。 あとMonoGameが実用に足りるようになったらC#のままの方が楽というのも 正直、ある。C++でクロスプラットフォームの3Dライブラリがあれば 別なんだけど…。
- 176 名前:166 mailto:sage [2015/01/31(土) 02:34:23.55 ID:08SnV/iE.net]
- > 手法の名前は知らない。
多分、BSPツリー法だと思う。wikipediaにバイナリ空間分割でのってる。 wソートってどんなのかちょっと興味あるけど、説明されても難いと読ま
- 177 名前:ないだろうなw []
- [ここ壊れてます]
- 178 名前:名前は開発中のものです。 mailto:sage [2015/01/31(土) 05:16:44.71 ID:dLJDPFMl.net]
- >>171
wバッファなら下にあったけど。たぶん今はwバッファとは呼ばない。 webcache.googleusercontent.com/search?q=cache:iuYaNXjit0oJ:www.daionet.gr.jp/~masa/column/98-06-25.html wソートははじめて聞いた。
- 179 名前:名前は開発中のものです。 mailto:sage [2015/01/31(土) 08:12:54.84 ID:e0isyZ8t.net]
- C#ってある意味理想的な言語だよね
・オブジェクトはすべて参照渡し ・値は参照渡しは出来るが参照で持つことはできない ・共有したい変数はクラス(構造体)にする
- 180 名前:名前は開発中のものです。 mailto:sage [2015/01/31(土) 08:17:29.88 ID:XljQIOh1.net]
- VBもそんな感じじゃなかったっけ
- 181 名前:名前は開発中のものです。 mailto:sage [2015/01/31(土) 12:13:09.01 ID:H+AZbHjO.net]
- >>172
おお、川瀬さんのページか。 清水さんと交流あったんだな。 >>173 >・共有したい変数はクラス(構造体)にする C#がやたらクラスだらけなのはそういうことだったのか・・・
- 182 名前:名前は開発中のものです。 mailto:sage [2015/01/31(土) 12:39:15.50 ID:jayN4xwq.net]
- C#って、構造体の参照渡しで「メソッド側で書き換え不可能」指定ができないのが難。
ref:入出力を兼ねる参照渡し out:出力のみの参照渡し(意外と便利) C++のconst 型 *やconst 型 &がないと言えばいいか。
- 183 名前:名前は開発中のものです。 mailto:sage [2015/01/31(土) 12:44:18.35 ID:dP8uz4HA.net]
- Wソートってもしかしてローカルな話だったのか?
Zソートはリストだって話を書いたけど、そのリストを更にソートすることで込み合ってる部分を細かく前後入れ換える事で若干バリバリを押さえる感じだった 当時は描画よりも演算の方が圧倒的に早かったのとダブルバッファやトリプルバッファでの空き時間を有効にって感じだったよ でも自分では研究以外では使ってない 理由は当時は整数演算だったから、ほとんど効果が感じられなかったから
- 184 名前:名前は開発中のものです。 mailto:sage [2015/01/31(土) 12:46:07.85 ID:ehZNZ4NM.net]
- 書き換えなきゃ良いだけだろ
なんでそんな事を言語仕様に入れなきゃならないんだ
- 185 名前:名前は開発中のものです。 mailto:sage [2015/01/31(土) 12:51:54.53 ID:vx9WzsVv.net]
- >>178
書き換えちゃダメって言っても書き換える人が居るから言ってるんだと思うよ 全員自分なら楽な話だけどさ
- 186 名前:名前は開発中のものです。 mailto:sage [2015/01/31(土) 12:55:33.58 ID:jayN4xwq.net]
- あ、連投ごめん。
上のリンク先とMSの解説で、ZバッファとWバッファの意味が逆になってる気がする。 https://msdn.microsoft.com/ja-jp/library/cc324546.aspx リンク先は「割るほうがWバッファ、割らないほうがZバッファ」、 MSだと「割るほうがZバッファ、割らないほうがWバッファ」に読める。 用語の混乱があるのか、自分が何か勘違いしてるのか。 で、Wソートって何? 昔のPSみたくバッファリングしないでポリゴン単位でソートするけど、Wでやるってことかね。
- 187 名前:名前は開発中のものです。 mailto:sage [2015/01/31(土) 13:05:31.10 ID:+0dbs7Ey.net]
- const必要になるのはライブラリ作成とかチーム開発とかだろうし
ひとりでシコシコ作ってる分には別に不便もないよな コーディングルールは自分ルールだし
- 188 名前:名前は開発中のものです。 mailto:sage [2015/01/31(土) 13:12:28.57 ID:H+AZbHjO.net]
- 自分も、自分用プログラムばっかり作ってて、const利用はハードコーディングな定数以外は0。
自分以外を考慮に入れると、たしかにconst修飾子は重要になると思うけど、 ある程度小規模なチームなら、ルールで十分賄えると思う。
- 189 名前:名前は開発中のものです。 mailto:sage [2015/01/31(土) 14:06:11.93 ID:9fyUH/Hj.net]
- struct, classのコピーを避けるために参照・ポインタを多用してると確実にミス出るし
constは値を中身を書き換えない保障でもあるから、内部処理を忘れたときとかに役立つ
- 190 名前:名前は開発中のものです。 mailto:sage [2015/01/31(土) 14:13:16.03 ID:ehZNZ4NM.net]
- オブジェクトの参照を渡し
- 191 名前:ス時に中身を書き換えてくれるなよ、という要求はある
それをC++のようにconstで表現するのがいいかどうか C#ではイラネってなったし要らないと思う [] - [ここ壊れてます]
- 192 名前:名前は開発中のものです。 mailto:sage [2015/01/31(土) 14:18:46.16 ID:4UKOkNc6.net]
- ところで、const 同士の operater== は operater==(const) const; でいいのか?
最後の const で数時間悩んだんだが。ゲーム以外のところで…
- 193 名前:名前は開発中のものです。 mailto:sage [2015/01/31(土) 14:47:44.78 ID:g0EkdIoS.net]
- friend operator == (const&, const&)
- 194 名前:名前は開発中のものです。 mailto:sage [2015/01/31(土) 15:27:49.35 ID:PEZyYsg9.net]
- jbbs.shitaraba.net/sports/42269/
- 195 名前:名前は開発中のものです。 mailto:sage [2015/01/31(土) 16:27:45.39 ID:4UKOkNc6.net]
- あー、ここで friend 使うのかサンクス。スレチすまん
- 196 名前:名前は開発中のものです。 mailto:sage [2015/01/31(土) 19:40:50.51 ID:LvLYpCGK.net]
- 単に規約の問題だけじゃなくて。
constというかC#のreadonlyは構造体にも指定できるんだけど、 それを先述のref指定でメソッドに渡せないんだよ。 既存のライブラリでref指定(参照渡し)になっているものが 少なからずある。まあ別の変数に代入してから値渡しできるんだけど、 微妙にパフォーマンス落ちるでしょう。
- 197 名前:名前は開発中のものです。 mailto:sage [2015/01/31(土) 22:35:54.52 ID:g0XZBTK4.net]
- const無しをデフォルトにしてしまうと,引数先で書き換えるのかどうか,引数からわからなくなるから
基本はconst参照だよね
- 198 名前:名前は開発中のものです。 mailto:sage [2015/01/31(土) 23:12:04.08 ID:IlaPMJGi.net]
- constなしの参照だとrvalue取れないし。
全部コピー渡しですかそうですか
- 199 名前:名前は開発中のものです。 mailto:sage [2015/01/31(土) 23:45:24.01 ID:+0dbs7Ey.net]
- const付けたらコンパイル時に置き換えられるの?
- 200 名前:名前は開発中のものです。 mailto:sage [2015/02/01(日) 02:38:02.64 ID:HEaS08Xq.net]
- #defineした変数をconstするとどうなるのっと
- 201 名前:名前は開発中のものです。 mailto:sage [2015/02/01(日) 09:04:46.33 ID:4SXpmV3a.net]
- >>189
たまにそういうシチュエーションがあるけど、それを解決するために言語使用に手を入れるのは言語道断
- 202 名前:名前は開発中のものです。 mailto:sage [2015/02/01(日) 16:13:17.17 ID:7SDWQ5Km.net]
- >>192
intとかならそうなんじゃないかな。 でもconstで定義されるのがクラスインスタンスの場合、 実行時に生成されるのでは(恐らくクラスに最初にアクセスした時)。 >>193 >#defineした変数 #defineはプリプロセッサで置換されるマクロに過ぎないよ。
- 203 名前:名前は開発中のものです。 mailto:sage [2015/02/01(日) 16:38:17.15 ID:5cTwIokB.net]
- >>193
お前のconstでコードがやばい
- 204 名前:名前は開発中のものです。 mailto:sage [2015/02/01(日) 16:38:49.06 ID:gTwIs5aq.net]
- template初めて使ったんだけど引数側に同じtemplate型があれば、
返り値をわざわざ指定しなくてもいいの? ↓こんなん template<typename T> T zeroCheckException(T t){ if(t == 0)throw; return t; }
- 205 名前:名前は開発中のものです。 mailto:sage [2015/02/01(日) 16:44:02.52 ID:wN5YVAib.net]
- >>197
2つあるTはどちらも同じ型なんだから、むしろ指定できたらダメだろ 引数と同じ型を返す関数、という意味になっている 引数から推測できない型を返したいなら、typename を2回書けばいい template < typename R, typename T > R convertTo(T t) { return ... } string r = convertTo<string>(123);
- 206 名前:名前は開発中のものです。 mailto:sage [2015/02/01(日) 16:59:29.96 ID:7TQeJfVA.net]
- >>197
>>返り値をわざわざ指定しなくてもいいの? 多分質問の意味からだと、返り値を引数と同じ型(T)で返したいなら返り値(の型)の宣言は必要 その部分はtemplateとは関係のない関数宣言の話で、template内はTと言う型が使えるようになっているだけだと思って関数を宣言すればOK だから、その関数が返り値を返す必要がないならvoid、intを返したいならintになる
- 207 名前:名前は開発中のものです。 mailto:sage [2015/02/01(日) 17:45:05.57 ID:bGERJtUD.net]
- typenameとclassってどっちがモダンなん?
あるいは使い分けが必要?
- 208 名前:名前は開発中のものです。 mailto:sage [2015/02/01(日) 19:03:59.15 ID:gTwIs5aq.net]
- ideone.com/bM0sAR
i.gyazo.com/a30bf7d11715dd37855cf8fc8a9be676.png 一度変数にしないと、とんでもない数値になるんだけどさっぱりわからない 計算してるわけじゃないから桁あふれで無いと思うんだけど
- 209 名前:名前は開発中のものです。 mailto:sage [2015/02/01(日) 19:05:18.65 ID:gTwIs5aq.net]
- >>198,198
なるほど、ありがとう
- 210 名前:名前は開発中のものです。 mailto:sage [2015/02/01(日) 19:24:29.40 ID:aP8gwvz+.net]
- >>200
常にclassを使用していて困ったことがない
- 211 名前:名前は開発中のものです。 mailto:sage [2015/02/01(日) 19:33:48.11 ID:2nnmtHZB.net]
- class使ってる人を見たことがない
- 212 名前:名前は開発中のものです。 mailto:sage [2015/02/01(日) 19:36:58.64 ID:mV3TuxIT.net]
- >>201
ideoneに張る意味ねえな。 最低限実行出来るようにしてから張れ。 その過程でここで質問するまでもなく解決することもある。
- 213 名前:名前は開発中のものです。 mailto:sage [2015/02/01(日) 19:53:30.95 ID:I530QHNw.net]
- >>201
11行目のgetPositionをnextPosにしても駄目? 評価順は正しいとは思うけど最適化とかキャッシュとかで狂ってるのかな?と思いました しかし、難読化してるようなソースだな…
- 214 名前:名前は開発中のものです。 mailto:sage [2015/02/01(日) 20:01:18.83 ID:mV3TuxIT.net]
- >>201
ヒント unitListが標準コンテナだとするとsize()の返す型はsize_t 多くの処理系でsize_tは符号無し 1-2uの結果は?
- 215 名前:名前は開発中のものです。 mailto:sage [2015/02/01(日) 20:12:12.40 ID:2nnmtHZB.net]
- そんな問題じゃねーよw
- 216 名前:名前は開発中のものです。 mailto:sage [2015/02/01(日) 20:29:03.32 ID:mV3TuxIT.net]
- >>208
(゚Д゚)
- 217 名前:名前は開発中のものです。 mailto:sage [2015/02/01(日) 20:46:24.29 ID:eIbULHuy.net]
- >>200
これは俺ルールだが、 typenameはbool, int, doubleとかも使いたいとき classはクラスだけでいいとき
- 218 名前:199 mailto:sage [2015/02/01(日) 22:08:02.18 ID:0xVgzIN+.net]
- >>203>>204>>210
見事にバラバラだなー
- 219 名前:名前は開発中のものです。 mailto:sage [2015/02/01(日) 22:50:33.72 ID:/xEMpT1p.net]
- classしか使わない派だが,template自体あまり使わないことにしてる
- 220 名前:名前は開発中のものです。 mailto:sage [2015/02/01(日) 22:52:09.95 ID:UZAipjiA.net]
- 自分はtypename派だな。
classに限定しない使い方が多いからというのがあるけどね。 ま、組み込み型も一種のクラスと見做せないことはないし、文字数少ない分、classのほうがいいかもしんないけど。
- 221 名前:名前は開発中のものです。 mailto:sage [2015/02/02(月) 00:06:09.93 ID:WStqUBYk.net]
- もはやゲーム関係ない気がするのはミンナニ ナイショダヨ
- 222 名前:名前は開発中のものです。 mailto:sage [2015/02/02(月) 01:35:39.62 ID:g0RkpJRz.net]
- て、テンプレ使えれば前以上に楽ができるかもしんないし!
なお移植性が壊滅的に下がる模様
- 223 名前:名前は開発中のものです。 mailto:sage [2015/02/02(月) 04:07:49.86 ID:lvNA0Ulc.net]
- テンプレート使って移植性が下がるってここの住民は一体いつの時代に生きてるんだろうか
- 224 名前:名前は開発中のものです。 mailto:sage [2015/02/02(月) 08:53:14.68 ID:9YOvsS+B.net]
- 俺もテンプレート自体使わないな
過去の遺物だろあれ
- 225 名前:名前は開発中のものです。 mailto:sage [2015/02/02(月) 09:10:16.63 ID:QEPcxUVH.net]
- >>217
ダメだこいつ…早くなんとかしないと
- 226 名前:名前は開発中のものです。 mailto:sage [2015/02/02(月) 09:50:21.86 ID:pbbvOQ2U.net]
- VSのバージョン上がるたびにどこかしらテンプレートで書いたところの書き直しが待ってるんだよな
MPLに手を出すと他の処理系でまた違う方言で困るし
- 227 名前:名前は開発中のものです。 mailto:sage [2015/02/02(月) 10:05:53.54 ID:ZKghX0zO.net]
- バージョン上がるたびに、ってほどテンプレートに手入ってたっけ?
むしろ、いままでコンパイルを通すためにいちいち">"と">"の間にスペースを入れていたのが 入れる必要なくなったとか、そういう方面の変更しか知らないんだけど
- 228 名前:名前は開発中のものです。 mailto:sage [2015/02/02(月) 10:33:54.29 ID:TF5MhFQ8.net]
- だいぶこなれてきたから、できないことができるようにはなっても、逆は無いと思うぞ
確かにC++03時代は typename が急に必要にされてエラーになるのはあったけど 気になるなら互換性を吸収するラッパーとしてboostを使うのも手だな
- 229 名前:名前は開発中のものです。 mailto:sage [2015/02/02(月) 11:10:10.63 ID:pbbvOQ2U.net]
- 最近変えたところだと
enable_ifが無い頃の代替としての部分特殊化のコードが 2012では通ってたのに2013でC2753で通らなくなって 代わりにenable_if使えるからそれになって 2015でconstexprあるからそこはテンプレート要らないだろうなて状態だわ なんでエラーなのか追いかけるの面倒だから新機能で凌いでる boostのを最初から使えばいいんだけどライブラリのバージョンアップが面倒でね
- 230 名前:名前は開発中のものです。 mailto:sage [2015/02/02(月) 11:30:47.44 ID:uEPb5G0x.net]
- テンプレートが悪いというよりVSの実装が
- 231 名前:名前は開発中のものです。 mailto:sage [2015/02/02(月) 12:44:55.25 ID:QEPcxUVH.net]
- STLもテンプレートなのに
- 232 名前:名前は開発中のものです。 mailto:sage [2015/02/02(月) 13:21:17.62 ID:ZKghX0zO.net]
- SFINAE周りは確かに、C++11でようやく統一仕様が策定されて多少手を付けやすくなった印象がある
>>224 テンプレートを使ってるライブラリを使うのと テンプレートなクラスや関数を自分で作るのとは 結構隔たりがある気がする…
- 233 名前:名前は開発中のものです。 [2015/02/02(月) 13:54:32.94 ID:fu9cgs9q.net]
- スタンダードテンプレートライブラリ(の構想・実装)が先にあってC++で実装するためにテンプレートが導入された。テンプレートはSTL実装のための道具といえる。
Standard Template Library - Wikipedia STLのアーキテクチャの多くはアレクサンドル・ステパノフという一人の人物の手によって作られた。 1979年に彼はジェネリックプログラミングの初期アイデアを練り始め、そしてソフトウェア開発に革命をもたらす可能性を探究し始めた。 当時はジェネリックプログラミングを実際にサポートしているプログラミング言語がまだなかった。 それをサポートする最初のメジャーな言語はジェネリックユニットの機能があるAdaであった。 1987年までにステパノフとマッサーはジェネリックプログラミングの研究成果としてAdaのリスト処理ライブラリを開発してリリースしていた。 C++は当時まだ言語として未成熟ではあったものの(テンプレートはまだなく後から実装された)、より広く普及してジェネリックプログラミングの良好なサポートが提供される可能性が高いと考えられた。
- 234 名前:名前は開発中のものです。 mailto:sage [2015/02/02(月) 14:52:33.01 ID:bbrlQEEY.net]
- で、結局>>201はuintの減算でオーバーフローしてるってことでいいのか?
int - uintがintにキャストされれば大丈夫そうな気がするけど
- 235 名前:名前は開発中のものです。 mailto:sage [2015/02/02(月) 15:26:46.03 ID:u58PP6hj.net]
- 桁あふれや型違いの時に起こる超数値に見える
- 236 名前:名前は開発中のものです。 mailto:sage [2015/02/02(月) 16:37:35.11 ID:lvNA0Ulc.net]
- そんな問題じゃねーよさんが解決してくれるさ
- 237 名前:名前は開発中のものです。 mailto:sage [2015/02/02(月) 17:14:57.39 ID:ZKghX0zO.net]
- 直接的な解決策や原因は分からないけど、俺なら
・「unitList.size()*140」を「unitList.size()*140.0f」にして直るか確認する ・set/getPositionXを通さなかったらどうなるか確認する(当該メンバ関数の実装が自明である場合を除く) ・コンパイラの警告設定を最強にしてみて、何かメッセージが出るか確認する あたりをやってみると思う
- 238 名前:名前は開発中のものです。 mailto:sage [2015/02/02(月) 18:13:33.41 ID:NKDBUGQv.net]
- で、ゲーム制作だと意識して。
開発環境を開発中やデバッグ中に更新するとか無いだろ 移植で困ることは判る
- 239 名前:名前は開発中のものです。 mailto:sage [2015/02/02(月) 18:39:29.29 ID:u58PP6hj.net]
- 新しい開発環境に新規実装された要素どうしても使いたかったんだ…と推測(適当)
CやC++とはあまり関係ないけど、 一部の開発環境では、関数や変数を書いた行にコメントしとけば カーソル合わせるだけでコメントが出るのでメモ代わりにできるな なおソースがコメントだらけになり、よそに貼った時に失笑物のソースになる模様
- 240 名前:名前は開発中のものです。 mailto:sage [2015/02/02(月) 19:31:16.34 ID:lvNA0Ulc.net]
- ideone.com/3SPXKz
ほぼ答えのヒント張っても理解できてないアホがいっぱいいるんで再現させてやったぞ >>208 で、どんな問題だったんですかね?
- 241 名前:名前は開発中のものです。 mailto:sage [2015/02/02(月) 20:49:55.23 ID:0Y8pqiU9.net]
- 色々試してみたけど、オーバーフローしたuintを直接floatにキャストするのがダメっぽいね
一回intにキャストすれば大丈夫だった int - uintはintになるってわけじゃないのね テストコード #include <iostream> int main() { int i=3; size_t ui = 5; float x = i-ui; float x2 = i - static_cast<int>(ui); int x3 = i - ui; float x4 = static_cast<int>(i-ui); std::cout << x << std::endl; std::cout << x2 << std::endl; std::cout << x3 << std::endl; std::cout << x4 << std::endl; std::cout << static_cast<float>(i-ui) << std::endl; }
|

|