- 1 名前:デフォルトの名無しさん [2011/09/15(木) 00:17:43.25 ]
- スレを勃てるまでもない低俗なC/C++の質問はここでお願いします。
過去ログ 01 pc11.2ch.net/test/read.cgi/tech/1167476845/ 02 pc11.2ch.net/test/read.cgi/tech/1178503366/ 03 pc11.2ch.net/test/read.cgi/tech/1187521676/ 04 pc11.2ch.net/test/read.cgi/tech/1221633708/ 05 pc11.2ch.net/test/read.cgi/tech/1230516307/ 06 pc11.2ch.net/test/read.cgi/tech/1231564903/ 07 pc11.2ch.net/test/read.cgi/tech/1232983248/ 08 pc12.2ch.net/test/read.cgi/tech/1235921779/ 09 pc12.2ch.net/test/read.cgi/tech/1240022781/ 10 pc12.2ch.net/test/read.cgi/tech/1242300936/ 11 pc12.2ch.net/test/read.cgi/tech/1245059383/ 12 pc12.2ch.net/test/read.cgi/tech/1248010352/ 13 pc12.2ch.net/test/read.cgi/tech/1260842197/ 14 pc12.2ch.net/test/read.cgi/tech/1269273471/ 15 pc12.2ch.net/test/read.cgi/tech/1273368706/ 16 hibari.2ch.net/test/read.cgi/tech/1279285647/ 17 hibari.2ch.net/test/read.cgi/tech/1285115590/ 18 hibari.2ch.net/test/read.cgi/tech/1291571263/ 19 hibari.2ch.net/test/read.cgi/tech/1308106024/
- 413 名前:デフォルトの名無しさん mailto:sage [2011/12/20(火) 12:27:04.18 ]
- >>407
int t; int len = 100; struct HOGE{ int *a; } *b = (struct HOGE*)malloc(len * sizeof(struct HOGE)); for(t = 0; t < len; ++t){ b[t].a = (int*)malloc(sizeof(int)); }
- 414 名前:398 mailto:sage [2011/12/20(火) 14:17:13.99 ]
- >>400-403
ありがとう、ちょっと元気出た
- 415 名前:デフォルトの名無しさん mailto:sage [2011/12/20(火) 18:41:02.33 ]
- >>400-403
ありがとう、ちょっと精液出た
- 416 名前:デフォルトの名無しさん mailto:sage [2011/12/21(水) 07:51:43.03 ]
- >>413
ありがとうございます。できました。
- 417 名前:デフォルトの名無しさん mailto:sage [2011/12/21(水) 13:49:27.00 ]
- sizeof(int)で4がでてきた場合、intの大きさは4バイトという認識であってますか?
- 418 名前:デフォルトの名無しさん mailto:sage [2011/12/21(水) 14:16:08.27 ]
- はい
- 419 名前:デフォルトの名無しさん mailto:sage [2011/12/21(水) 14:22:37.56 ]
- >>418
ありがとうございます 本には「大きさ」としかかかれてなかったもので
- 420 名前:デフォルトの名無しさん mailto:sage [2011/12/21(水) 15:40:29.84 ]
- #define alert() (putchar('\a'))
これは「引数のない関数形式マクロ」と解説されているのですけど、オブジェクト形式マクロとの違いがわかりません これをオブジェクト形式マクロと解釈するのは間違っているのでしょうか?
- 421 名前:デフォルトの名無しさん mailto:sage [2011/12/21(水) 15:51:02.25 ]
- 変数と、引数のない関数の違いみたいなもんじゃね
- 422 名前:デフォルトの名無しさん mailto:sage [2011/12/21(水) 16:45:08.48 ]
- #define alert() (putchar('\a'))
alert(); → (putchar('\a')); #define alert (putchar('\a')) alert(); → (putchar('\a'))();
- 423 名前:デフォルトの名無しさん mailto:sage [2011/12/21(水) 17:32:57.47 ]
- オブジェクトの集約をする時にはprivate継承してメンバ関数をusingするのと、メンバに持たせてメンバ関数を移譲するのどっちが一般的なんですか?
やっぱり実行時コストの掛からない前者ですかね?
- 424 名前:デフォルトの名無しさん mailto:sage [2011/12/21(水) 17:39:20.04 ]
- 宣言と定義を一緒に書けば普通インライン展開されるからコスト的にそこまで差があるかは微妙
- 425 名前:デフォルトの名無しさん mailto:sage [2011/12/21(水) 23:08:23.34 ]
- どなたかお願いします。
C言語でファイルをオープンして while(fscanf(fp,"%s",word)!=EOF){ array[i][LENGTH]=word; printf("%s",array[i][LENGTH]); printf("%s\n",array[i-1][LENGTH]); i++; } とやったんですが、array[i][LENGTH]とarray[i-1][LENGTH]がファイルから読み込むたびに同じになってしまします。 array[0][LENGTH]=aiueo,array[1][LENGTH]=kakikukekoというように入れるにはどうしたらいいのでしょうか・・・
- 426 名前:デフォルトの名無しさん mailto:sage [2011/12/21(水) 23:12:57.12 ]
- >>425
arrayの型も書かずに質問かよ。 まぁどうせ、ポインタを代入しているってことはarray[][]がポインタなのだろうけど。 どっち途、文字列操作を勉強しなおすことをお勧めする。
- 427 名前:デフォルトの名無しさん mailto:sage [2011/12/21(水) 23:21:54.55 ]
- >>426
ありがとうございます。 char *array[i][100]としてます。 うーん、ちょっと文字列操作について調べてみます・・・
- 428 名前:デフォルトの名無しさん mailto:sage [2011/12/21(水) 23:52:55.42 ]
- >>425,427
#include <stdio.h> #include <string.h> #define LENGTH 100 int main(){ FILE *fp; char array[1000][LENGTH]; char word[LENGTH]; int i = 0; fp = fopen("a.c", "r"); while (fscanf(fp, "%s", word) != EOF) { /* array[i][LENGTH] = word; */ strcpy(array[i], word); /* printf("%d %s¥n", i, array[i]); */ printf("%d %s¥n", i - 1, array[i - 1]); i++; } return 0; }
- 429 名前:デフォルトの名無しさん mailto:sage [2011/12/22(木) 00:13:11.04 ]
- >>428
ありがとございます!できました。 ポインタについてかなり詳しく勉強しないと・・・ってことがわかりました>< またお願いします!
- 430 名前:デフォルトの名無しさん mailto:sage [2011/12/22(木) 00:15:10.04 ]
- 配列に、文字列自体を入れてる、つもり、だよな
だが、そうはなっていない。 代わりに入っているのは…。 もし、それっぽい素養があれば、 printf("%x",array[i][LENGTH]); printf("%X\n",array[i-1][LENGTH]); と書けば、何かに気づくかも。
- 431 名前:デフォルトの名無しさん mailto:sage [2011/12/23(金) 15:12:10.83 ]
- アドレス代入で文字列コピーしようとする人は、他言語から来た人なのかな
- 432 名前:デフォルトの名無しさん mailto:sage [2011/12/23(金) 18:17:16.33 ]
- こんにちは。
C++とDXライブラリでちょっとしたゲームを作り始めたんですが、 vectorにキャラクターを入れて、アルゴリズムのsortでキャラクターの素早さ順に並び替える時に、 素早さの値が同じだった場合、1/2の確率で順番が逆転するようにしたいんですが、sortでは無理でしょうか? キャラクタ1 素早さ8 キャラクタ2 素早さ8 キャラクタ3 素早さ10 ↑のような場合、普通にやると キャラクタ3、キャラクタ1、キャラクタ2の順番でソートされると思いますが、どうにか50%の確率で キャラクタ3、キャラクタ2、キャラクタ1の順番にもソートされるようにしたいのです。 sortじゃなくてもなにか方法があれば是非教えてください。
- 433 名前:デフォルトの名無しさん mailto:sage [2011/12/23(金) 18:55:55.91 ]
- sortに渡す比較関数に乱数をもたせる
class CompSpeed { public: CompSpeed(unsigned long seed) : mRandom(seed) { } bool operator () (Chara const & lhs, Chara const & rhs) const { if(lsh.speed == rhs.speed) { return mRandom() % 2; } // 同じなら1/2で真、1/2で偽 else { lhs.speed > rhs.speed; } // それ以外はスピードで大なり比較 } private: Random mRandom; }; sort(characters.begin(), characters.end(), CompSpeed(GetTime()) ;
- 434 名前:デフォルトの名無しさん mailto:sage [2011/12/23(金) 18:56:03.59 ]
- if(wParam(:_;) >= 0x60 && wPanda <= 0x69(^_^))
- 435 名前:デフォルトの名無しさん mailto:sage [2011/12/23(金) 19:06:03.83 ]
- MSはソートの比較関数に乱数を使う、という失敗をした事がある。
- 436 名前:デフォルトの名無しさん mailto:sage [2011/12/23(金) 19:09:48.93 ]
- 一旦普通に並び替えて
同じ値の範囲を探してランダム並び替え
- 437 名前:デフォルトの名無しさん mailto:sage [2011/12/23(金) 20:14:06.92 ]
- >>433
ソートが終わらなくなる、とかいう危険はないよね?
- 438 名前:デフォルトの名無しさん mailto:sage [2011/12/23(金) 20:47:41.72 ]
- >>437
> ソートが終わらなくなる、とかいう危険はないよね? sortのアルゴリズムと運によってはある。だから>>436の方向が無難
- 439 名前:432 mailto:sage [2011/12/23(金) 21:23:10.08 ]
- アドバイスありがとうございます。
>>433の方法試してみたら、invalid operator< のエラーが出てしまいました。 原因が分からないので、>>436でやってみようと思います。
- 440 名前:デフォルトの名無しさん mailto:sage [2011/12/23(金) 22:02:14.62 ]
- {素早さ}<<4 | {0-15の乱数} でソートはどう
- 441 名前:デフォルトの名無しさん mailto:sage [2011/12/24(土) 03:07:02.28 ]
- CまたはC++でFlashみたいなヌルヌルアニメーションするグラフィカルなGUIソフトを
作りたいんですが、何を使えば楽に作製できますか? 今はC++とWin32APIで作ってるけど、どうも古臭い見た目になってしまう
- 442 名前:デフォルトの名無しさん mailto:sage [2011/12/24(土) 04:59:37.81 ]
- C++ DirectX
- 443 名前:デフォルトの名無しさん mailto:sage [2011/12/24(土) 07:45:30.21 ]
- ある意味ズルだが、.NET併用
詳しくないんで雑談としてだが、今風のUIコンポーネントのライブラリは多少充実してるらしい
- 444 名前:デフォルトの名無しさん mailto:sage [2011/12/24(土) 08:22:36.72 ]
- スキンはプロクラムと別。小説の挿絵に小説家と別人がかいてたりする。
- 445 名前:デフォルトの名無しさん mailto:sage [2011/12/25(日) 01:20:49.67 ]
- >>441-442
ありがとう、DirectXか.NETか。 DirectXは本1冊だけだけど読んだから、やりたい処理を組む際の必要な勉強量は少ない だろうけど、組むのが面倒そうだなと思っちゃう。 一度機能毎に細かく分けて作っておけばそうでもないんだろうけど。 .NETは触ったことも無いんだけど、開発効率よさそうだね。ちょっと.NET調べてみる >>444 そうなんだろうけど、一人で全部やらなきゃいけないのよ 研究展示で人に触って貰えるように、GUIで操作できるようにしているんだけど どうせならかっこいいインターフェースの方が受けいいし 中身はデータベース処理なんだけど、この結果を視覚的に表現したい ここでヌルヌルアニメーションしたいんだよね。 例えるならスパイシーっぽい感じだけど、そんなに凝る気もなくある程度簡素なのを
- 446 名前:デフォルトの名無しさん mailto:sage [2011/12/25(日) 06:12:25.79 ]
- スパイシーwwwwwwwwwwwww
- 447 名前:デフォルトの名無しさん mailto:sage [2011/12/25(日) 07:16:57.66 ]
- スパイシーって韓国料理みたいな意味か
タイ料理ならまだかっこいいが
- 448 名前:デフォルトの名無しさん mailto:sage [2011/12/25(日) 09:46:41.54 ]
- ああ、デプロイを考えなくていいプロジェクトなのね
案外、HTML5で書いたほうがさくさくUIいけるかもねー。 ターゲットとUIのisolationにもなる。 C++でhttp鯖か串をビルドして、CGIでターゲット?に生命令を送ったらどうか 俺はいじり慣れてるからprivoxyを薦めるが、要するに、そんなのだ
- 449 名前:デフォルトの名無しさん mailto:sage [2011/12/25(日) 09:48:03.76 ]
- ああごめん、DBって書いてた
ターゲット(ボード)っていうより、core process か。
- 450 名前:デフォルトの名無しさん mailto:sage [2011/12/25(日) 13:59:56.65 ]
- >>448-4449
ありがとう、ユーザーインターフェイス面はHTML5で作成してブラウザで賄うってことか それはかなり便利そう。だけど来月中旬には完成させたいので今からHTML5勉強して 実用域までもっていくのは辛いです。 .NETも調べてみたらこの目的だと辛そうだし、やっぱDirectXまたはOpenGLで作ってみる ことにします。後々のAndroidへの移植も考えてOpenGLでいこうかな
- 451 名前:デフォルトの名無しさん mailto:sage [2011/12/25(日) 20:15:58.75 ]
- >>450
来月中旬までなら、丸々一週間は勉強する時間があるじゃないか。
- 452 名前:デフォルトの名無しさん mailto:sage [2011/12/25(日) 23:38:46.40 ]
- HTML5は最たるものだが、legalにパクってこれるものは、パクっていい。
よさげなUIがあって、それが誰でも使っていいライブラリの仕事だったら、 あなたが使ってもいい。 DX/GLに、そんなパクりやすいライブラリあるのかな、と思うが、あるのかもしらん
- 453 名前:デフォルトの名無しさん mailto:sage [2011/12/28(水) 20:02:39.02 ]
- スマポ(あるいは薄いラッパー系やプロクシ)作るときにoperator &はどう作るのが一般的なんだろうか
ラップしてる方のアドレスか、中身のアドレスか
- 454 名前:デフォルトの名無しさん mailto:sage [2011/12/28(水) 20:19:14.58 ]
- すまぽを自作しようなんて思うなってばっちゃんが言ってた
# 覚悟を決めて、「車輪は一度は作って壊してみるもの」をやってみる。
- 455 名前:デフォルトの名無しさん mailto:sage [2011/12/28(水) 23:30:42.65 ]
- >>454
確かに、研究や腕試しなら作ってみるのもいいけど実用ならそれなりにメジャーな出来合いのものを使うべきだな。 で >>453 > スマポ(あるいは薄いラッパー系やプロクシ)作るときにoperator &はどう作るのが一般的なんだろうか > ラップしてる方のアドレスか、中身のアドレスか 独自には作らずそのままスマポ自体のインスタンスのアドレスを取得させるのが普通。
- 456 名前:デフォルトの名無しさん mailto:sage [2011/12/29(木) 15:55:45.10 ]
- int a[N] = { 1, 5, 0 , 3, ... } ;
//A vecor<int> v(a, a + N); //B vector<int> v; v.reserve(N); v.assign(a, a + N); AとBってどっちが速いですかね?
- 457 名前:デフォルトの名無しさん mailto:sage [2011/12/29(木) 15:57:24.46 ]
- つ[実測]
- 458 名前:デフォルトの名無しさん mailto:sage [2011/12/29(木) 16:06:46.17 ]
- 普通に考えたらAのほうがいいしBのreserveは不要
でもパフォーマンス問題は実測が基本
- 459 名前:デフォルトの名無しさん mailto:sage [2012/01/02(月) 10:28:21.99 ]
- 初心者本読んでてわからない事が出たんで教えてくらはい
const char* name = GetOldMonthName(int month); //昔の月の名前で表示する関数。前の方で定義済み。 cout << name << endl; ってのがあるんですが、表示されるのはポインタnameに格納されてるアドレスではないのですか? 実際やって見ると参照先が表示されます cout << *nameに変えると何も表示されませんでした。 int a = 10; int* p = &a; cout << p << endl; とした場合にはpにあるアドレスが表示されるので どこで違いがあるのかがわかりません
- 460 名前:デフォルトの名無しさん mailto:sage [2012/01/02(月) 10:36:50.65 ]
- int a[10]とchar a[10]でも違うだろ。
文字列型だけ特別扱いされて、アドレス渡すと中身が表示される。
- 461 名前:デフォルトの名無しさん mailto:sage [2012/01/02(月) 10:39:27.10 ]
- cout << (int)name << endl;
cout << *(int*)name << endl; にしたら何か数字出る。
- 462 名前:デフォルトの名無しさん mailto:sage [2012/01/02(月) 10:48:58.27 ]
- ありがとうございます。
>>460 そういう事でしたか。 文字列のところとcoutのところもう一度読み直しておきます。 >>461 両方数字が出ました。下はマイナスで上より桁が大きかったです。 キャストってやつなのかな。これも読んでおきます。
- 463 名前:デフォルトの名無しさん mailto:sage [2012/01/04(水) 17:09:57.78 ]
- 派生クラスでメンバ関数を呼び出したらすべての基底クラスの同名同シグネチャのメンバ関数をすべて呼び出す
みたいなコードはちまちま手書きで書かないと作れない? デストラクタみたいに勝手にやってくれると楽なんだけど
- 464 名前:デフォルトの名無しさん mailto:sage [2012/01/04(水) 18:09:05.38 ]
- たいていそういうのに限って、関数によって、少しずつ、後先が違ってないか
- 465 名前:デフォルトの名無しさん mailto:sage [2012/01/04(水) 18:18:38.26 ]
- 違う分だけ書き足すってのがふつうじゃないか
- 466 名前:デフォルトの名無しさん mailto:sage [2012/01/04(水) 21:39:42.10 ]
- 前関数を呼ぶ位置の後先が、全部同じなのか?たいてい、少しずつ、、
- 467 名前:デフォルトの名無しさん mailto:sage [2012/01/16(月) 09:27:53.08 ]
- 10件のデータを読込み、最大、最小値を求め表示するプログラムなのですが
ここでは体重にしました。よく分からないので教えていただけないでしょうか。 参考書を読みながら書いてみましたがfor以降がイマイチ分かりません。 #include<stdio.h> int main(void) { float w_max,w_min,weight; int i; for(i=0;i<10;i++){ scanf("%f",weight[i]); if(w_max < weight[i]) w_max = weight[i]; if(w_min > weight[i]) w_min = weight[i]; } for(i=0;i<10;i++){ //不明 } printf("i= %d w_max=%f w_min= %f\n", i, w_max, w_min); return 0; }
- 468 名前:デフォルトの名無しさん mailto:sage [2012/01/16(月) 10:40:07.17 ]
- 内容的に宿題スレですね
すいませんでした。
- 469 名前:デフォルトの名無しさん mailto:sage [2012/01/16(月) 11:29:40.25 ]
- >>467
その条件だけなら、二番目のループ自体不要だろ。 ついでに言えば、その後のiの出力も意味がない。
- 470 名前:デフォルトの名無しさん mailto:sage [2012/01/16(月) 17:06:06.20 ]
- Cの宿題なら、「該当行で出力されるiの値はいくらか。」って聞かれてもいいな
- 471 名前:デフォルトの名無しさん [2012/01/18(水) 23:25:45.05 ]
- こんにちは。C++とDXライブラリでしょぼいけどゲーム作っています。質問させてください。
二次元ベクタにキャラクターを入れて、その全てを描画する方法として、例えば、 vector<vector<Character>> Chara; for(int y=0;y<Chara.size();y++) for(int x=0;x<Chara[y].size();x++) Chara[y][x].Draw(); という方法があると思います。 また、例えば、キャラクターのHPが0になっている者を探し、 そのHPを回復させるとしたら、 for(int y=0;y<Chara.size();y++) for(int x=0;x<Chara[y].size();x++) if(Chara[y][x].HP==0)Chara[y][x].HP+=100; みたいな感じになると思うんですが、 for文で回しているところが、重複して無駄な感じがするので、 テンプレート関数とかを使って、何か上手く出来ないかと悩んでいます。 AllDo(Chara,Draw()); AllDo(Chara,Recover()); ←みたいに出来ればすっきりするんですが・・・。 どう書いたらいいのか頭がこんがらがってしまって(汗) どなたかご教授下さい。よろしくお願いします。
- 472 名前:デフォルトの名無しさん mailto:sage [2012/01/19(木) 00:36:26.93 ]
- 0x使ってもよさ気だから、forを関数にして中身をラムダで書けばいい
- 473 名前:デフォルトの名無しさん mailto:sage [2012/01/19(木) 01:13:26.33 ]
- template<class F>
void AllDo(vector< vector<Character> > & v, F f) { for(int y(0); y < v.size(); ++y) for(int x(0); x < v[y].size(); ++x) f(v[y][x]); }
- 474 名前:デフォルトの名無しさん mailto:sage [2012/01/19(木) 01:15:39.75 ]
- イテレーターを作ってstd::for_eachだろ
- 475 名前:471 mailto:sage [2012/01/19(木) 05:27:53.71 ]
- ラムダ式すっごい楽です!
まだC++始めて日が浅いのでこの機能は知りませんでした! >>472-474 教えてくださった皆さんありがとうございました。
- 476 名前:デフォルトの名無しさん mailto:sage [2012/01/20(金) 17:08:39.53 ]
- Windows7 64bit版のポインタのサイズって64bitで合ってる?
- 477 名前:デフォルトの名無しさん mailto:sage [2012/01/20(金) 17:11:41.59 ]
- いいえ
- 478 名前:デフォルトの名無しさん mailto:sage [2012/01/20(金) 17:23:09.98 ]
- てことは、64bit版もポインタのサイズは32bitなのか
ありがとう
- 479 名前:デフォルトの名無しさん mailto:sage [2012/01/20(金) 17:36:37.31 ]
- てことは
はどこに掛かってるんですか
- 480 名前:デフォルトの名無しさん mailto:sage [2012/01/20(金) 17:50:36.19 ]
- いいえ
- 481 名前:デフォルトの名無しさん mailto:sage [2012/01/20(金) 17:54:12.44 ]
- 言い得て事は
- 482 名前:デフォルトの名無しさん mailto:sage [2012/01/20(金) 18:00:41.14 ]
- >>476
16bitは動かないから、32bitまたは64bitじゃないかな
- 483 名前:デフォルトの名無しさん mailto:sage [2012/01/20(金) 18:04:16.54 ]
- なんでポインタのサイズなんて気にするの?
実質ただの整数なんだから32でも64でも大差ないでしょ
- 484 名前:デフォルトの名無しさん mailto:sage [2012/01/20(金) 18:10:11.41 ]
- >>476
VCならばこのあたりに注意すれば十分かと ttp://msdn.microsoft.com/ja-jp/library/3b2e7499.aspx
- 485 名前:デフォルトの名無しさん mailto:sage [2012/01/20(金) 18:18:18.31 ]
- わかんなかったら全部64bit整数でショリすれば問題ない
- 486 名前:デフォルトの名無しさん mailto:sage [2012/01/20(金) 18:21:09.88 ]
- そんなコード書いてて128bit時代が来たらどうするの?
- 487 名前:デフォルトの名無しさん mailto:sage [2012/01/20(金) 18:25:58.21 ]
- 全部128bit整数にすれば問題ないよ?
typedef一発だよ
- 488 名前:デフォルトの名無しさん mailto:sage [2012/01/20(金) 18:29:13.02 ]
- typedef int32_t oreint_t;
typedef int64_t oreint_t; typedef int128_t oreint_t; void oreint_chk(void) { if (sizeof(oreint_t) != sizeof(void *)) abort(); // 無理です } 何も問題ない
- 489 名前:デフォルトの名無しさん mailto:sage [2012/01/20(金) 18:32:58.92 ]
- DWORDとDWORD_PTRの大きさ違うとか
いちいち問題にする事自体が時間の無駄
- 490 名前:デフォルトの名無しさん mailto:sage [2012/01/20(金) 22:08:26.58 ]
- たぶん、そんなあなたに:intptr_t
- 491 名前:デフォルトの名無しさん mailto:sage [2012/01/21(土) 02:09:08.83 ]
- それで思い出したけど、_t の t って何の略?
size_tのおかげで、しれっと使ってるけど、良く考えたら何の略か知らなかったので、 この際教えて欲ください。
- 492 名前:デフォルトの名無しさん mailto:sage [2012/01/21(土) 02:16:15.68 ]
- 何かの略というより、お墓ね
- 493 名前:デフォルトの名無しさん mailto:sage [2012/01/21(土) 02:51:54.94 ]
- typedef
- 494 名前:デフォルトの名無しさん mailto:sage [2012/01/21(土) 02:54:28.66 ]
- type
- 495 名前:デフォルトの名無しさん mailto:sage [2012/01/21(土) 09:39:30.24 ]
- size_tとかSizeTypeみたいな後ろにくっついてる型を意味するサフィックスは
大抵の場合変数名とかぶるのが気持ち悪いというだけの理由で付けられたものだよ
- 496 名前:デフォルトの名無しさん mailto:sage [2012/01/21(土) 23:18:35.97 ]
- >>495
ソース // C/C++の薀蓄もきちんと知りたい年頃。 // 納得はしている。
- 497 名前:デフォルトの名無しさん mailto:sage [2012/01/22(日) 16:44:34.75 ]
- ひょっとして仮想関数を利用したポリモーフィックなクラス階層構造以外で継承することってあまり無いんですか?
今まで継承していたクラスをメンバに持たせて関数を呼び出すだけのinlineメンバ関数を定義するするほうが複雑なコードを組みやすい気がするんですけど
- 498 名前:デフォルトの名無しさん mailto:sage [2012/01/22(日) 16:51:24.82 ]
- ひょっとしてはどこに掛かってるんですか
- 499 名前:デフォルトの名無しさん mailto:sage [2012/01/23(月) 11:59:33.25 ]
- なんでC++はポインタと参照を違うインターフェースで扱うんですか?
Javaみたいに全部.でやったほうがクールだと思います
- 500 名前:デフォルトの名無しさん mailto:sage [2012/01/23(月) 14:34:16.26 ]
- Javaを意識したら、Oracleがアップをはじめるからだめです(w
Javaを意識して、極力参照で書くようにポリシを決めることはできる 君が自由人(個人開発者)なら、まったく君の自由だ C/C++には、壊れてたり、nullだったりするポインタ型の値を扱う「資格」があるんだよ C系のみとは言わないが、そこには誇りすらある # 休憩しにきた
- 501 名前:デフォルトの名無しさん mailto:sage [2012/01/24(火) 11:35:16.68 ]
- C#でおk
- 502 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 20:19:38.03 ]
- “Javaには無い”演算子オペレーターを効率よく実装するためだったような
もう忘れた
- 503 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 20:54:01.80 ]
- Handle-Bodyを使えば見た目が参照っぽいスマートポインタになってJava厨も安心する
- 504 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 21:53:31.45 ]
- enum をインクリメントして巡回したいんだけど安全で汎用的な方法はある?
enumの型ごとに値の遷移テーブル(それかswitchで次を見つけるだけの関数)を作るみたいな、地道な作業するしかないかな?
- 505 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 22:18:47.13 ]
- 汎用的かどうかなんてその時個々人の主観が伴うから
好きにしたらいいよ
- 506 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 22:55:00.76 ]
- enumがアップル=1、オレンチ=3、ピーチ=7だったら
num[]={1,3,7}; とsize=3を別に持っとけ。 このデータを前処理で自動生成してもよい。
- 507 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 23:15:40.86 ]
- 地道な作業を、PCにやらせるようにするのが古典的だが手っ取り早い
- 508 名前:デフォルトの名無しさん mailto:sage [2012/01/25(水) 23:17:53.77 ]
- そうだな生成プログラムでも書いた方がらしいな
- 509 名前:デフォルトの名無しさん mailto:sage [2012/01/26(木) 18:00:43.29 ]
- Visual Studio2003です。
.cファイルを右クリックしてコンパイルすると.objファイルができるじゃないですか。 このできた.objファイルを他のプロジェクトで使いたいんですよ、javaの.classファイルみたいなイメージで。 でもソリューションエクスプローラには「ソースファイル」「ヘッダーファイル」「リソースファイル」とあるんですが、どこに置いてどうincludeすれば使えるようになるんですか?
- 510 名前:デフォルトの名無しさん mailto:sage [2012/01/26(木) 18:21:54.58 ]
- ・.objはリンカが扱う。
・ただし、リンカコメントというのをソースに埋め込むと、.cで.objを引っ張り込むことを記述できる。
- 511 名前:デフォルトの名無しさん mailto:sage [2012/01/26(木) 19:57:25.12 ]
- >>510
リンカコメントですね、ググってみます。 ありがとうございます。
- 512 名前:デフォルトの名無しさん mailto:sage [2012/01/26(木) 20:22:45.05 ]
- うん、ぐぐったらなんかわかるだろ。
と思ってたら、通称だったかも。うまく出せない。 > #pragma comment(linker, "...") こういうのなので、ぐぐってみそ。 で、そんなことをするうちに、include 的に記述するより、 プロジェクト設定みたいので指定するのが自然ってのがわかると思う
- 513 名前:デフォルトの名無しさん mailto:sage [2012/01/26(木) 20:49:19.22 ]
- Makefileに変換してnmake使うことできないの?
後々そっちの方がいいよ
|

|