- 1 名前:デフォルトの名無しさん [2008/03/30(日) 01:50:26 ]
- エスケープシーケンスやWin32APIなどの環境依存なものでもOK。
ただしその場合、質問者は必ず環境を書きましょう。 ※sage禁止です(と代々スレに書いてありますが自己判断で)。 【前スレ】 【初心者歓迎】C/C++室 Ver.50【環境依存OK】 pc11.2ch.net/test/read.cgi/tech/1204124447/ 【アップローダー】(質問が長い時はココ使うと便利) kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/joyful.htm
- 381 名前:デフォルトの名無しさん mailto:sage [2008/04/05(土) 08:04:56 ]
- クラスがメンバに参照を持つとコンテナに突っ込めなくなってしまうので、
- 382 名前:デフォルトの名無しさん mailto:sage [2008/04/05(土) 08:49:39 ]
- void getStr(std::string& str) const {
str.assign(data, 3); } std::string getStr() const { return std::string(data, 3); } 後者は代入する時にコピーが発生するので場合によっては効率悪いが (初期化の場合は大抵のコンパイラなら戻り値最適化してくれるので大抵コピーは発生しない)、 かといって前者は必ず変数用意しないといけない。 どっちにするか、あるいは両方用意するかはお好きなように。 まあ、string にどんなメンバがあるかくらい見とけ。 www.wakhok.ac.jp/~sumi/stl/header/string.html
- 383 名前:デフォルトの名無しさん mailto:sage [2008/04/05(土) 10:43:49 ]
- >>381
参照のようなconstなメンバー変数を持つとコピーコンストラクタが書けない 一方ほとんどのコンテナはメモリ確保を自動でするからコピーが発生する 常識だと思ってたんだけどどこかおかしいのか
- 384 名前:デフォルトの名無しさん mailto:sage [2008/04/05(土) 10:53:24 ]
- デフォルトコンストラクタが書けないと言った方が正しいか
- 385 名前:デフォルトの名無しさん mailto:sage [2008/04/05(土) 11:06:11 ]
- コピコンは書けるだろ?
書けないのは代入演算子。
- 386 名前:デフォルトの名無しさん mailto:sage [2008/04/05(土) 12:09:51 ]
- 終了文字の\0って入れなきゃいけないんでしょうか。
サンプルで\0を使っているコードを\0消しても正常に動作するんですが。
- 387 名前:デフォルトの名無しさん mailto:sage [2008/04/05(土) 12:14:40 ]
- BCCで「異なる 〜型へのポインタが混在している」って出るんですが、
これってどうすれば解決できるんでしょう? 箇所は vsprintf(unsigned char*,const char*,va_list); って使ってるところなんですが、unsignedのポインタからsignedのポインタにはキャストできないって言われたし・・・
- 388 名前:デフォルトの名無しさん mailto:sage [2008/04/05(土) 12:14:41 ]
- >>386
コードによる。サンプル晒せ。 実はどこかで\0が付いているだけかもしれない。
- 389 名前:386 mailto:sage [2008/04/05(土) 12:28:09 ]
- >>388
これです。 int CreateSave() { HANDLE hFile; SYSTEMTIME st; TCHAR szTime[128]; TCHAR *lpszBuf; DWORD dwAccBytes; DWORD dwSize = 0L; HGLOBAL hMem; DWORD dwLen; GetLocalTime(&st); wsprintf(szTime,_T("\r\nファイル作成時: %d年%02d月%02d日%02d時%02d分%02d秒"), st.wYear, st.wMonth, st.wDay, st.wHour, st.wMinute, st.wSecond); dwLen = (DWORD)lstrlen(szTime);
- 390 名前:386 mailto:sage [2008/04/05(土) 12:28:48 ]
- 続き
hFile = CreateFile(_T("ファイルログ.txt"),GENERIC_READ, 0, NULL, OPEN_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL); dwSize = GetFileSize(hFile, NULL) + dwLen; hMem = GlobalAlloc(GHND, sizeof(TCHAR) * dwSize + 1); lpszBuf = (TCHAR*)GlobalLock(hMem); ReadFile(hFile, lpszBuf, dwSize, &dwAccBytes, NULL); CloseHandle(hFile); lstrcat(lpszBuf, szTime); lpszBuf[dwSize] = '\0'; hFile = CreateFile(_T("ファイルログ.txt"), GENERIC_WRITE, 0, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL); WriteFile(hFile, lpszBuf, (DWORD)lstrlen(lpszBuf), &dwAccBytes, NULL); CloseHandle(hFile); GlobalUnlock(hMem); GlobalFree(hMem); return -1; }
- 391 名前:デフォルトの名無しさん mailto:sage [2008/04/05(土) 12:30:09 ]
- >>387
(const signed char *)にキャスト
- 392 名前:デフォルトの名無しさん mailto:sage [2008/04/05(土) 12:50:12 ]
- >>390
よく読んでないけどstrcat(lpszBuf, szTime);この時点で¥0がついてると思われ
- 393 名前:デフォルトの名無しさん mailto:sage [2008/04/05(土) 12:58:53 ]
- >>391
constってことは第2引数にですよね?やったら同じエラーが2個に増えたんですけど・・・
- 394 名前:デフォルトの名無しさん mailto:sage [2008/04/05(土) 12:59:59 ]
- constを破るキャストがあるんですが、あれがあったらconstの意味なくないですか?
- 395 名前:デフォルトの名無しさん mailto:sage [2008/04/05(土) 13:04:11 ]
- constは破るためにある
だから const const charがあるだろ
- 396 名前:デフォルトの名無しさん mailto:sage [2008/04/05(土) 14:33:43 ]
- >>390
lpszBuf = (TCHAR*)GlobalLock(hMem); ReadFile(hFile, lpszBuf, dwSize, &dwAccBytes, NULL); CloseHandle(hFile); lstrcat(lpszBuf, szTime); lpszBuf[dwSize] = '\0'; このあたりか。 何か無茶苦茶危険なコードに見えるんだけど。 hMem = GlobalAlloc(GHND, sizeof(TCHAR) * dwSize + 1); ← dwSize 文字分のメモリを確保してるつもりのようだが、+1 の位置がおかしい(TCHAR が2バイトの時に領域が足りない) lpszBuf = (TCHAR*)GlobalLock(hMem); ReadFile(hFile, lpszBuf, dwSize, &dwAccBytes, NULL); ← dwSize 読み込む CloseHandle(hFile); lstrcat(lpszBuf, szTime); ← '\0' を付けないまま lstrcat は危険というか、szTime の文字数分領域がさらに必要なんだけどその領域を確保すらしていない lpszBuf[dwSize] = '\0'; ← lstrcat の前に行う
- 397 名前:デフォルトの名無しさん mailto:sage [2008/04/05(土) 14:35:01 ]
- しかも、lpszBuf[dwSize] = '\0'; じゃなくて lpszBuf[dwAccBytes] = '\0'; だな。
- 398 名前:デフォルトの名無しさん mailto:sage [2008/04/05(土) 14:41:08 ]
- Unicodeビルドかどうかで、ファイルの文字コードまで
影響を受けるというのは良くない場合のほうが多いと思うけど、 それはいいのか?
- 399 名前:デフォルトの名無しさん mailto:sage [2008/04/05(土) 15:57:43 ]
- 何もひねらずに考えるとこうですが
if( n % 2 ) printf( "奇数です\n" ); else printf( "偶数です\n" ); 奇数か偶数か調べるもっともスマートなコードってどんなんですかね?
- 400 名前:デフォルトの名無しさん mailto:sage [2008/04/05(土) 15:59:38 ]
- int isOdd(int n){ return n % 2; }
if( isOdd(n) ) printf( "奇数です\n" ); else printf( "偶数です\n" );
- 401 名前:デフォルトの名無しさん mailto:sage [2008/04/05(土) 16:00:21 ]
- スマートってのが読みやすいって意味ならそれでいいんじゃね?
スマートが短いって意味なら、いろいろあるだろうけど。
- 402 名前:デフォルトの名無しさん mailto:sage [2008/04/05(土) 16:00:43 ]
- inline bool isOdd(int n) { return n % 2 != 0; }
- 403 名前:デフォルトの名無しさん mailto:sage [2008/04/05(土) 16:07:03 ]
- 下位1bitでも調べればいいんじゃね
スマートといえるかわからんけど
- 404 名前:デフォルトの名無しさん mailto:sage [2008/04/05(土) 16:08:36 ]
- 最下位ビット調べて0なら偶数
- 405 名前:デフォルトの名無しさん mailto:sage [2008/04/05(土) 16:09:05 ]
- かぶった><
- 406 名前:デフォルトの名無しさん mailto:sage [2008/04/05(土) 16:10:52 ]
- この程度なら最適化されないのかな?
- 407 名前:デフォルトの名無しさん mailto:sage [2008/04/05(土) 16:23:00 ]
- まともなコンパイラならするよ。
- 408 名前:デフォルトの名無しさん mailto:sage [2008/04/05(土) 17:00:52 ]
- std::string のfind()とfind_first_of()の違いって何ですか?
どちらも最初の位置を返すと思うんですが
- 409 名前:デフォルトの名無しさん mailto:sage [2008/04/05(土) 17:04:02 ]
- findはコンテナから特定の要素を見つける。
find_first_ofはコンテナから特定のコンテナの要素を見つける。
- 410 名前:デフォルトの名無しさん mailto:sage [2008/04/05(土) 17:21:25 ]
- std::string str("hogefugapiyo");
std::string::size_type find = str.find_first_of("abc"); "abc"のうち一番最初に見つかった要素の位置を返す コンパイルが通るかは試してないのでわからん
- 411 名前:デフォルトの名無しさん mailto:age [2008/04/05(土) 18:17:44 ]
- 質問です。
以下のような二つのコードの時間を計ってみたら、 コードBの方が早く、コードAはすさまじく重くなりました。 なぜでしょうか? あと、コードAの方で、変数aをデバッグで値を見ると、 1.731e-040#DEN のように表示されます。 #DENとは何なんでしょうか? よろしくお願いします。 環境はVisual c++ 2005です。 //コードA for(int i =0; i< 5000; i++){ float a = 1.731e-040f; float b = 1.731e-040f; float the_test = a*b; } //コードB for(int i =0; i< 5000; i++){ float a = 0.1f; float b = 0.1f; float the_test = a*b; }
- 412 名前:デフォルトの名無しさん mailto:sage [2008/04/05(土) 18:31:22 ]
- >>411
DENormal number (非正規化数) FPUによっては非正規化数の演算をサポートしてなくて、 これをソフトウェア側でエミュレートしてる場合がある。 すると、パフォーマンスが落ちる原因になる。
- 413 名前:じじ [2008/04/05(土) 18:57:43 ]
- MFCをつかったマルチスレッドプログラミングを仕事で要求されているの
ですが、APPクラスの子レッドとしておくのがいいのでしょうか?
- 414 名前:デフォルトの名無しさん mailto:sage [2008/04/05(土) 19:17:30 ]
- enum は ビットマスクしてもいいですか?
- 415 名前:デフォルトの名無しさん mailto:sage [2008/04/05(土) 20:03:42 ]
- どうやったらうまくコーディングできるんだろう?
すぱげってぃーなコードになってしまう。やっぱり慣れるしかない? 以下サンプル void binary_search(double x,double y,double *z) { int i; double c,j; j = 0.0000001; for(i=0;y*y - 2 > j;i++) { if(x*x - 2 < 0 && y*y - 2 > 0) { c = (x+y)/2; if(c*c - 2 > 0) y = c; else x = c; } binary_search(x,y,z); } *z = x; } 再帰しまくりでサーセン。でもどうやったら再帰せずに実現できるだろう? 考えるのが面倒&考えても良く分からないので再帰に走る今日この頃。
- 416 名前:デフォルトの名無しさん mailto:sage [2008/04/05(土) 20:04:37 ]
- 無理に再帰を使わない方がスパゲティ化する。
- 417 名前:デフォルトの名無しさん mailto:sage [2008/04/05(土) 20:11:04 ]
- 再帰はスタックで実現している。
- 418 名前:デフォルトの名無しさん mailto:sage [2008/04/05(土) 20:12:39 ]
- >>415
何がしたいんだよ? binary_search(x,y,z); ↓ //binary_search(x,y,z);
- 419 名前:デフォルトの名無しさん mailto:sage [2008/04/05(土) 20:21:12 ]
- バイナリサーチをバイナリデータのサーチと勘違いしてたりして
変数一文字でコメントもなくて通じると思ってるんだろうか
- 420 名前:デフォルトの名無しさん mailto:sage [2008/04/05(土) 20:29:23 ]
- binary search じゃなくて bisection method の間違いだったわ
恥ずかしい。。。。鬱だしのう orz
- 421 名前:デフォルトの名無しさん mailto:sage [2008/04/05(土) 22:55:05 ]
- これが日本のITレベルだ
pc11.2ch.net/test/read.cgi/prog/1191638525/43-44 くずばっかw
- 422 名前:デフォルトの名無しさん mailto:sage [2008/04/05(土) 23:05:51 ]
- >>421
すまん、記事のコメントと同じ事をいいたいのか それとも、2ページ目の解説についていいたいのか さっぱり分からないから、ちゃんと説明してくれないか?
- 423 名前:デフォルトの名無しさん mailto:sage [2008/04/05(土) 23:06:44 ]
- x 日本
o IBM
- 424 名前:デフォルトの名無しさん [2008/04/05(土) 23:37:02 ]
- 内部に二次元配列をもつクラスから、instance[0][0]みたいな書き方で値を取得したいと思ってます。
double operator[][](int x, int y) のような書き方は出来ないみたいなので、(コンパイル失敗しました)、 この場合どうすればいいでしょうか?
- 425 名前:デフォルトの名無しさん [2008/04/05(土) 23:47:13 ]
- 要素数が100万くらいあるvectorを半分にして50万要素のvector2つにしたいのですが、
50万番目のiteratorを取得するのにiterator++ を50万回呼ぶ以外の方法はないのでしょうか。 vector<int>::iterator it=vec.begin()+vec.size()/2 とかいう感じだと演算子+は定義されていない、とかでダメなもんで。 この辺がポインタとの違いかなとは思うのですが。
- 426 名前:デフォルトの名無しさん mailto:sage [2008/04/05(土) 23:50:06 ]
- επιστημη ってこんなところにも出没するんだな
- 427 名前:デフォルトの名無しさん mailto:sage [2008/04/05(土) 23:54:19 ]
- >>425
std::advance というか、+ は定義されているはずなのだが、 どんなコンパイラ使ってるの?
- 428 名前:デフォルトの名無しさん mailto:sage [2008/04/05(土) 23:54:52 ]
- >>425
コンパイラ何使ってるの? vector のイテレータはランダムアクセスイテレータのはずだから、 コンパイラの実装がおかしいだろ、それは。
- 429 名前:デフォルトの名無しさん mailto:sage [2008/04/05(土) 23:55:08 ]
- >>425
vector<int>::iterator it= &vec[vec.size()/2]; みたいな感じでできないか?
- 430 名前:デフォルトの名無しさん mailto:sage [2008/04/06(日) 00:01:24 ]
- >>429 それはダメ。ポインタとごっちゃになってる。
- 431 名前:デフォルトの名無しさん mailto:sage [2008/04/06(日) 00:08:31 ]
- PCSX2というソフトをコンパイルしたいんですがやり方がわかりません。
プログラムについての知識0です。 勉強したいとかではなくこのソフトがほしいだけです。 Microsoft Visual C++ 2008をとりあえずインストールしましたがやり方がまったくわかりません。 サルにも判るように教えてくれる方がいれば幸いです。 ttp://www.pcsx2.net/files/10490 ttp://pcsx2.svn.sourceforge.net/viewvc/pcsx2/pcsx2/GS.cpp?view=markup&pathrev=346
- 432 名前:425 mailto:sage [2008/04/06(日) 00:10:23 ]
- すみません。できました。どこかで間違った思い込みしてたみたいです。
- 433 名前:デフォルトの名無しさん mailto:sage [2008/04/06(日) 00:23:40 ]
- >>430
ランダムアクセスイテレータはポインタ互換だと勘違いしてた そういう実装が多いだけか
- 434 名前:デフォルトの名無しさん mailto:sage [2008/04/06(日) 00:25:07 ]
- >>433
使用可能な演算子はポインタと同じだが、 ポインタとの間で相互変換することはできない。
- 435 名前:デフォルトの名無しさん mailto:sage [2008/04/06(日) 00:26:14 ]
- ただし、ポインタもランダムアクセスイテレータの一種だけどね。
- 436 名前:デフォルトの名無しさん mailto:sage [2008/04/06(日) 01:01:40 ]
- >>424
プロキシクラスを返す。 class A { public: class Proxy { public: double operator[](int y); }; Proxy operator[](int x); };
- 437 名前:デフォルトの名無しさん mailto:sage [2008/04/06(日) 01:06:20 ]
- ポインタ返せるならそれでいいと思う。
範囲チェックしたければ何かクラス返すことになると思うけど。
- 438 名前:デフォルトの名無しさん mailto:sage [2008/04/06(日) 10:48:56 ]
- >>431
スレ違いだということ、サルでも分かるかな?
- 439 名前:411 mailto:sage [2008/04/06(日) 12:00:53 ]
- >412
回答ありがとうございます。 遅くなる原因がわかり、勉強になりました。 ありがとうございました。
- 440 名前:デフォルトの名無しさん [2008/04/06(日) 12:57:53 ]
- >>436-437
ありがとうございます。 以下のような実装でいいですか? (あまりスッキリしてないような、、) class test { public: test(int arg_size); struct Proxy { Proxy(int arg_size) : size(arg_size) { vec.assign(size, 0.0); } double &operator[](int y) { return vec[y]; } std::vector<double> vec; int size; }; Proxy &operator[](int x) { return proc_vec[x]; } std::vector<Proxy> proc_vec; int size; };
- 441 名前:デフォルトの名無しさん mailto:sage [2008/04/06(日) 13:36:20 ]
- ていうかよっぽどの理由が無いなら()演算子のでいいじゃん
- 442 名前:デフォルトの名無しさん mailto:sage [2008/04/06(日) 14:08:59 ]
- クラスの中身の先頭にusing namespace 〜;は書けないの?
- 443 名前:デフォルトの名無しさん [2008/04/06(日) 14:11:20 ]
- >>441
なるほど、たしかに全然すっきり書けますね。 メンテもしやすそうだし、こっちにします。 ありがとうございます。 class Matrix { public: Matrix(int arg_size) : size(arg_size) { vec.assign(size, std::vector<double>(size)); } std::vector< std::vector<double> > vec; int size; double &operator()(int x, int y) { return vec[x][y]; } };
- 444 名前:デフォルトの名無しさん mailto:sage [2008/04/06(日) 14:18:34 ]
- >>443
440でもそうだったけど、size変数って不要じゃね?
- 445 名前:デフォルトの名無しさん mailto:sage [2008/04/06(日) 15:13:16 ]
- >>443
更にで何だけど、要素数のパターンが少なくて、定数でしか使わないなら要素数テンプレートにしちゃうと ベクターも使わずに済むが・・・ 用途分からんからしらね
- 446 名前:デフォルトの名無しさん mailto:sage [2008/04/06(日) 15:15:45 ]
- エラー 1 error LNK2001: 外部シンボル ""private: static int Forms::Application::nCmdShow" (?nCmdShow@Application@Forms@@0HA)" は未解決です。 main.obj
ってどういう意味のエラーですか?
- 447 名前:デフォルトの名無しさん mailto:sage [2008/04/06(日) 15:21:22 ]
- >>446
宣言だけされてて関数が定義されていない。
- 448 名前:デフォルトの名無しさん [2008/04/06(日) 15:34:25 ]
- >>445
どうやるんですか? 要素は、二次元ベクトルなんですが、1000×1000要素くらいです。
- 449 名前:デフォルトの名無しさん mailto:sage [2008/04/06(日) 15:36:35 ]
- >>446
プロジェクトのリンクするライブラリの設定で 必要な関数入ったLIBファイルを設定しわすれてるんじゃない
- 450 名前:デフォルトの名無しさん [2008/04/06(日) 15:37:08 ]
- >>444
その通りですね。 size変数は消します。
- 451 名前:デフォルトの名無しさん mailto:sage [2008/04/06(日) 15:46:43 ]
- >>448
vectorの要素数って変わるの?
- 452 名前:デフォルトの名無しさん mailto:sage [2008/04/06(日) 16:25:26 ]
- >>448
横レスだが、こういうことだと思う。 template<int size_x, int size_y> class Matrix { public: double& operator()(int x, int y) { return v_[x][y]; } private: double v_[size_x][size_y]; }; 1000×1000は大きいので、スタックには置けないけど。
- 453 名前:デフォルトの名無しさん mailto:sage [2008/04/06(日) 16:43:03 ]
- よくみるLPクラス名って、そのクラスのポインタ型って事?
- 454 名前:デフォルトの名無しさん mailto:sage [2008/04/06(日) 17:00:20 ]
- >>453 そういう名前付けの規則が昔はやってたんだよ。
- 455 名前:デフォルトの名無しさん mailto:sage [2008/04/06(日) 17:02:13 ]
- ある天気予報サイトの三重県の天気情報の文字列だけを抽出して自分のホームページに乗せるプログラムを書きたいのですが、どういったことを勉強すれば良いのかご教示願えないでしょうか。宜しくお願いします。
- 456 名前:デフォルトの名無しさん mailto:sage [2008/04/06(日) 17:13:54 ]
- >>455
・サイトにアクセスしてページを入手する ・ページを加工する ・自サイトに貼り付ける WebProg板へどうぞ。
- 457 名前:デフォルトの名無しさん mailto:sage [2008/04/06(日) 17:32:48 ]
- エラー 1 error C2143: 構文エラー : ';' が 'Forms::Application::frm' の前にありません。 application.cpp 7
エラー 2 error C4430: 型指定子がありません - int と仮定しました。メモ: C++ は int を既定値としてサポートしていません application.cpp 7 エラー 3 error C4430: 型指定子がありません - int と仮定しました。メモ: C++ は int を既定値としてサポートしていません application.cpp 7 エラー 4 error C2371: 'frm' : 再定義されています。異なる基本型です。 application.cpp 7 >>449 >>447 解決しました。 が、今度はこんなエラーが。 定義はしたんですが、今度は定義した場所でエラー吐くようになりました。
- 458 名前:デフォルトの名無しさん mailto:sage [2008/04/06(日) 17:52:08 ]
- >>457
>>54-
- 459 名前:デフォルトの名無しさん mailto:sage [2008/04/06(日) 19:44:31 ]
- ありがとうございました。
名前空間をちゃんと指定してなかったのが原因でした。
- 460 名前:デフォルトの名無しさん [2008/04/07(月) 02:21:47 ]
- ヘッダに定義とか書けちゃうんだけど、
分けた方がええの? 分ける理由ってなんですか?
- 461 名前:デフォルトの名無しさん mailto:sage [2008/04/07(月) 02:41:53 ]
- >>460
定義のほうをあらかじめコンパイルしてオブジェクトにしとける 小さいなら定義も一緒でいいだろ boostとかにもそういうのあるよ
- 462 名前:デフォルトの名無しさん mailto:sage [2008/04/07(月) 02:46:51 ]
- >>460
プログラムサイズが増えたり重複オブジェクトができたりコンパイルが通らなかったりする
- 463 名前:デフォルトの名無しさん mailto:sage [2008/04/07(月) 02:49:17 ]
- ヘッダに関数書くならstaticつけるかファンクタにするかテンプレートにしとけよ。
- 464 名前:デフォルトの名無しさん mailto:sage [2008/04/07(月) 02:54:18 ]
- こういう質問をする人のレベルだと、一番掴みやすいのはコンパイル時間の問題かなぁ。
>>460 たとえば、計10万行くらいあるソースファイル群のすべてが 直接or間接的にhoge.hppというヘッダファイルをincludeしているとして、 hoge.hppが実装まで全部書いてあるモノだったとすると、 その実装部分をほんの1行変更しただけで、10万行のソースファイル群が すべて再コンパイルされることになる。 定義を別ファイルにしておけば、変更したときに再コンパイルするのはそのファイルだけで済む。
- 465 名前:デフォルトの名無しさん mailto:sage [2008/04/07(月) 04:53:14 ]
- LinuxにおいてHDDの容量を取得したいのですがどの様にすればよいのでしょうか?
- 466 名前:デフォルトの名無しさん mailto:sage [2008/04/07(月) 04:59:01 ]
- ただのグローバル変数とstaticをつけたグローバル変数って同違うんですか?
- 467 名前:デフォルトの名無しさん mailto:sage [2008/04/07(月) 06:43:59 ]
- >>465
Linux板へどうぞ。ulimitでできるでしょ。 >>466 前者は文字通りGlobal。後者はファイルスコープなので違う翻訳単位からは見えない。 どちらにしても、可能な限り使わないに越したことはない。
- 468 名前:デフォルトの名無しさん mailto:sage [2008/04/07(月) 07:14:53 ]
- >>464
>>463 >>462 >>461 ありがとう。 なんとなくわかった。
- 469 名前:デフォルトの名無しさん [2008/04/07(月) 07:45:15 ]
- >>463
ヘッダに関数書くときに、static付けたり、ファンクタにしたり、テンプレートにしたりすると、 どういう点でいいですか?全然考えてませんでした。
- 470 名前:デフォルトの名無しさん mailto:sage [2008/04/07(月) 07:59:53 ]
- 関数が複数実体化されることを抑制できる。
- 471 名前:デフォルトの名無しさん mailto:sage [2008/04/07(月) 12:23:30 ]
- ★ 今世紀最大の大祭り!聖火を巡る障害物リレー 日本イベント来たる! ★
【目的】 街中をオニが駆け巡ります。 オニは聖火を持って移動します。これを消すのが目的です。 ただし、今回は参加者が多いため難易度がはね上がりました。 今回のみ、オニは壁役に守られながら走ります。 壁役を突破して聖火を消せばゲームクリアとなります。 【ルール】 〜勝ち〜 オニが持っている聖火を消すとその時点でゲームクリアとなります。 〜負け〜 オニが若里公園まで逃げ切るとその時点でゲームオーバーとなります。 【日時 】 2008年4月26日(土)8:30スタート 【場所 】 長野県長野市 【ルート地図】 ttp://www.city.nagano.nagano.jp/upload/1/taiiku_lane.pdf 【詳細情報 】 ttp://www.joc.or.jp/beijing/torchrelay/index.html ------------------------------------------------------------- イギリスで行われたイベントの様子 ttp://jp.youtube.com/watch?v=1-KMVWRFLes フランスで行われたイベントの様子(1分30秒から) ttp://jp.youtube.com/watch?v=9mYEtkW2bsw 『2ch大規模OFF会場』 ttp://sports11.2ch.net/test/read.cgi/offmatrix/1207495088/ ttp://sports11.2ch.net/test/read.cgi/offmatrix/1207418064/ 『各国の競技結果』 ttp://ja.uncyclopedia.info/wiki/%E3%82%A8%E3%82%AF%E3%82%B9%E3%83%88%E3%83%AA%E3%83%BC%E3%83%A0%E3%83%BB%E8%81%96%E7%81%AB%E3%83%AA%E3%83%AC%E3%83%BC
- 472 名前:デフォルトの名無しさん mailto:sage [2008/04/07(月) 18:43:10 ]
- 四則演算ってさ、
char でも int でも double でもしてくれるが、 それってコンパイル時に適切にマシン語に変換してくれてるんですか? CPUが持ってる算術演算の機能を使えるように 置き換えてるのであってCPUが int なのか char なのか判断して 処理してるわけではないですよね?
- 473 名前:デフォルトの名無しさん mailto:sage [2008/04/07(月) 18:51:06 ]
- >>472
そうだよ ないです
- 474 名前:デフォルトの名無しさん mailto:sage [2008/04/07(月) 19:12:35 ]
- ただし格上げされて計算されるので種別はそんなに多くないです。
- 475 名前:デフォルトの名無しさん mailto:sage [2008/04/07(月) 20:03:56 ]
- 格上げ、というか汎整数拡張あたりじゃないのかな
- 476 名前:デフォルトの名無しさん mailto:age [2008/04/07(月) 22:26:22 ]
- とりあえず宿題スレの方で提出が終わったので、
自分なりに作ろうと思っているのですが、いきなり行き詰ってしまいました; 整数の場合8桁、負数の場合9桁、エラー仕様など、問題が山積みですが、 どうかご教授お願いします。 ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6203.txt
- 477 名前:476 mailto:sage [2008/04/07(月) 22:28:20 ]
- #define buffersize 10ですね;
- 478 名前:デフォルトの名無しさん mailto:sage [2008/04/07(月) 22:41:06 ]
- >>476
何がしたいんだ?宿題をといて自分なりに課題を拡張して勉強しようとしたのか? そのテキストファイルを見せられても、課題を丸投げされているようにしか見えないが。 とりあえずバッファオーバーフローしてたり、いろいろまずいぞ。
- 479 名前:デフォルトの名無しさん [2008/04/08(火) 10:55:17 ]
- ttp://www.nicovideo.jp/watch/sm2820444
この動画でやっている、画像ファイルをテキスト(AA)に変換は どのようにやっているのですか?
- 480 名前:デフォルトの名無しさん mailto:sage [2008/04/08(火) 11:03:12 ]
- 動画にコード出てるじゃないか……
- 481 名前:デフォルトの名無しさん mailto:sage [2008/04/08(火) 11:08:11 ]
- 画像の輪郭抽出→予めこのパターンにはこの文字を使うというデータを登録しておく→
画像の上から順にパターン解析と文字割り当てを行う。 って感じしか思い浮かばん
|

|