- 1 名前:デフォルトの名無しさん mailto:sage [2007/12/08(土) 14:09:22 ]
- エスケープシーケンスやWin32APIなどの環境依存なものでもOK。
ただしその場合、質問者は必ず環境を書きましょう。 ※sage禁止です(と代々スレに書いてありますが自己判断で)。 【前スレ】 【初心者歓迎】C/C++室 Ver.44【環境依存OK】 pc11.2ch.net/test/read.cgi/tech/1194016813/ 【アップローダー】(質問が長い時はココ使うと便利) kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/joyful.htm
- 532 名前:デフォルトの名無しさん mailto:sage [2007/12/19(水) 11:43:39 ]
- >>528
他にも色色問題が。scanf()で一文字ずつ入力なんて阿呆なことしないで、 fgets()で1行分まるっと入力してしまえばいいじゃん。 あと、'^'による終了判定も無意味。
- 533 名前:デフォルトの名無しさん mailto:sage [2007/12/19(水) 11:45:26 ]
- つーか、>529ではループの判定条件がバグったままじゃんw
- 534 名前:デフォルトの名無しさん mailto:sage [2007/12/19(水) 11:46:26 ]
- 何故増えないんだと思う?
具体的な場所はともかく、どの辺が間違ってそうな気がする? 本当はデバッガを使うのが良いんだろうが、printfデバッグっていう手法だってある。 それっぽい箇所にprintfを挿入するだけで見えてくるかもよ。
- 535 名前:デフォルトの名無しさん mailto:sage [2007/12/19(水) 11:47:57 ]
- ブロックの前後や中で満たすべき条件を式のかたちで書き出してみてはどうか
- 536 名前:デフォルトの名無しさん mailto:sage [2007/12/19(水) 11:51:01 ]
- 紙と鉛筆使って机上でプログラムを実行してみるのもいい。
どこで意図しない動作になっているかすぐ分かる。
- 537 名前:デフォルトの名無しさん mailto:sage [2007/12/19(水) 11:53:22 ]
- >>518について詳しい人いませんか?
- 538 名前:りょう ◆RyOrlro88Q [2007/12/19(水) 11:57:29 ]
- 解決できました><
ありがとうございましたm(__)m >>532 それが指定なんですよ>< >>534 そんな方法なんて知りませんでした><
- 539 名前:デフォルトの名無しさん mailto:sage [2007/12/19(水) 12:01:09 ]
- ほほぉ。それじゃ、スレよごしの罰として完成したソースを貼ってもらおうか。
- 540 名前:デフォルトの名無しさん mailto:sage [2007/12/19(水) 12:06:58 ]
- >>118
ttp://ml.tietew.jp/cppll/cppll/thread_articles/11083#ar11086
- 541 名前:デフォルトの名無しさん mailto:sage [2007/12/19(水) 12:07:22 ]
- >>537
inline指定無しでも最適化でインライン展開してくれるんじゃないの? 明示的にinline指定したい積極的な理由でもあるなら兎も角、そうでないならコンパイラに任せたら? つーか、iccだとinline指定をつけると却ってコンパイラが混乱するみたいだ。
- 542 名前:デフォルトの名無しさん mailto:sage [2007/12/19(水) 12:11:03 ]
- >>540
番号間違ってる。 しかし、そのリンク先のエピたんの弁によれば、 inline指定してある関数を別の翻訳単位から見つけてくるiccはおかしなことになるね。
- 543 名前:デフォルトの名無しさん mailto:sage [2007/12/19(水) 12:22:09 ]
- 7.1.2.4を見てextern inlineにしたら通った
- 544 名前:デフォルトの名無しさん mailto:sage [2007/12/19(水) 13:00:43 ]
- // aaa.h
extern inline double MySquare(double); // aaa.cpp double MySquare(double d){...} // main.cpp #include "aaa.h" int main() { double d = MySquare(3.14); } 一応gcc3.4とvc8でいけた external linkageなinline指定つきの関数宣言がどうたらこうたら書いてあるけど理屈はよくわかんね
- 545 名前:デフォルトの名無しさん mailto:sage [2007/12/19(水) 13:28:11 ]
- >>540
>>541 >>542 >>543 ストラップ本にはinline定義とあるので、おそらく 無理なんでしょうね。 extern inline定義にしたらVC 2005では実行できましたが、 g++ v4では無理でした。移植性考えたらやはり素直にヘッダーに 定義を書いたほうが無難ですね。
- 546 名前:デフォルトの名無しさん mailto:sage [2007/12/19(水) 13:30:36 ]
- >>544
extern inlineを宣言につけるんですか。 試して見ます。
- 547 名前:デフォルトの名無しさん mailto:sage [2007/12/19(水) 13:37:55 ]
- >>544
g++ v4でもリンクできましたが、 定義にinlineつけないとインライン展開されて ないかもしれないですね。
- 548 名前:デフォルトの名無しさん mailto:sage [2007/12/19(水) 13:55:07 ]
- VC++ 2008でもテンプレートのexport定義はサポート
されてないんだな
- 549 名前:デフォルトの名無しさん mailto:sage [2007/12/19(水) 13:58:09 ]
- >>548
別に規格に違反してないからね
- 550 名前:デフォルトの名無しさん [2007/12/19(水) 14:35:53 ]
- kernel: pid xxxx (a.out), uid yyyy: exited on signal 11 (core dumped)
というメッセージがログに残っている場合は何を調べればいいのでしょうか?
- 551 名前:デフォルトの名無しさん mailto:sage [2007/12/19(水) 14:38:34 ]
- VCEEにMFCついてないかー/(^o^)\
- 552 名前:デフォルトの名無しさん mailto:sage [2007/12/19(水) 14:52:40 ]
- >>50
coreファイルを調べるのが王道
- 553 名前:デフォルトの名無しさん mailto:sage [2007/12/19(水) 14:58:45 ]
- >>550
signal 11はSEGVだから、要はセグメンテーションフォルトを起こしたってこった。 まぁ、メモリアクセス周りでバグってるんだろ。
- 554 名前:デフォルトの名無しさん mailto:sage [2007/12/19(水) 15:02:26 ]
- >>551
TurboC++ExpressだったらMFC付いてたかもしれん。
- 555 名前:デフォルトの名無しさん mailto:sage [2007/12/19(水) 15:32:15 ]
- >>554
把握した、WinAPI直接とか死にそうだからVB.NETかC#いじってくる
- 556 名前:デフォルトの名無しさん mailto:sage [2007/12/19(水) 15:36:26 ]
- どっちもとか正規表現あるから戻ってこれなくなりそう
- 557 名前:デフォルトの名無しさん mailto:sage [2007/12/19(水) 16:20:06 ]
- bitsetよりvector<bool>のほうが性能が上のことが判明した
#include <iostream> #include <vector> #include <bitset> #include <time.h> using namespace std; main(){ #define N 8200000 int n,m,cl; cl=clock(); bitset<N> a; for(m=0;m<10;m++)for(n=0;n<N;n++)a[n]=1; cl=clock()-cl;cout<<cl<<endl; cl=clock(); vector<bool> b(N); for(m=0;m<10;m++)for(n=0;n<N;n++)b[n]=1; cl=clock()-cl;cout<<cl<<endl; }
- 558 名前:デフォルトの名無しさん mailto:sage [2007/12/19(水) 16:30:20 ]
- 自前の関数のほうが断トツで早かった
#include <iostream> #include <vector> #include "crc.h" #include <bitset> #include <time.h> using namespace std; main(){ #define N 8200000 int n,m,cl; char *rnd =new char[N]; for(n=0;n<N;n++)rnd[n]=rand()&1; cl=clock(); bitset<N> a; for(m=0;m<10;m++)for(n=0;n<N;n++)a[n]=rnd[n]; cl=clock()-cl;cout<<cl<<endl; cl=clock(); vector<bool> b(N); for(m=0;m<10;m++)for(n=0;n<N;n++)b[n]=rnd[n]; cl=clock()-cl;cout<<cl<<endl; cl=clock(); unsigned int k,l, *c=new unsigned int [1+(N>>5)]; for(n=0;n<(N>>5);n++)c[0]=0; for(m=0;m<10;m++)for(n=0;n<N;n++){ k=n>>5; l=n&31; c[k] |= (rnd[n]<<l);} cl=clock()-cl;cout<<cl<<endl; }
- 559 名前:デフォルトの名無しさん mailto:sage [2007/12/19(水) 16:30:52 ]
- >>557
うちの環境ではbitsetの方が5倍速いんだが bitset -> 143 vector -> 890 VC2005, C2D E6850
- 560 名前:デフォルトの名無しさん mailto:sage [2007/12/19(水) 16:37:09 ]
- >>559
MinGWやVCCで計ってみたけど、環境によって変わるらしいね でも自前のビット演算が最速だった 558のcrc.hはいりません
- 561 名前:デフォルトの名無しさん mailto:sage [2007/12/19(水) 16:41:06 ]
- >>560
gcc 3.4.4(cygming special)でもbitsetのほうが早かった bitset -> 171 vector -> 687 自作は知らん
- 562 名前:デフォルトの名無しさん mailto:sage [2007/12/19(水) 16:42:41 ]
- >>558のほうでやってくれ 最適化されてループしていない可能性がある 初めのやつでは
- 563 名前:デフォルトの名無しさん mailto:sage [2007/12/19(水) 16:45:57 ]
- VC2005
bitset -> 460 vector -> 1876 自前 -> 137 やはりbitsetaのが早い
- 564 名前:デフォルトの名無しさん mailto:sage [2007/12/19(水) 16:49:50 ]
- でも、どの環境でも自前でビット演算するのが一番みたいだね
- 565 名前:デフォルトの名無しさん mailto:sage [2007/12/19(水) 16:58:54 ]
- まあ問題領域によるだろう
早さだけを求めるならbitsetに限らず自分で書いた方がことが多いだろうね
- 566 名前:デフォルトの名無しさん mailto:sage [2007/12/19(水) 16:59:00 ]
- >>557
./a.gcc.O3 220000 400000 ./a.gcc.O3.msse2 150000 390000 ./a.gcc.O3.msse2.funroll-loops 150000 420000 ./a.icc.xT.O3.ipo 140000 260000 ./a.icc.fast 140000 250000
- 567 名前:566 mailto:sage [2007/12/19(水) 17:03:18 ]
- おっと、書き忘れた。Xeon5160@3.00GHzね。
で、>558のほう。 -- ./a.gcc.O3 440000 1010000 120000 ./a.gcc.O3.msse2 410000 1010000 120000 ./a.gcc.O3.msse2.funroll-loops 400000 1010000 130000 ./a.icc.fast 420000 570000 130000 ./a.icc.xT.O3.ipo 420000 570000 130000
- 568 名前:デフォルトの名無しさん mailto:sage [2007/12/19(水) 20:17:10 ]
- ポインタのアドレス計算について質問です。
#include <stdio.h> int main(int argc, char *argv[]){ int *ptr; int ary[] = {1, 2, 3, 4, 5, 0}; ptr = ary; while(*ptr != 0){ printf("%d address = %u\n", *ptr, ptr); ++ptr; } return 0; } 上記のプログラムを実行すると、アドレスは4番地ずつ進みます。 使っている参考書ではint型データは2番地ずつ進んでいますが、これは環境によって確保される記憶領域が違うということで宜しいでしょうか? またfloat型の場合、使っている参考書ではint型の2倍、4バイト長ですが当方の環境だとint型と同じ4バイト長でした。 これも環境によって違うのでしょうか?
- 569 名前:デフォルトの名無しさん mailto:sage [2007/12/19(水) 20:21:58 ]
- ふつうはintは32bit 64bitパソコンは64鴨しれない
- 570 名前:デフォルトの名無しさん mailto:sage [2007/12/19(水) 20:23:26 ]
- その昔の参考書を投げ捨てろ。
16ビット環境主流の時代に書かれた本じゃないかい? intのサイズは基本的に環境依存。16bitコンパイラは16bit、32bitコンパイラは32bit。
- 571 名前:568 mailto:sage [2007/12/19(水) 20:32:30 ]
- >>569-570
有り難うございます。 環境によって違うのですね。 今、使っている本は www.amazon.co.jp/dp/4756102700/ です。 難関と言われているポインタの説明がとてもわかりやすかったし、中盤まできたのでこのまま使っていきたいです。 さすがに捨てるのは勿体無いと思うので。
- 572 名前:デフォルトの名無しさん mailto:sage [2007/12/19(水) 20:36:13 ]
- intはサイズが環境依存だから、longを使え、
・・・って、その昔、仕様をカン違いしてるヤツが偉そうに コーディングルールを決めることがよくあった。
- 573 名前:デフォルトの名無しさん mailto:sage [2007/12/19(水) 20:37:32 ]
- 参考までにDOSコンパイラ(Turbo C++ 1.01)でのsizeof(int)とsizeof(long)実行結果
up.mugitya.com/img/Lv.1_up43982.png 32bitコンパイラだと両方とも4になる。
- 574 名前:デフォルトの名無しさん mailto:sage [2007/12/19(水) 20:42:47 ]
- >>568
www.oklab.org/language_c/lp64.html
- 575 名前:デフォルトの名無しさん [2007/12/19(水) 22:09:32 ]
- IntelのCPU(x86)で、doubleとlong doubleはどうちがいますか?
- 576 名前:デフォルトの名無しさん mailto:sage [2007/12/19(水) 22:47:06 ]
- doubleは64ビット(IEEE 754倍精度)、
long doubleは80ビット(IEEE 754拡張倍精度)のことが多い。 Visual C++ 32ビット(どっちも64ビット)のように例外もある。
- 577 名前:デフォルトの名無しさん mailto:sage [2007/12/19(水) 22:51:46 ]
- 失礼します。
どこで質問していいか判らず、何でも知ってそうなここに来ました。 ブーンスタジオをインストールしようとすると DllRegisterServerへの呼び出しはエラーコード0x80070005により失敗しました。 と出るんですがどういう意味ですか? 当方PC歴1ヶ月で、全く解りません。 エラーコードググっても???です。 どうか、教えてください。
- 578 名前:デフォルトの名無しさん [2007/12/19(水) 22:58:12 ]
- >>576
ありがとうございます。拡張倍精度というのがあるんですね。
- 579 名前:デフォルトの名無しさん mailto:sage [2007/12/19(水) 23:07:38 ]
-
以下のファイルを構造体の配列に取り込みたいです。 ------------- a_yumi, 9, f m_mana, 4, f h_ryohko, 10, f m_konomi, 12, f m_kana, 4, f 。。。 ------------- struct data{ char name[10]; char age[10]; char sex[10]; } g_data[NUM]; int main( void ){ 。。。 } ファイルは開いてみないと大きさが分からないものとします。 "NUM"を可変に(ファイルのデータ数ピッタリに)取り込むことはできないでしょうか? できればC++は使わずに、Cのみでやりたいです。お願いします。
- 580 名前:デフォルトの名無しさん mailto:sage [2007/12/19(水) 23:10:37 ]
- >>577
PC初心者板かソフトウェア板へいけ
- 581 名前:デフォルトの名無しさん mailto:sage [2007/12/19(水) 23:14:12 ]
- >>580
すみませんでした。 行ってきます
- 582 名前:デフォルトの名無しさん mailto:sage [2007/12/19(水) 23:14:33 ]
- >>577 半年ROMれバカ野郎
- 583 名前:デフォルトの名無しさん mailto:sage [2007/12/19(水) 23:14:41 ]
- >>577
この辺で聞いてみるとか? ↓ 【ニコニコ】BOON SUTAZIO Part4【ブラウザ】 pc11.2ch.net/test/read.cgi/software/1197298402/
- 584 名前:デフォルトの名無しさん mailto:sage [2007/12/19(水) 23:15:13 ]
- >>579
realloc()を使うとか、 リンクリストにするとか で可能。
- 585 名前:デフォルトの名無しさん mailto:sage [2007/12/19(水) 23:16:45 ]
- >584
どもありがとうございます。 ググってきます。
- 586 名前:デフォルトの名無しさん mailto:sage [2007/12/20(木) 00:05:26 ]
- 言語 C++
質問内容 1.struct SHoge { char a; short b; int c; };と定義する。 2.SHoge obj; と実体を作成する。 上記の場合、objのアライメント(?)はいつも同じでしょうか? 質問の背景 1.struct SHogeBase { char a; short b; int c; };と定義する。 2.struct SHoge :public SHogeBase { void Save(FILE *f){fwrite(this, sizeof(SHogeBase),1,f); void Load(FILE* f){略}; } 見たいに、メンバ変数のセーブ、ロードを行っており、タマタマ動作しているのですが、これがタマタマなのか、 それともあらゆるC++環境で正常動作が保障されているのか、が知りたい。 足りない情報等あれば指摘お願いします。
- 587 名前:デフォルトの名無しさん [2007/12/20(木) 00:08:39 ]
- >>586
OSが変わったりCPUが変わったらレイアウトも変わる罠。
- 588 名前:デフォルトの名無しさん mailto:sage [2007/12/20(木) 00:10:37 ]
- 詰め物が幾ら入るかは処理系定義のお話なのです。
- 589 名前:586 mailto:sage [2007/12/20(木) 00:14:48 ]
- >>587
OS・CPU(コンパチ品除く)が変わる場合、再コンパイルリンクコンパイルが入り、実行ファイルが新たに作成されますよね。 その実行ファイルは同じOS・CPUでは確実に正常動作するのでしょうか? 正常動作するならば、>>586 見たいなソースはありなんですかね?
- 590 名前:デフォルトの名無しさん mailto:sage [2007/12/20(木) 00:14:50 ]
- >>586
同じコンパイラの同じバージョンを使って同じオプションを指定してる限りは、いつも同じでいいかと思うけど コンパイラが変わったりコンパイルオプションを変えたりすると変わることがある
- 591 名前:デフォルトの名無しさん mailto:sage [2007/12/20(木) 00:17:20 ]
- >>589
OSやCPUまでも変わる可能性があるなら、かなり厳しい intのサイズも変わるしエンディアンも変わるし
- 592 名前:デフォルトの名無しさん mailto:sage [2007/12/20(木) 00:38:27 ]
- んやー・・・同じ実行バイナリで実行出来る環境なら概ね正しく動くだろ。
- 593 名前:デフォルトの名無しさん mailto:sage [2007/12/20(木) 01:24:56 ]
- >>586
メンバーアクセスしてればアラインメントの影響は 考えなくていいだろ。基本的にメモリレイアウトに 依存するようなコードは回避すべきじゃないのかね。
- 594 名前:デフォルトの名無しさん mailto:sage [2007/12/20(木) 01:28:16 ]
- unionとかは回避すべきなのか
- 595 名前:デフォルトの名無しさん mailto:sage [2007/12/20(木) 01:30:24 ]
- それはまた話が別でしょう。
- 596 名前:デフォルトの名無しさん mailto:sage [2007/12/20(木) 02:13:15 ]
- int型の変数aに50のいう数字が入っています。
これをchar型の配列b[]に5, 0と格納するのはどうすればいいですか?
- 597 名前:デフォルトの名無しさん [2007/12/20(木) 02:17:19 ]
- b[1] = a/10;
b[0] = a%10;
- 598 名前:デフォルトの名無しさん mailto:sage [2007/12/20(木) 02:18:41 ]
- b[0] = '0'+a/10;
b[1] = '0'+a%10;
- 599 名前:デフォルトの名無しさん mailto:sage [2007/12/20(木) 02:27:43 ]
- sprintf(b,"%d",a);
- 600 名前:デフォルトの名無しさん mailto:sage [2007/12/20(木) 02:37:30 ]
- >>599
KY
- 601 名前:デフォルトの名無しさん mailto:sage [2007/12/20(木) 02:38:51 ]
- すまん、そういう場面だったのか……
- 602 名前:デフォルトの名無しさん mailto:sage [2007/12/20(木) 02:39:15 ]
- 黙れカス
- 603 名前:596 mailto:sage [2007/12/20(木) 03:18:09 ]
- ありがとうございました。
- 604 名前:デフォルトの名無しさん mailto:sage [2007/12/20(木) 14:28:02 ]
- すみません、printf関数のフォーマットに関する質問があります。
今、 printf("%20s%20s%20s", "hoge", "huga", "piyo"); という風に出力幅を20に指定したいんですが、 一箇所一箇所に20と書くのが不恰好のような気がしています。 もう少しスマートな書き方はありませんか?
- 605 名前:デフォルトの名無しさん mailto:sage [2007/12/20(木) 14:36:35 ]
- >>604
20を変数にして、動的に与えてやることはできる。
- 606 名前:デフォルトの名無しさん mailto:sage [2007/12/20(木) 14:42:09 ]
- >>604
静的にやるとしてもこんなもん↓ #define COLUMN_WIDTH "20" printf("%" COLUMN_WIDTH "s%" COLUMN_WIDTH "s%" COLUMN_WIDTH "s", "hoge", "huga", "piyo");
- 607 名前:デフォルトの名無しさん mailto:sage [2007/12/20(木) 14:45:25 ]
- #define prints(s) printf("%20s",s)
prints("hoge"); prints("huga");
- 608 名前:デフォルトの名無しさん mailto:sage [2007/12/20(木) 14:47:21 ]
- むしろこうだな
int i; char *str[] = {"hoge", "huga", "piyo"}; for(i=0; i<sizeof(str); ++i) printf("%20s", str[i]);
- 609 名前:デフォルトの名無しさん mailto:sage [2007/12/20(木) 16:04:02 ]
- int width = 20;
printf("%*s%*s%*s", width,"hoge", width, "huga", width,"piyo");
- 610 名前:デフォルトの名無しさん [2007/12/20(木) 16:10:51 ]
- C++でtrim関数の使い方わかる人います?
#include <boost/algorithm/string.hpp> をincludeすると、エラーがでて c:\program files\microsoft visual studio\vc98\include\boost\algorithm\string\yes_no_type.hpp(22) : error C2265: '<Unknown>' : reference to a zero-sized array is illegal c:\program files\microsoft visual studio\vc98\include\boost\algorithm\string\yes_no_type.hpp(23) : see reference to class template instantiation 'boost::algorithm::size_descriptor<I>' being compiled c:\program files\microsoft visual studio\vc98\include\boost\range\detail\common.hpp(114) : fatal error C1506: unrecoverable block scoping error っておっしゃるのですが?別にboost使わない方法があればいいのですが・・・。
- 611 名前:デフォルトの名無しさん mailto:sage [2007/12/20(木) 16:21:27 ]
- とりあえずVC6をなんとかしろと
- 612 名前:610 mailto:sage [2007/12/20(木) 16:37:22 ]
- >>611
どういう事でしょうか?
- 613 名前:デフォルトの名無しさん mailto:sage [2007/12/20(木) 16:39:32 ]
- >>612
VC6は古すぎて実用に耐えないので、捨てろ ということ。
- 614 名前:デフォルトの名無しさん mailto:sage [2007/12/20(木) 16:49:22 ]
- VC6は2004はアップデートで出ている
VC2003toolkitより新しい
- 615 名前:デフォルトの名無しさん mailto:sage [2007/12/20(木) 17:04:48 ]
- for ( std::vector<unsigned char>::iterator it = array.begin(); it != array.end(); it++ )
{ *it = (*it >= threshold ) ? 1 : 0; } この処理をstd::for_each()を使って書くにはどうすればいいでしょうか?
- 616 名前:デフォルトの名無しさん mailto:sage [2007/12/20(木) 17:08:49 ]
- できれば別関数に書かず、for_each()に収めたいです。
- 617 名前:デフォルトの名無しさん mailto:sage [2007/12/20(木) 17:14:04 ]
- void f(unsigned char& r)
{ r = (r >= threshold) ? : 1 : 0; } foreach(array.begin(), array.end(), f); ダメかもしれんが。
- 618 名前:デフォルトの名無しさん mailto:sage [2007/12/20(木) 17:15:06 ]
- foreach ×
for_each ○
- 619 名前:デフォルトの名無しさん mailto:sage [2007/12/20(木) 17:16:26 ]
- 自分の力だけで解け。
英語を自分の力だけで解けと言われれば、辞書等の使用は厳禁であるが プログラミングでは全く正反対である、むしろ人に聞くのさえ認められる
- 620 名前:デフォルトの名無しさん mailto:sage [2007/12/20(木) 17:16:57 ]
- ぎゃあああああ、スレってか板違い失礼orz
- 621 名前:デフォルトの名無しさん mailto:sage [2007/12/20(木) 17:31:49 ]
- aが0ではない または bが0ではない または c==d
という文は if ( (a|b) or (c==d) ) if( a|b| (c xor d) ) と書けると思いますがどっちのほうがはやいでしょうか?
- 622 名前:デフォルトの名無しさん mailto:sage [2007/12/20(木) 17:38:50 ]
- >>621
なんで xor になるのか理解不能だが、コンパイラが適切に最適化してく れるので、細かい表記の差は気にしないで理解し易く書くべし。 if (a || b || c == d)
- 623 名前:デフォルトの名無しさん mailto:sage [2007/12/20(木) 17:41:34 ]
- 計算してみたところa==b と、!(a^b)の計算速度は同じみたいです
- 624 名前:デフォルトの名無しさん mailto:sage [2007/12/20(木) 17:44:33 ]
- >>622
c=dならば、c xor dは0になります 正しくはその否定でした
- 625 名前:デフォルトの名無しさん mailto:sage [2007/12/20(木) 17:57:44 ]
- フラグのgirlfriendがずっと0のままで1になりません。
また、sexというポインタを参照するとセグメンテーションフェイルドになります。 どうすればいいですか?
- 626 名前:デフォルトの名無しさん mailto:sage [2007/12/20(木) 17:58:50 ]
- >>625
マ板へ逝け
- 627 名前:デフォルトの名無しさん [2007/12/20(木) 18:05:18 ]
- FILE **fp;
fp[i] = fopen(filename,"w"); みたいな使い方はでき・・・ませんよね
- 628 名前:デフォルトの名無しさん mailto:sage [2007/12/20(木) 18:11:16 ]
- FILE* fp[NUM]
- 629 名前:デフォルトの名無しさん [2007/12/20(木) 18:11:32 ]
- www.stage6.com/user/iris4d/video/1864152/Hatsune-Miku-meets-Toro-and-Kuro-トロステ第343回
- 630 名前:615 mailto:sage [2007/12/20(木) 18:14:16 ]
- すみません。for_each()でなくてもいいです。
>>615のfor文の処理を、標準C++のファンクタやboostを使って書くにはどうすればいいですか? 難しければ>>617さんのように書こうと思います。
- 631 名前:615 mailto:sage [2007/12/20(木) 18:33:26 ]
- 自己解決しました。以下で期待した動作が得られました。
std::transform(array.begin(), array.end(), array.begin(), std::bind2nd(std::greater_equal<unsigned char>(), threshold)); スレ汚し失礼しました。>>617さんありがとうございました。
- 632 名前:デフォルトの名無しさん mailto:sage [2007/12/20(木) 18:49:12 ]
- >>627
領域確保すればできる
|

|