- 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/
- 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; }
- 242 名前:名前は開発中のものです。 mailto:sage [2015/02/02(月) 21:20:46.80 ID:lvNA0Ulc.net]
- >>234
intで表現出来ない値をintへcastしたら桁あふれで未定義動作
- 243 名前:名前は開発中のものです。 mailto:sage [2015/02/02(月) 21:33:08.99 ID:MkYgWBqp.net]
- >>235
未定義になる可能性のある演算は暗黙のキャストしてくれないって事?
- 244 名前:名前は開発中のものです。 mailto:sage [2015/02/02(月) 21:39:18.84 ID:lvNA0Ulc.net]
- >>236
違う intとunsigned intの演算結果はunsigned int もちろんunsigned intはマイナスを表現出来ない、なので0-1uはUINT_MAXになる。(符号無し整数は桁あふれしても未定義動作ではない) でも符号あり整数の桁あふれは未定義動作なのでUINT_MAXをintへキャストするのは未定義動作 まぁ大抵の処理系では動くだろうけど。
- 245 名前:名前は開発中のものです。 mailto:sage [2015/02/02(月) 21:57:25.95 ID:MkYgWBqp.net]
- 符合ありなしで演算すると符合なしになるのか
なるほどねー
- 246 名前:名前は開発中のものです。 mailto:sage [2015/02/02(月) 22:39:56.06 ID:4aJa1XJJ.net]
- 混ぜるな危険
- 247 名前:名前は開発中のものです。 mailto:sage [2015/02/02(月) 22:40:47.51 ID:AAW+YNQa.net]
- >>239
いいねw
- 248 名前:名前は開発中のものです。 mailto:sage [2015/02/03(火) 00:10:07.19 ID:0Nhy8xyl.net]
- これそもそも size_t が unsinged int なのが悪いんだよな、頭悪すぎ
- 249 名前:名前は開発中のものです。 mailto:sage [2015/02/03(火) 02:08:59.87 ID:YnXnr0TR.net]
- size_tはsizeofで測ったデータの長さを受け取る物だからよ
データの長さに0未満はあり得ないから定義できないようにしてるんだろう
- 250 名前:名前は開発中のものです。 mailto:sage [2015/02/03(火) 04:00:41.53 ID:WscpFvcA.net]
- 質問です。
抽象クラス(親クラスとする)を継承した派生クラス(子クラスとする)を 親クラスの型のメンバー変数に子クラス型でnew()し、抽象化して保持してます。 このメンバーをdelete してすぐNULLを代入しても、参照が残ってるみたいで エラーでる場合があります。 抽象化しているオブジェクトの削除の、お作法みたいなものってありますでしょうか。
- 251 名前:名前は開発中のものです。 mailto:sage [2015/02/03(火) 04:32:33.06 ID:UaiJdd2F.net]
- >>243
スレ違いです こちらへどうぞ peace.2ch.net/test/read.cgi/tech/1420379468/
- 252 名前:名前は開発中のものです。 mailto:sage [2015/02/03(火) 04:40:14.90 ID:WscpFvcA.net]
- >>244
ありがとうございます。
- 253 名前:名前は開発中のものです。 mailto:sage [2015/02/03(火) 13:03:57.60 ID:vrraL4+G.net]
- スレはあってるけど板が違う的な。
まあ、ゲーム関係かどうかの境目って結構曖昧だけれども。
- 254 名前:名前は開発中のものです。 mailto:sage [2015/02/03(火) 13:07:01.87 ID:IeF+/7iv.net]
- いずれにしろコードもなしに質問されてもエスパーしか回答出来ないですし
- 255 名前:名前は開発中のものです。 mailto:sage [2015/02/05(木) 07:36:31.37 ID:gQYa1HB0.net]
- 開発期間が長すぎて、開発環境が何度も変わるのってどう思いますか?
開発環境を固定する?それともコードを書き直して対応する?
- 256 名前:名前は開発中のものです。 mailto:sage [2015/02/05(木) 08:11:52.44 ID:6fCmneha.net]
- boost辺りならまだしも、言語自体のバージョンが上がるまでって
一体どんだけ開発期間が長いか間が悪いんだよ… どうしても使いたい追加要素でもなければ変えない トラブルの素
- 257 名前:名前は開発中のものです。 mailto:sage [2015/02/05(木) 09:22:24.85 ID:JByM0e2E.net]
- CSのSDKとかじゃないの?
開発序盤なら対応、終わりが見えてたらそのままってのが普通だと思うけど
- 258 名前:名前は開発中のものです。 mailto:sage [2015/02/05(木) 10:05:22.41 ID:tVSHsnYT.net]
- 昔VS2008から2010に上げたけど特に問題は起きなかった
- 259 名前:名前は開発中のものです。 mailto:sage [2015/02/05(木) 12:20:47.44 ID:qWgtWrzH.net]
- vsの2005から2012に上げたら、Releaseでは動くけどdebugでは動かなくなった
自前で作ってた文字列クラスが弾かれたから、現在、std::wstringに置き換え中
- 260 名前:名前は開発中のものです。 mailto:sage [2015/02/05(木) 17:18:01.03 ID:grWdPzSP.net]
- >>248
何年にもわたって開発を続けていくようなものなら あんまり気にせずに変えちゃう
- 261 名前:名前は開発中のものです。 mailto:sage [2015/02/05(木) 19:05:51.48 ID:IWRqO40R.net]
- iOS向けなら変えざるを得ない
- 262 名前:名前は開発中のものです。 mailto:sage [2015/02/05(木) 19:45:56.22 ID:ckteJ+s1.net]
- プロの人も来てるのかも知れないけど、同人ならぶっちゃけ
DirectX9辺りの技術基盤があれば十分じゃないの。 新技術に取り組むこと自体が目的化して、ゲームを完成させる方が 疎かになってしまうって、何かありがちな気がする。
- 263 名前:名前は開発中のものです。 mailto:sage [2015/02/05(木) 22:51:52.09 ID:EoFgZ44U.net]
- 別に必要ないなら使わなければいいんです、エロい人にはそれが分からんのです
- 264 名前:名前は開発中のものです。 mailto:sage [2015/02/06(金) 08:51:59.99 ID:J5odCBuG.net]
- だまれ朝鮮人
- 265 名前:名前は開発中のものです。 mailto:sage [2015/02/06(金) 08:53:55.71 ID:u5/2KnVF.net]
- idがバグ
- 266 名前:名前は開発中のものです。 mailto:sage [2015/02/06(金) 09:00:23.95 ID:12AknHRs.net]
- >>255
DirectXがそもそも出来ない人が話に混じってるだけだから気にしない方が DXライブラリ程度でいいんじゃないかな?同人なら 自作ライブラリ作れる人ですら少ないよ
- 267 名前:名前は開発中のものです。 mailto:sage [2015/02/06(金) 11:05:36.91 ID:vDg1pnk8.net]
- 面白けりゃ何でもいいんだよ。
- 268 名前:名前は開発中のものです。 mailto:sage [2015/02/06(金) 14:58:45.96 ID:1vhL8u+G.net]
- もとの環境で大体完成していたのに、
無理やり次世代機用に作り直そうとしたがうまくいかず、 そのまま爆死した家庭用機向けソフトのプロジェクトなら知ってる
- 269 名前:名前は開発中のものです。 mailto:sage [2015/02/06(金) 17:34:24.75 ID:12AknHRs.net]
- >>261
RomからCD-ROMへの移植は苦労が多かった ROMの容量が4Mバイト超えてるとRAMご足りなくなって、動的に入れ換えしようとするとリソースのマネージメントが大変だったから
- 270 名前:名前は開発中のものです。 mailto:sage [2015/02/06(金) 22:49:06.68 ID:qIQhbqny.net]
- しかもそれだけ苦労したにもかかわらず、ロードが遅いと文句言われたに違いない…。
- 271 名前:名前は開発中のものです。 mailto:sage [2015/02/07(土) 13:13:21.00 ID:uCqCiOK0.net]
- >>261
PS3だな そうに決まってる
- 272 名前:名前は開発中のものです。 mailto:sage [2015/02/07(土) 13:42:24.95 ID:buz4BGGO.net]
- >>252
置き換えたらさらに別の場所が動かなかったから2013へと移行したりw いや、ネットでは動くコードと書かれているんだよ、2013からは動くと うちのPCで2013はマトモに動くかな?今インストール中だが
- 273 名前:名前は開発中のものです。 mailto:sage [2015/02/07(土) 14:45:09.34 ID:84N483gz.net]
- ヘッダで前方宣言したはずのクラスがCandidates are: struct SimpleAudioEngineとエラーを出され
定義でreference to 'SimpleAudioEngine' is ambiguousとエラーを出されます ヘッダではポインタしか使ってません 思うところがあるとすればSimpleAudioEngineの名前空間をusing namespaceしてるぐらいです
- 274 名前:名前は開発中のものです。 mailto:sage [2015/02/07(土) 14:58:01.00 ID:tCXn
]
- [ここ壊れてます]
- 275 名前:t3yJ.net mailto: >>266
http://melpon.org/wandbox/permlink/8WYv9UpPeF3DROcf [] - [ここ壊れてます]
- 276 名前:名前は開発中のものです。 mailto:sage [2015/02/07(土) 16:04:21.06 ID:ns5GMSPv.net]
- 異なる名前空間の中で前方宣言すると別物だとみなされて
あとでusing namespaceすると区別できない
- 277 名前:名前は開発中のものです。 mailto:sage [2015/02/07(土) 19:26:49.25 ID:buz4BGGO.net]
- 開発環境をvs2012からvs2013に変更したのは大当たりだった
エラーの位置は分かりやすくなったし、デバッグ機能は大幅に強化されてるし、 文字列クラス(std::wstring)は扱いやすくなったし、全般的に軽くなった
- 278 名前:名前は開発中のものです。 mailto:sage [2015/02/07(土) 20:51:50.60 ID:G8afa58Z.net]
- std::wstringって何か変更あったっけ?
- 279 名前:名前は開発中のものです。 mailto:sage [2015/02/07(土) 23:10:30.01 ID:buz4BGGO.net]
- operaterがほとんど対応してなかったんだよ。
+=はあるのに+は無いとか、map<wstring,wstring>で使えないとか。
- 280 名前:名前は開発中のものです。 [2015/02/07(土) 23:18:38.16 ID:17zrnW4A.net]
- ためしてないがそれはないだろ。
あとSTLやC標準ライブラリ、C++標準ライブラリは備え付けのを必ずしも使う必要がない。 実装は多数ある。
- 281 名前:名前は開発中のものです。 mailto:sage [2015/02/07(土) 23:55:35.77 ID:tCXnt3yJ.net]
- たまたまインストールされてるのがVS2012だったから試してみたが普通に使えた
- 282 名前:名前は開発中のものです。 mailto:sage [2015/02/08(日) 00:06:03.58 ID:uih1DHvo.net]
- あれ?って事は、vs2005を後から入れたせいでおかしくなってるのか??
- 283 名前:名前は開発中のものです。 mailto:sage [2015/02/08(日) 00:15:39.03 ID:uih1DHvo.net]
- UMLのツールを買ってみて、たまたま家のVSで対応してるのが2005だけだったから、
後からインストールし直したんだよな そっか、VS2005のコードでC++のコードが上書きされてたか
- 284 名前:名前は開発中のものです。 mailto:sage [2015/02/08(日) 00:52:07.50 ID:iVwSBW/g.net]
- とんでもない話だなw
- 285 名前:名前は開発中のものです。 mailto:sage [2015/02/08(日) 01:13:03.19 ID:sR/2PkWV.net]
- VC6でもoperator+位あったような気もするけど
不便な所は連続したメモリ領域の保証が無いから 実装上はともかく厳密にやろうとするとvectorじゃないとダメな所
- 286 名前:名前は開発中のものです。 mailto:sage [2015/02/08(日) 09:15:03.02 ID:dvv+ci6w.net]
- 連続領域かどうかに関しては
- vector C++03/11 → 連続保証 - string C++03 → 実装依存 / C++11 → 連続保証 らしいぞ。 最近のVCなら大丈夫なんじゃないかな。
- 287 名前:名前は開発中のものです。 mailto:sage [2015/02/08(日) 13:48:18.26 ID:vuQZMEzS.net]
- 連続性が保証されるようになっているとはな
外見は変わらなくても内部は少しづつ変わってるんだな
- 288 名前:名前は開発中のものです。 mailto:sage [2015/02/08(日) 13:51:09.60 ID:iVwSBW/g.net]
- 地味ではあるが重要なことだな。
- 289 名前:名前は開発中のものです。 mailto:sage [2015/02/08(日) 13:58:02.91 ID:uih1DHvo.net]
- mallocのメモリ配置はOSで変わるんじゃなくてコンパイラで変わるみたいやね
- 290 名前:名前は開発中のものです。 mailto:sage [2015/02/08(日) 15:05:56.00 ID:OpMqb989.net]
- 依存するのはコンパイラじゃ無い
ランタイム依存
- 291 名前:名前は開発中のものです。 mailto:sage [2015/02/09(月) 20:39:13.54 ID:q5WWprzE.net]
- なんにせよ、ポインタはむやみにいじらない方がよさそうね
- 292 名前:名前は開発中のものです。 mailto:sage [2015/02/10(火) 22:00:30.08 ID:Lg1oqTmd.net]
- ポインタは使い勝手がわかると色々出来るが、無くても問題無くなってきてるからなぁ……
- 293 名前:名前は開発中のものです。 mailto:sage [2015/02/10(火) 23:49:52.25 ID:2hfNPcff.net]
- それなりのもの作ろうとしたらアロケーター自作になるゲーム制作はポインタ必須なんじゃないの
- 294 名前:名前は開発中のものです。 mailto:sage [2015/02/10(火) 23:59:52.09 ID:m/pIKos0.net]
- プラットホームによるとは思うが、いまだにカスタムアロケータなんて使うのか?
OSや言語処理系を書いているわけではないだろうに
- 295 名前:名前は開発中のものです。 mailto:sage [2015/02/11(水) 00:01:51.67 ID:7TGiUCxx.net]
- 車輪の再発明が好きなんだろ
- 296 名前:名前は開発中のものです。 mailto:sage [2015/02/11(水) 00:26:12.68 ID:IKslX+U4.net]
- 流石にOSデフォルトのアロケーターは使わないんじゃないの
ライブラリのメモリプール使うにしてもポインタは使うだろうし
- 297 名前:名前は開発中のものです。 [2015/02/11(水) 00:38:39.31 ID:5bVnp7SH.net]
- アロケーターはC言語かSTLのやつのことだろ?
OS自体のメモリ管理はOS自体のソースからビルドしないと変更むりでは。
- 298 名前:名前は開発中のものです。 mailto:sage [2015/02/11(水) 00:41:52.28 ID:IKslX+U4.net]
- 普通にnew、deleteしたらOSのAPIでメモリ確保
- 299 名前:するんでないの?
STLはどうかわからんけど [] - [ここ壊れてます]
|

|