【C++】STL(Standard Template Library)相談室 11
- 1 :デフォルトの名無しさん:2009/01/11(日) 11:13:44
- C++標準ライブラリの一つ、STLについて。
前スレ
【C++】STL(Standard Template Library)相談室 10
http://pc11.2ch.net/test/read.cgi/tech/1219719677/
過去ログ・リンク・書籍紹介は >>2 以降
- 590 :デフォルトの名無しさん:2009/11/07(土) 10:04:52
- >>588-589
知らないなら調べればいいじゃん。恥ずかしい子達だな。っていうか一人かな。
- 591 :デフォルトの名無しさん:2009/11/07(土) 10:36:30
- C++しか知らない世間知らずはこれだから
- 592 :デフォルトの名無しさん:2009/11/07(土) 11:07:04
- まぁしかし、WikiぺによるとほぼALGOL限定の機能らしいので
そこまで知っていろというのも酷かと^^
しらべりゃいーじゃんというのには同意だがw
- 593 :デフォルトの名無しさん:2009/11/07(土) 11:10:34
- なんでALGOLの話が出てくるの?
ここはSTLのスレだからC++の話でしょうに
- 594 :デフォルトの名無しさん:2009/11/07(土) 11:37:29
- おおざっぱにいえば
f(1+1)
でfに1+1がわたるか2がわたるかだよね
1+1がわたるのは遅延評価/非正格とかの場合、Haskellが有名
C++は多くの言語と同じように、正格で遅延評価を行わない言語
つまり実引数は関数呼び出しの前に評価され、関数fには2が渡る
これはインライン関数でも同じ
でもこれってインライン関数を習うときにまっさきに知るようなことでないの
インライン関数はふつうの関数と同じようにつかえて、マクロみたいに実引数が
意図せず複数回評価されたりする危険性がないのがウリですってさ
- 595 :デフォルトの名無しさん:2009/11/07(土) 11:43:25
- ではHaskellは非効率なのかといえばそうではなくて
ひつようがなければそもそも実引数を評価しないし
同じ引数はmemoizeして何度も不要な評価をしないようにしているのだと思った
>>587がALGOLのcall by nameを持ち出しているのは、1+1を渡して
かつ非効率なものの例なんだとおもう
Haskellのはcall by needとかいうんだよね
まあよくしらんけどw
- 596 :デフォルトの名無しさん:2009/11/07(土) 13:08:45
- >588,>593
調べる努力ぐらいしようぜ。昔みたいに本読まなきゃ情報得られない時代でもないんだからよ。
ゆとり教育はそういった努力を教える仕組みだったはずなんだがなぁ……
細かいところは>594-595の言う通りですな。
インライン関数だとしても呼び出し元からすれば普通の関数と同じように見える。
- 597 :デフォルトの名無しさん:2009/11/07(土) 13:20:55
- >>596
だからなんでスレ違いの話をするのかって聞いてるの
- 598 :587:2009/11/07(土) 13:46:35
- わははははははははははははは。ナイスジョーク。
上のぐだぐだのコメントも理解力の足らない間抜けが引っ掻きまわしているだけだし、
最近のコメントは全部スレ違いなんだろうね。
- 599 :デフォルトの名無しさん:2009/11/07(土) 13:58:06
- >>598
罪悪感ゼロかよ
終わってるな
- 600 :デフォルトの名無しさん:2009/11/07(土) 14:01:02
- スレ違いスレ違いって引っ張ってるバカが黙れば
このやりとりは終わるんだよボケが
- 601 :587:2009/11/07(土) 14:23:28
- しょうがないなー。それじゃ、どこが すれに かんけいしているか おしえてあげるよ。
>506で C++では ありえない インライン てんかいを しているんだけど、 これは なまえわたしという
とくしゅな ひきすうわたしに なるんだ。
マクロなんかは じっしってきに なまえわたしと おなじような きょどうに なることが あるけれど、
かんすうよびだしは あたいわたしか さんしょうわたししかできないんだ。
インラインかんすうであっても あたいわたしか さんしょうわたしになるから、
>506のかいしゃくは ありえないんだよね。
くわしくは えいごだけど、>570を よんでみよう!!
にほんごばんも あるよ。
http://www.webstore.jsa.or.jp/webstore/Com/FlowControl.jsp?bunsyoId=JIS+X+3014%3A2003&dantaiCd=JIS&status=1
他の人がさんざん説明している内容なんだけどなあ。
一向に理解しようとしないウスラボケが戯言を繰り返しているんだろうね。
- 602 :デフォルトの名無しさん:2009/11/07(土) 16:03:30
- なぜかとくいげ
- 603 :デフォルトの名無しさん:2009/11/07(土) 16:09:36
- 去年の暮れからこの板の民度が落ちているのは
派遣切りにあったITドカタと
最初から働く気のないニートがせめぎあっているからですね?^^
- 604 :デフォルトの名無しさん:2009/11/07(土) 17:57:31
- 主張さえ正しければどのようなレスをしてもいいと思ってる>>601がウザいんですけど
- 605 :デフォルトの名無しさん:2009/11/07(土) 18:05:24
- インライン最適化の話はもういいよ
ここはSTLのスレだぜ
- 606 :デフォルトの名無しさん:2009/11/07(土) 20:18:17
- >>604
ムカついたから厳格になって閉め出してやれ、って感じ?
まず、言語の話ですらない感情論全開の自分のレスに厳格になれよ。
- 607 :デフォルトの名無しさん:2009/11/07(土) 20:39:14
- >>601
その文を読んで誰が得するのか
>506が読むとなんか変わるのか
もう一度考えてから氏ね
- 608 :デフォルトの名無しさん:2009/11/07(土) 20:56:14
- >>607
お前のそのレスでしょ? 誰も得しないし何も変わらないのは。
なんで明後日の方向にズレてるばかりか、自分にだけ寛大なの?
- 609 :デフォルトの名無しさん:2009/11/07(土) 21:16:47
- 規制が解除されると途端に変なのが一杯湧いてきたな
- 610 :デフォルトの名無しさん:2009/11/07(土) 21:46:37
- えーとこの話題が始まったのどのへんからだっけ?300ぐらいだっけ?長いなぁ。
- 611 :デフォルトの名無しさん:2009/11/16(月) 00:07:23
- もう、Efficient C++とEffective STLを読んどけでいいだろう。
- 612 :デフォルトの名無しさん:2009/11/17(火) 22:07:30
- C++初心者から質問です。
STLというかC++ってどうやって関数の仕様調べるんだろ?
Cだとprintf調べたいとき、man printfってやれば
すぐに出るけど、C++でcoutとか調べたいとき
手元に本かネットがないとつらい。
みんなどうしてるんだ?ヘッダー見てるの?
ちなみにLinuxなのでMSDNはなしです。
- 613 :デフォルトの名無しさん:2009/11/17(火) 23:38:04
- manのようなことがしたいならcpprefを使ってみたら
- 614 :デフォルトの名無しさん:2009/11/17(火) 23:55:08
- >>612
ISO/IEC 14882/2003 または JISCX3014
- 615 :デフォルトの名無しさん:2009/11/18(水) 01:09:28
- >>613
perlと格闘してようやくインストールできた。
こんなのが欲しかったんよ
ていうか、perlってこんなことが簡単にできることに驚いた。
>>614
JISはダウンロードして閲覧できないんだな。。。
言語仕様とか調べるときはよさそう。
- 616 :デフォルトの名無しさん:2009/11/18(水) 15:17:39
- >>615
昔は出来たんだがなごにょごにょすれば
でもどちらにしろ漢字コードではなくて単なるビットマップなので
検索が出来なくて非常に不便
- 617 :デフォルトの名無しさん:2009/11/18(水) 17:30:54
- >>616
検索できるはずだよ
ただしひらがなカタカナ漢字のみ。英数字はダメ
- 618 :デフォルトの名無しさん:2009/11/18(水) 19:23:26
- その昔「C++標準ライブラリチュートリアル&リファレンス」を買いに走ったり
Dinkumware サイトのマニュアル(ttp://www.dinkumware.com/manuals/default.aspx) を
必死に読んでたりしたが cppref 便利過ぎる
>>613 ありがとう
- 619 :デフォルトの名無しさん:2009/11/18(水) 22:32:16
- >>612
MSDNオンライン
- 620 :デフォルトの名無しさん:2009/11/19(木) 02:53:42
- cppref知らんかったわ。俺からもありがとう
もうsgi accumulateとかしなくて済むのか
- 621 :デフォルトの名無しさん:2009/11/24(火) 12:55:39
- vectorのテンプレートみてたら、beginなどの戻り値がteratorでそれをvectorのiteratorのコピーコンストラクター
初期化するとiteratorの中にiteratorのある構造になってしまうとおもうんですが。
それでいいんですか?
- 622 :デフォルトの名無しさん:2009/11/24(火) 13:50:08
- > それをvectorのiteratorのコピーコンストラクター初期化するとiteratorの中にiteratorのある構造になってしまう
もう少し日本語でおk
- 623 :デフォルトの名無しさん:2009/11/24(火) 14:02:05
- その程度の読解力もないのなら洋書はよめませんね。
- 624 :デフォルトの名無しさん:2009/11/24(火) 14:12:52
- 洋書なら読めるだろう。こんないかれた文法にはなってないだろうし。
>vectorのiteratorのコピーコンストラクター
「イテレータを引数にとる vector のコンストラクタ」
ではなさそうだな。何だろう…
- 625 :デフォルトの名無しさん:2009/11/24(火) 14:14:44
- ヒント:
vector::iterator=vector.begin();
- 626 :デフォルトの名無しさん:2009/11/24(火) 14:38:09
- vector::iterator i(v.begin()); ?
iの中にイテレータそのものが入るのではなくiの各メンバ変数にv.begin()のメンバ変数がコピーされるだけだが。
- 627 :デフォルトの名無しさん:2009/11/24(火) 14:40:16
- イテレーターそのものが入るよ?
ポインターの場合はメンバー変数が無い場合もあるからね。
- 628 :デフォルトの名無しさん:2009/11/24(火) 16:37:38
- >>627
そういう意味でなら
> iteratorの中にiteratorのある構造
も当たり前のことをいってるだけだな。
- 629 :デフォルトの名無しさん:2009/11/24(火) 16:40:10
- そうじゃなくて、ポインターもイテレーターも区別せずにイテレーターのデータに代入される。
- 630 :デフォルトの名無しさん:2009/11/24(火) 16:46:44
- ある本にvectorのイテレーターはポインターだ、と書いてあったからソース見てみたら
ポインターじゃなかった。いつから変わったんだろうか。
- 631 :デフォルトの名無しさん:2009/11/24(火) 16:58:10
- そんな事言われても動作があってればポインタかどうかは処理系依存だし
- 632 :デフォルトの名無しさん:2009/11/24(火) 17:11:04
- >>630
その本はいますぐ燃やしてください。^^
規格票にはvectorのイテレータがポインタでなければならないとは書いてないし
Effective C++にもそうじゃないケースがあるよって書いてます。
- 633 :デフォルトの名無しさん:2009/11/24(火) 17:12:08
- あ、Effective C++じゃなくて、Effective STLの方だったかな?
あと、本を燃やす前に本の名前と著者をさらしてくれると
二度と一生その人の著書を読まなくてすむので助かります^^
- 634 :デフォルトの名無しさん:2009/11/24(火) 17:14:47
- http://www.amazon.co.jp/Standard-Library-Tutorial-Reference/dp/0201379260
この本です。インチキが書いてあるなんて知りませんでした。
速くこの本を燃やして他の本に乗り換えたいです。
- 635 :デフォルトの名無しさん:2009/11/24(火) 17:23:03
- うん。それは本が悪いんじゃなくて、君がバカなだけ。
- 636 :デフォルトの名無しさん:2009/11/24(火) 17:37:01
- 本を燃やせと言ったくせに・・・・・
- 637 :デフォルトの名無しさん:2009/11/24(火) 17:38:52
- だって、その本は親切にも日本語版が出ていて
日本語版にはそんなアホな記述ないもの。
つまり、君が英語読めてないだけ。
- 638 :デフォルトの名無しさん:2009/11/24(火) 17:52:02
- 実装例の話だが、VC++2008だとvector::iteratorはポインタではないね。
ポインタ扱いにして高速化する指令方法があったような気もするが
- 639 :デフォルトの名無しさん:2009/11/24(火) 18:01:34
- >>637
ストリングとベクトルはポインターを返すから一時変数に++は使えないと書いてある。
157 KB
[ 2ちゃんねる 3億PV/日をささえる レンタルサーバー \877/2TB/100Mbps]
■ おすすめ2ちゃんねる 開発中。。。 by FOX ★
このスレを見ている人はこんなスレも見ています。(ver 0.20)
【I-O】GV-MVP/H,Vシリーズ Part15【地デジ,BS,CS】 [DTV]
【DELL】無償アップグレードが来ない【Windows 7】 [パソコン一般]
新着レスの表示
掲示板に戻る
全部
前100
次100
最新50
read.cgi ver 05.0.7.8 2008/11/13 アクチョン仮面 ★
FOX ★ DSO(Dynamic Shared Object)