[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 2chのread.cgiへ]
Update time : 05/13 10:33 / Filesize : 185 KB / Number-of Response : 779
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


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

C++相談室 part66



1 名前:デフォルトの名無しさん [2009/01/11(日) 11:21:38 ]
C++に関する質問やら話題やらはこちらへどうぞ。
ただし質問の前にはFAQに一通り目を通してください。
IDE (VC++など)などの使い方の質問はその開発環境のスレに
お願いします。

前スレ
C++相談室 part65
pc11.2ch.net/test/read.cgi/tech/1230341243/

331 名前:デフォルトの名無しさん mailto:sage [2009/04/02(木) 01:04:39 ]
トイレの水が赤く染まったときはさすがにやばいかもと思った
穴あきクッションって効くのかな?

332 名前:デフォルトの名無しさん mailto:sage [2009/04/02(木) 01:14:48 ]
>>331
脅すつもりはないが、あまりに量が多いようなら内臓由来の可能性もあるから
一度診てもらったほうがいいぞ。

333 名前:デフォルトの名無しさん mailto:sage [2009/04/02(木) 01:18:06 ]
>>310
さすがにそんなに高くない
JISは17,000円
ISOは380スイスフラン = 3万円くらい?
一応同じ内容の本をamazonから比較的安く購入することもできる
www.amazon.com/dp/0470846747/
18ドルで買えるPDFがどこかにあった気がするが忘れた

1998年の規格でよければ最終草案をタダで見れる
www.kuzbass.ru/docs/isocpp/
2003年の規格との差分はTC1としてまとめられてる
www.open-std.org/JTC1/sc22/wg21/docs/lwg-status.html


G++な方々はボラギノール塗って整腸剤飲んで水分多めに取ると治りやすい
治らなかったら病院へ

334 名前:デフォルトの名無しさん mailto:sage [2009/04/02(木) 01:27:56 ]
甘い汁って、すするものなの?

335 名前:デフォルトの名無しさん mailto:sage [2009/04/02(木) 01:32:35 ]
www.google.co.jp/search?q=%22%8A%C3%82%A2%8F%60%82%F0%82%B7%82%B7%82%E9%22
www.google.co.jp/search?q=%22%8A%C3%82%A2%8F%60%82%F0%8Bz%82%A4%22

336 名前:デフォルトの名無しさん mailto:sage [2009/04/02(木) 02:17:54 ]
>>334
慣用表現としてなら吸うものかな

337 名前:デフォルトの名無しさん mailto:sage [2009/04/02(木) 02:37:13 ]
下半身から滴る赤いしるをじゅるりスレ

338 名前:デフォルトの名無しさん mailto:sage [2009/04/02(木) 02:38:29 ]
案件でJava使ってサイトつくるよって言われて,
JBossとJSPとJava/CGIどれ選べば星界?

339 名前:デフォルトの名無しさん mailto:sage [2009/04/02(木) 02:47:55 ]
C++/CGIが正解



340 名前:デフォルトの名無しさん mailto:sage [2009/04/02(木) 02:47:56 ]
>>333
ドラフトなら 1998 年よりあとのやつは全部タダで見れるぜ。
www.open-std.org/JTC1/sc22/wg21/ から .pdf でダウンロードできる。
ちなみに今の最新は n2857 。

341 名前:デフォルトの名無しさん mailto:sage [2009/04/02(木) 03:46:11 ]
>>287
int i = i; は、値が不定じゃなくて未定義動作。

342 名前:デフォルトの名無しさん mailto:sage [2009/04/02(木) 08:01:00 ]
>>340
最新のは規格書の代替にならないんじゃ?

343 名前:340 mailto:sage [2009/04/02(木) 09:22:07 ]
>>342
現行規格の代替なら 2003 年の直前のやつをダウンロードすればいい、
と思ったんだけど、あんまり古いのは無いみたいだった。 340 は嘘ね。ごめん。

ダウンロードできるいちばん古いのは 2004 年の N1577 だった。

途中で公開の方針が変わったのかな?

344 名前:デフォルトの名無しさん mailto:sage [2009/04/02(木) 21:21:31 ]
私はJISのサイトで2003年の規格の日本語訳が無料で読めるんでそれだけで十分ですが
英語の規格書を読みたい人ばっかなんですよね?

345 名前:デフォルトの名無しさん mailto:sage [2009/04/02(木) 21:31:28 ]
日本語でいいです。

346 名前:デフォルトの名無しさん mailto:sage [2009/04/02(木) 21:38:59 ]
検索できないし改頁潰れてるしときどき訳間違ってるし脚注抜けてるし
JISなんていりません

347 名前:デフォルトの名無しさん [2009/04/02(木) 21:42:18 ]
検索できないのは板杉だな

348 名前:デフォルトの名無しさん mailto:sage [2009/04/02(木) 21:43:08 ]
私検索できるPDFもってるけど。

349 名前:デフォルトの名無しさん mailto:sage [2009/04/02(木) 21:52:04 ]
>>348
それってダウンロードすると白く塗りつぶされるんでしょ。



350 名前:デフォルトの名無しさん mailto:sage [2009/04/02(木) 21:58:02 ]
>>349
うん。

でもクラック済み。
検索も印刷も普通にできるよ。

351 名前:デフォルトの名無しさん [2009/04/02(木) 22:20:03 ]
昔はクラックなんかせずとも正規購入できたのに

352 名前:デフォルトの名無しさん mailto:sage [2009/04/02(木) 22:25:25 ]
今のJISのサイトのは検索できるよ
ただし日本語とアラビア数字に限る。アルファベットは不可。何でこうなったんだろうね…

おれはJISのでもいいと思うけど、URLが決まらないのでこういうところで紹介するには不向きだと思う
テンプレに手順を書いてくれればいいんだけどね

353 名前:デフォルトの名無しさん mailto:hage [2009/04/02(木) 22:25:26 ]
実際に、ライブラリレベルじゃなくて、アプリKションレベルのものを書くとき、
mediatorパターンみたいな感じになっちゃって、
mediatorに相当するクラスのヘッダを、他のクラスから必ずincludeするような設計になっちゃったんだけど、
これって間違ってる?
C++の話題とはズレてごめんね>禿

354 名前:デフォルトの名無しさん mailto:sage [2009/04/02(木) 22:30:52 ]
検索できないってどういうこと?
私はLinux用のアクロバットリーダーのバージョン8を使っていますが検索機能付いてます。
JISの文書自体は文字単位で範囲選択できるので検索できない理由がわからないのですが?

355 名前:デフォルトの名無しさん mailto:sage [2009/04/02(木) 22:33:35 ]
JISのPDFは本文の文字の一部が画像になってる

356 名前:デフォルトの名無しさん mailto:sage [2009/04/02(木) 22:46:44 ]
どこですか?

357 名前:デフォルトの名無しさん mailto:sage [2009/04/02(木) 22:48:12 ]
いやいや、少し前のは全ページ画像だった。その代わりダウンロードしても見られたけど。

358 名前:デフォルトの名無しさん mailto:sage [2009/04/02(木) 22:55:06 ]
どういうこと?ってここで言われてもなぁ…JISに言ってくれよJISに

359 名前:デフォルトの名無しさん [2009/04/02(木) 23:00:37 ]
> ※最新バージョン9の使用は今しばらくお待ちください。

オマエ、ソレハナイダロウ



360 名前:デフォルトの名無しさん mailto:sage [2009/04/02(木) 23:35:07 ]
>>359
俺もそれ思ったwwww
えええええええ!?!?ってオモタ



361 名前:デフォルトの名無しさん mailto:sage [2009/04/02(木) 23:53:54 ]
今日は肛門疾患の話はないのか、寂しいな。

362 名前:デフォルトの名無しさん mailto:sage [2009/04/03(金) 22:20:49 ]
痔には乙痔湯!
喪前らも、服用しる

363 名前:デフォルトの名無しさん mailto:sage [2009/04/04(土) 00:41:54 ]
memchrと
strchrって何が違うの?

長さが既知だとすると性能一緒?

364 名前:デフォルトの名無しさん mailto:sage [2009/04/04(土) 00:43:52 ]
>>363
memchrの方が速いと思われ。


365 名前:デフォルトの名無しさん [2009/04/04(土) 00:47:26 ]
>>285


309 :動け動けウゴウゴ2ちゃんねる :09/03/30 23:16 ID:SGwSF7rQ
おねがいします。

【板名】 プログラム技術
【スレ名】C++相談室 part66
【スレのURL】pc12.2ch.net/test/read.cgi/tech/1231640498/
【名前欄】
【メール欄】
【本文】↓
すみませんが、


366 名前:デフォルトの名無しさん [2009/04/04(土) 00:54:00 ]
>>363
NULLで止まらないか止まるか

367 名前:デフォルトの名無しさん [2009/04/04(土) 00:54:07 ]


286 :動け動けウゴウゴ2ちゃんねる :09/03/30 20:26 ID:SGwSF7rQ
おねがいします。

【板名】 プログラム技術
【スレ名】C++相談室 part66
【スレのURL】pc12.2ch.net/test/read.cgi/tech/1231640498/
【名前欄】
【メール欄】
【本文】↓
あと、同じ型で複数の変数を定義する時のコンマは副作用完了点でしょうか?

たとえば、以下のコードは正しく動きますか?



368 名前:デフォルトの名無しさん mailto:sage [2009/04/04(土) 00:58:31 ]
>>366 '\0' と NULL をごっちゃにするな。

369 名前:デフォルトの名無しさん [2009/04/04(土) 01:06:43 ]
イヒヒ



370 名前:デフォルトの名無しさん mailto:sage [2009/04/04(土) 01:11:04 ]
null character

371 名前:デフォルトの名無しさん mailto:sage [2009/04/04(土) 01:16:09 ]
>>366
速度的にはどうなんですかね?

372 名前:デフォルトの名無しさん mailto:sage [2009/04/04(土) 01:29:43 ]
strchar 一文字単位で文字列終了文字判定
memchar カウンタがアップの判定だけ
どんなコードに落ちるかはCPUのアーキテクチャ次第


373 名前:デフォルトの名無しさん mailto:sage [2009/04/04(土) 01:32:54 ]
>>363
速度は実測が基本。

374 名前:デフォルトの名無しさん mailto:sage [2009/04/04(土) 12:00:41 ]
>>371
全く変わらない。

375 名前:デフォルトの名無しさん mailto:sage [2009/04/04(土) 13:33:02 ]
少なくともmemchrがstrchrより遅くなることはないから
出来る限りmemchrを使う

基本的にmem○○とstr○○は常にmem○○優先

376 名前:デフォルトの名無しさん mailto:sage [2009/04/04(土) 13:39:43 ]
いいえ。

377 名前:デフォルトの名無しさん mailto:sage [2009/04/04(土) 13:48:56 ]
memchrの方が2倍ぐらい遅いよ

378 名前:デフォルトの名無しさん mailto:sage [2009/04/04(土) 14:04:58 ]
>>377
根拠、或いは計測条件の提示を宜しく。

379 名前:デフォルトの名無しさん mailto:sage [2009/04/04(土) 14:27:00 ]
二倍なんてもんじゃないよ



380 名前:デフォルトの名無しさん mailto:sage [2009/04/04(土) 17:16:31 ]
FreeBSD 7.1-STABLE、Celeron 700MHz(i386)
で計測したらstrchrよりmemchrのほうが5パーセントほど
遅いという結果になりました。
どちらの関数もアセンブリ言語で書かれてあります。

381 名前:デフォルトの名無しさん mailto:sage [2009/04/04(土) 19:10:53 ]
std::string str="hoge";
const char * const p = str.c_str();

こういう使い方ってして良いの?
このケースではまあ最初からp="hoge"とすれば良いことになるけどもね。


382 名前:デフォルトの名無しさん mailto:sage [2009/04/04(土) 19:13:10 ]
c_strは使ってはいけない

383 名前:デフォルトの名無しさん mailto:sage [2009/04/04(土) 19:13:33 ]
>>382
str.c_str()がだめってこと?
どうして?

384 名前:381 mailto:sage [2009/04/04(土) 19:17:19 ]
std::string str="hoge";
const char * const p = str.c_str();

str="piyopiyo";
const char * const q = str.c_str();

std::cout << reinterpret_cast<unsigned long>(p) << "\n" << reinterpret_cast<unsigned long>(q) << std::endl;
結果:pとqが違う値。

このようにstrが変わった時にpが無効になってる可能性はあるよね。
あるサンプルソースで似たようなコードがあって疑問だった。


385 名前:デフォルトの名無しさん mailto:sage [2009/04/04(土) 19:17:31 ]
>>382はバカ。

386 名前:381 mailto:sage [2009/04/04(土) 19:18:31 ]
>>385
じゃあ気にしないようにするわ。

387 名前:デフォルトの名無しさん mailto:sage [2009/04/04(土) 20:39:03 ]
c_str() や data() が返すポンストコインタは
次に const でないメンバ関数が呼ばれるまでの間のみ有効という「時限式」なので
ポインタは保持しないほうがいいよっていうのが一般的な話。
わかってやるなら >>381 自体は違法じゃない。

388 名前:381 mailto:sage [2009/04/04(土) 20:40:56 ]
>>387
分かりやすい説明ありがとう!
理解した。

389 名前:デフォルトの名無しさん mailto:sage [2009/04/05(日) 01:03:50 ]
std::string str("");
ってやってるヤツがいるんだが
std::stringはデフォルトコンストラクタでは空文字列にしてくれることが仕様上保証されているんだよね?
つまりstr("")は無駄だよね?




390 名前:デフォルトの名無しさん [2009/04/05(日) 01:12:17 ]
>>389
お前のようにデフォルトコンストラクタの仕様を知らないアホにも空文字列で初期化されることがわかるから無駄じゃない。

391 名前:デフォルトの名無しさん mailto:sage [2009/04/05(日) 01:14:46 ]
>>389
動作速度の点では無駄。

392 名前:デフォルトの名無しさん mailto:sage [2009/04/05(日) 01:19:08 ]
>>391
だよね。ありがと。

393 名前:デフォルトの名無しさん mailto:sage [2009/04/05(日) 01:19:47 ]
速度は実測が基本。

394 名前:デフォルトの名無しさん mailto:sage [2009/04/05(日) 01:22:11 ]
優秀なコンパイラで強い最適化オプションを指定していると、勝手にそれくらいは修正してくれないだろうか?

395 名前:デフォルトの名無しさん mailto:sage [2009/04/05(日) 01:22:33 ]
そもそも速度を気にするようなところでstd::stringを使うのが間違い。
動作速度でstr("")が無駄と言う奴は馬鹿。

396 名前:デフォルトの名無しさん mailto:sage [2009/04/05(日) 01:23:24 ]
>>395
お前も馬鹿。

397 名前:デフォルトの名無しさん mailto:sage [2009/04/05(日) 01:24:10 ]
コロッとだまされる>>392が一番馬鹿

398 名前:デフォルトの名無しさん mailto:sage [2009/04/05(日) 01:26:00 ]
>>394
優秀じゃなくてもふつうそれくらいするよ。

399 名前:デフォルトの名無しさん mailto:sage [2009/04/05(日) 01:30:00 ]
>>397
何がおかしいの?
具体的に言ってみ、お前の脳で言えるのなら。



400 名前:デフォルトの名無しさん mailto:sage [2009/04/05(日) 01:33:20 ]
>>399
str("")とデフォルトコンストラクタでは速度に差が無いから>>391はウソ。
以上。

401 名前:デフォルトの名無しさん mailto:sage [2009/04/05(日) 01:35:56 ]
もうお前ら全員安価つけてやれ、ホント、マジで頼むから。


402 名前:デフォルトの名無しさん mailto:sage [2009/04/05(日) 01:37:19 ]
5レス連続でアンカが付いている件について

403 名前:デフォルトの名無しさん mailto:sage [2009/04/05(日) 01:38:58 ]
>>402
いや、その前も含めて全部。

・・・と思ったら俺自身安価付けてなかった
ごめん吊ってくる。

404 名前:デフォルトの名無しさん mailto:sage [2009/04/05(日) 01:42:10 ]
>>400
残念ながら同じバイナリに落ち着かない以上、速度に差がないとはいえない。
出直しておいで坊や。

405 名前:デフォルトの名無しさん mailto:sage [2009/04/05(日) 01:43:40 ]
何か必死だな。

406 名前:デフォルトの名無しさん mailto:sage [2009/04/05(日) 01:47:07 ]
>>390が真理だな。

407 名前:デフォルトの名無しさん [2009/04/05(日) 02:24:22 ]
仲良くしなよ

408 名前:デフォルトの名無しさん mailto:sage [2009/04/05(日) 02:30:49 ]
文字列リテラルの使いまわしを認めないコンパイルオプションつけたらちょっとバイナリが増える・・・・・かな?

409 名前:デフォルトの名無しさん mailto:sage [2009/04/05(日) 02:55:07 ]
>>404
同じ()バイナリ()落ち着く()
スイーツ()ですか



410 名前:デフォルトの名無しさん mailto:sage [2009/04/05(日) 02:57:50 ]
結論

str("")は無駄ではない。

411 名前:デフォルトの名無しさん [2009/04/05(日) 02:58:05 ]
ねーよ

412 名前:デフォルトの名無しさん mailto:sage [2009/04/05(日) 03:01:33 ]
std::stringはデフォルトコンストラクタでは空文字列にしてくれることが仕様上保証されているんだよね?
なんて醜態晒すくらいなら
std::string str("");
と書く方がよほどスマート。

413 名前:デフォルトの名無しさん mailto:sage [2009/04/05(日) 04:02:57 ]
次期規格ではstring()はstring("")に委譲する実装になるだろうから
そうなれば本当に速度に差はなくなるだろう
今は知らん

414 名前:デフォルトの名無しさん mailto:sage [2009/04/05(日) 04:48:42 ]
普通に、こう考えろ

char* str = NULL;
char* str = "";

同じか?w

415 名前:デフォルトの名無しさん mailto:sage [2009/04/05(日) 07:26:06 ]
全角のアルファベットを打つ奴はゆとり

416 名前:デフォルトの名無しさん mailto:sage [2009/04/05(日) 07:47:48 ]
全角ってなんですか?

417 名前:デフォルトの名無しさん [2009/04/05(日) 08:47:43 ]
>>353
> mediatorに相当するクラスのヘッダ
の中では前方宣言するのが吉。
そうしないと冗長すぎる依存関係になってしまう。

アプリケーション全体が10kくらいなら気にしないのも有りかも。

418 名前:デフォルトの名無しさん mailto:sage [2009/04/05(日) 09:12:22 ]

C言語でWEB操作したいです
証券会社にログインして株価を監視して自動売買が目標です
まずはC言語でWEBページを開く方法を教えてください

419 名前:デフォルトの名無しさん mailto:sage [2009/04/05(日) 09:58:03 ]
>>413
> 次期規格ではstring()はstring("")に委譲する実装になるだろうから
なんでそんなとこ変わるの?



420 名前:デフォルトの名無しさん mailto:sage [2009/04/05(日) 10:40:31 ]
>>418
WebProg板へどうぞ。

421 名前:デフォルトの名無しさん mailto:sage [2009/04/05(日) 13:12:14 ]
>>418
C Web Download をgoogle検索
あきらめろ

422 名前:デフォルトの名無しさん [2009/04/05(日) 13:32:16 ]
>>418
pc12.2ch.net/test/read.cgi/tech/1182323579/

423 名前:デフォルトの名無しさん mailto:sage [2009/04/05(日) 18:03:11 ]
デストラクタはpublicで宣言するものだよね?

privateで宣言すると、
まあ普通にコンパイルエラーになるんだけど、
特殊な状況でprivateなデストラクタってある?

なんか俺の知らないイディオムでありそうな気がしてきたんだが。


424 名前:デフォルトの名無しさん mailto:sage [2009/04/05(日) 18:16:00 ]
deleteをオーバーロードしてるとかじゃないとコンパイルすら通らなくね?

425 名前:423 mailto:sage [2009/04/05(日) 18:18:06 ]
>>424
そう、通らない。

でも例によってC++は深遠だからさ、
俺が知らないだけで便利なイディオムがあったりするかな〜って興味が出てきた。


426 名前:デフォルトの名無しさん mailto:sage [2009/04/05(日) 18:21:59 ]
とりあえずnewで生成してみろよ

427 名前:デフォルトの名無しさん mailto:sage [2009/04/05(日) 18:22:20 ]
自動変数や静的変数としては使えないが、newすることは出来る。
deleteはクラスのメンバ関数から出来る。
だから、使えないことはない。具体的にどう役立つのかは分からんが。

428 名前:423 mailto:sage [2009/04/05(日) 18:25:28 ]
あ〜、newで作るのか。
なるほどね。


429 名前:デフォルトの名無しさん mailto:sage [2009/04/05(日) 18:26:30 ]
Effective C++にて

const char* const authorName="ScottMeyers";//方式1
const std::string authorName="ScottMeyers";//方式2

この2つが紹介されていたんだけど、結局どっちが良いの?
本によれば方式2の方が良いよ的な書き方されていたんだけど、どうして方式2が良いのか分からない。





430 名前:デフォルトの名無しさん mailto:sage [2009/04/05(日) 18:35:41 ]
class MyClass{};
として、
boost::shared_ptr<MyClass> p(new MyClass);
だと大丈夫なのに
boost::shared_ptr<MyClass> p=new MyClass;
だとダメなのは何故でしょうか?

私は宣言時に
(初期化値)とするのと
=初期化値とするのは
等価にコンストラクタを呼び出す物だと思っていたので驚きました。


431 名前:デフォルトの名無しさん mailto:sage [2009/04/05(日) 18:38:14 ]
>>430
boost::shared_ptr<MyClass> p=boost::shared_ptr<MyClass>(new MyClass);







[ 続きを読む ] / [ 携帯版 ]

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

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