[表示 : 全て 最新50 1-99 2chのread.cgiへ]
Update time : 06/03 14:43 / Filesize : 8 KB / Number-of Response : 33
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

【初心者歓迎】C/C++室 Ver.70【環境依存OK】



1 名前:デフォルトの名無しさん [2009/11/22(日) 16:04:30 ]
エスケープシーケンスやWin32APIなどの環境依存なものでもOK。
ただしその場合、質問者は必ず環境を書きましょう。
※sage禁止です(と代々スレに書いてありますが自己判断で)。

【前スレ】
【初心者歓迎】C/C++室 Ver.69【環境依存OK】
pc12.2ch.net/test/read.cgi/tech/1256022655/

【アップローダー】(質問が長い時はココ使うと便利)
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/joyful.htm
codepad.org/ (コンパイルもできるし出力結果も得られるのでお勧め)

◆ソースのインデントについて
半角空白やTABでのインデントはスレに貼ると無くなります。
そのため、アップローダーに上げるのも手ですが直接貼る場合は、
全角空白か に置換すると見栄えだけはよくなります。

23 名前:デフォルトの名無しさん mailto:sage [2009/11/22(日) 22:41:34 ]
コピーされなかったら配列は永遠に初期化できないじゃないか。
char *str = "hogehoge"; ならともかく。

24 名前:デフォルトの名無しさん mailto:sage [2009/11/22(日) 22:43:40 ]
コンパイル時に数が決まるから strcpy() よりは早いけどな。
まあ、ループ展開しないと比較演算は必要だから同じか。

25 名前:20 mailto:sage [2009/11/22(日) 23:01:28 ]
>>23
おぉ、すまんすまんw。
自分のコーディングスタイルと違うので間違っちゃったw。

char str[]="hogehoge";

ってすると、スタックに積まれてたw。
これは危険だ!

なにげに勉強になっちゃったw。
では、さらばだ!


26 名前:デフォルトの名無しさん mailto:sage [2009/11/22(日) 23:37:40 ]
>>6
いや、数珠つなぎにしたいとかじゃなくて、無限に要素を増やしたいから、どうしたものか・・・と。
で、自分がとりあえず考えた方法があれだったっていう

>>8
だなぁ・・・。
やっぱ、そうしかないのかな?



とりあえず、回答ありがとう。

27 名前:デフォルトの名無しさん mailto:sage [2009/11/22(日) 23:50:55 ]
>>5
遅くていいならディスク上にファイルとして配列を持ち、ガリガリやれよ
相当遅いが、1TBの配列だって持てるわけだ

28 名前:デフォルトの名無しさん mailto:sage [2009/11/23(月) 00:02:45 ]
*dataと*tmpを用意、*dataに大きさNの配列を動的に確保
要素数がNを超えそうなら*tmpに大きさ2Nの配列を確保して*dataの内容をコピー後ポインタをスワップ
スワップ後のtmpを解放

まあただのvector実装なんだが

29 名前:デフォルトの名無しさん mailto:sage [2009/11/23(月) 00:09:32 ]
そも無限は無理。

30 名前:デフォルトの名無しさん mailto:sage [2009/11/23(月) 01:51:22 ]
>>26
だから、無制限に要素を増やそうとすると数珠繋ぎとかになるんだよ
じゃなきゃ、溢れた時にでかい領域を再確保してコピーするとかな

で、それらをきっちりやってくれるのがSTLコンテナだが、原理知らないで使うと
えらいパフォーマンス落としたりもするから、一度自分でそれらしく書いてみても
いい
理屈が理解できたら、STLコンテナを使っちゃった方が安心で軽くて楽だが

31 名前:デフォルトの名無しさん mailto:sage [2009/11/23(月) 01:56:40 ]
128KBくらいのブロックをつなげろよ。
HDDのクラスタと同じようなもん。
vectorなどは、再配置するから効率悪い。
ブロックで管理すれば再配置無し。



32 名前:デフォルトの名無しさん mailto:sage [2009/11/23(月) 02:02:35 ]
実質ブロックで管理(仕様では明記してないけど)してて
それなりに高速なデータ構造となるとstd::dequeかな。

悩んだらとりあえずdequeつかっとけというのが俺の経験則。






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧](*・∀・)<8KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef