■過去ログ置き場に戻る■ 1- 前250 次250 最新50


[memo] "9999999999_00.html#R20" という感じで、URLの最後に "#RレスNo" を追加すると幸せになれます。

C++相談室 part29
751 名前:デフォルトの名無しさん :04/05/07 13:39
環境: Win+もうひとつ
言語: C/C++/C#(.NET)

マトモにできているなら重宝するよ

752 名前:デフォルトの名無しさん :04/05/07 13:40
ドライバ書いたり、組み込み系やるなら何かひとつのCPUを勉強してアセンブラ書けないとだめ。
そうすりゃCでもC++でも見違えるぐらい効率的なコードが書けるようになる。

753 名前:デフォルトの名無しさん :04/05/07 13:42
というか、一言にアプリといってもフリー、シェアなどの個人ユーザーレベルから
業務で使うリッチクライアントやサーバー関係など多種多様にある。
それを一つの言語だけということはあり得ない。

>>750
言語がどうこうよりもプログラマーとしてのレベルが大事。
仕事の場合、どんな言語、環境が使われるかわからない。

C/C++でも環境依存なと事かあるし
APIなんてAPIプログラムというのが必要になって来るし。
変に固執するよりもしっかりと地力をつけるのが大事。

754 名前:デフォルトの名無しさん :04/05/07 13:44
>>752
今の時代は効率よりも保守性。
それぐらいは常識ですが?
まあ、高速性などが必要な場合は除く。

755 名前:デフォルトの名無しさん :04/05/07 13:45
>>752
8086マシン勉強して
アセンブリは一応読めるレベルだけど
書く気は起きないっすよ・・・

756 名前:デフォルトの名無しさん :04/05/07 13:47
C/C++できtりゃC#習得は簡単だが、
一行プログラムでもっと重宝できるのがawkあとperl。アプリ書くわけじゃないけど
C系だと面倒なファイルの読み書きや正規表現を手っ取り早くこなして
Post Programming作業が楽になる。

757 名前:デフォルトの名無しさん :04/05/07 13:50
>>752
じゃ!君にはC#がぴったりだな。このスレから出て行ってくれ。

758 名前:デフォルトの名無しさん :04/05/07 13:51
間違えた >>752じゃなくて
>>754
じゃ!君にはC#がぴったりだな。このスレから出て行ってくれ。


759 名前:デフォルトの名無しさん :04/05/07 13:54
>>しっかりと地力をつけるのが大事。
その地力とは何かを聞いてるんだよッ。

760 名前:デフォルトの名無しさん :04/05/07 13:54
プログラムの世界ではこれをやっとけば大丈夫っていうのがない。
様々な言語が生まれ消えていくから。
そしてそれを採用する企業がいる限り・・・

まあ、個人が趣味でやる分には何をやろうとかまわないけど。
Delphiも.netに移行しちゃったし。
速度を必要としなければVB,C#でもかまわない。

俺はGUI部をdelphiでつくって基幹部をC++でDLLとして作ってる。

761 名前:デフォルトの名無しさん :04/05/07 13:57
>>759
学生の俺がレスしてやろう
多分、逆汗してネイティブコードを見ることだろう

762 名前:デフォルトの名無しさん :04/05/07 13:57
>>759
プログラムに対する考え方とかそういうの。
結局プログラムはロジックの固まりだから論理思考とかね。
ようするに言語に依存しなく、かつ言語の基礎になるもの。

いろんな言語にふれるのもいい。
あとはどれかをとことんやり込む。

763 名前:デフォルトの名無しさん :04/05/07 14:01
>結局プログラムはロジックの固まりだから論理思考とかね。
じゃ詰め将棋でもいいっすか?
それか、徹底的に論理思考を鍛えてる
数学者は最高のプログラマということなんだな?

764 名前:デフォルトの名無しさん :04/05/07 14:07
>逆汗してネイティブコードを見ることだろう
それは相当アセンブラで書き込んでないと難しいぞ。
どんな言語でも人のコード読んで理解するには相当書き込んでないとだめ。
特にアセンブラはコードのつながりとか構造が理解しづらいよ。

765 名前:デフォルトの名無しさん :04/05/07 14:08
>>763
> 数学者は最高のプログラマということなんだな?
別に論理思考だけじゃないから。
他にもいろんなものが必要になってくる。
それぐらいもわからないお前は
最低のプログラマーであることは間違いないがな。

CPUは計算機ですよ?

766 名前:デフォルトの名無しさん :04/05/07 14:12
だな?
から。
くる。
がな。
ですよ?

767 名前:デフォルトの名無しさん :04/05/07 14:12
>それぐらいもわからないお前は
わからなから聞いてるんだよッ。

>最低のプログラマーであることは間違いないがな。
おちょくってたら思惑通り切れてやがんの。ギャハハハ。ばーか

>CPUは計算機ですよ?
それがどないした?

768 名前:766 :04/05/07 14:12
一番上は引用か。

769 名前:デフォルトの名無しさん :04/05/07 14:14
しかし、今の言語の流れって小学校の学習指導要綱みたいだな。
昔はCとかだったのが今はゆとり教育でJAVAとC#とか。

ここで名言。
「楽をするのはかまわない。ただ、なぜ楽ができるかを知っていなければならない」

770 名前:デフォルトの名無しさん :04/05/07 14:16
名言だって・・・(笑)

771 名前:デフォルトの名無しさん :04/05/07 14:16
「楽をするのはかまわない。ただ、なぜ楽をしないといけないかを知っていなければならない」

自分のせりフを名言とかいうな。恥ずかしい。普通一句とかいいたいが句になってないしな。

772 名前:デフォルトの名無しさん :04/05/07 14:17
>769 デフォルトの名無しさん sage New! 04/05/07 14:14

773 名前:769 :04/05/07 14:18
ごめんゆとり教育受けてきたんで言葉知らないんだよ。

774 名前:デフォルトの名無しさん :04/05/07 14:18
>>767
> >それぐらいもわからないお前は
> わからなから聞いてるんだよッ。
わからないから考えるんだよ。
考えることをやめたら人間終わり。
まあ、お前はすでに終わってるから関係ないか。

> >最低のプログラマーであることは間違いないがな。
> おちょくってたら思惑通り切れてやがんの。ギャハハハ。ばーか
普通の成り行きだろ。お前が「最高」といったから「最低」で返した。
思惑通りの反応でやんの。ギャハハハ。ばーか

> >CPUは計算機ですよ?
> それがどないした?
ない頭をふりしぼって意味考えろ。
って考える力がないんだったね、ごめん。

775 名前:デフォルトの名無しさん :04/05/07 14:19
>>774
また例のC厨か?
さっさとCスレに帰れ。

776 名前:デフォルトの名無しさん :04/05/07 14:20
>>771
いや、誰が言ったか忘れたが引用。
個人的に衝撃受けたもので。

777 名前:デフォルトの名無しさん :04/05/07 14:20
糞スレで777ゲット

778 名前:デフォルトの名無しさん :04/05/07 14:20
どこぞのPG募集広告見ても、C・C++(java)は必須つうか前提のように書かれているから
事実上、ゆとり教育は現場で通用しないというか、現場の入り口にさえ入れないという現実がある

779 名前:デフォルトの名無しさん :04/05/07 14:22
>>778
今の教育もそうだよな。小学校でなにをやろうと大学が変わってないから
結局苦労する・・・

780 名前:デフォルトの名無しさん :04/05/07 14:23
フォルダに保存したexeファイルから実行するとすぐに画面が消えてしまうんだけど、どうすればいいですか?

781 名前:デフォルトの名無しさん :04/05/07 14:25
>>780
system("PAUSE");
これでも使え

782 名前:デフォルトの名無しさん :04/05/07 14:26
>>781
だからC厨は(ry

783 名前:デフォルトの名無しさん :04/05/07 14:26
>>780
ウイスルかDOSプログラム。
DOSプログラムならDOSかあ起動すればいいし、ウイルスならなもうだめだな。

784 名前:デフォルトの名無しさん :04/05/07 14:27
バカにされてるのもわからずマジレス返してる時点で恥の上塗りだな。こいつ女じゃねぇか?

785 名前:デフォルトの名無しさん :04/05/07 14:34
>>774
茶化されてることに気づかず。まじめーにレス返してて、気づいた時点での激高振り。
まさに、厨中の厨。先のC厨はまじめなレスなんかはじめから返してなかったんじゃねぇの?

786 名前:774 :04/05/07 14:37
いや、暇だから・・・
反論に反論で返したかったのよ。
ちなみに他にもいろいろ書いてるよ。
ID制じゃないからわからないだろうけど。

787 名前:C厨晒しage! :04/05/07 14:39
C厨晒しage!

788 名前:デフォルトの名無しさん :04/05/07 14:44
どうして君たちってこんなに頭が悪いんだろうね。
食生活のせいかなぁ・・・。

789 名前:774 :04/05/07 14:46
>>788
教育のせい

790 名前:デフォルトの名無しさん :04/05/07 15:05
自己責任

なんでも親のせい、大人のせい、教育のせい、社会のせいに
してはいけない

791 名前:デフォルトの名無しさん :04/05/07 15:06
>>790
その自己は誰が育てると思う?

792 名前:デフォルトの名無しさん :04/05/07 15:11
人生の敗北者でしかないプログラマが人に敗北者への道を説いてどうすんの?


793 名前:デフォルトの名無しさん :04/05/07 15:11
>>791
自然淘汰圧と個体の環境適応戦略と順応能力

794 名前:デフォルトの名無しさん :04/05/07 15:16
黄金虫が湧いてるだけなのか?
それともGW終わって嫌々仕事してるPGの悲鳴?


795 名前:デフォルトの名無しさん :04/05/07 15:19
プログラミング初心者です。
じゃんけんのフローチャートってどうなりますか?


796 名前:デフォルトの名無しさん :04/05/07 15:20
D言語嫌われてるね。
C#やJava厨ならともかく
C++厨がD言語嫌う理由は何だ?

797 名前:デフォルトの名無しさん :04/05/07 15:26
>>796
> C++厨がD言語嫌う理由は何だ?
1. ここが C++ 相談室スレだから。
2. さすがに、まだ仕事には使えない状況なのだけど、その現状を無視して D, D やかましい
 輩が数人いるから。


798 名前:デフォルトの名無しさん :04/05/07 15:28
>>796
そりゃまぁ、メーカーがね(ry

799 名前:デフォルトの名無しさん :04/05/07 15:31
>>795
[かけ声にあわせて、グー、チョキ、パーのいずれかを出す]
↓               ↑
<判定をする>→あいこなら↑
どちらかが勝てば

(終了)

800 名前:デフォルトの名無しさん :04/05/07 15:35
3.ようやく、死に物狂いでC++覚えたのに、また新しい言語が出てきてしかも、
C++でできることはすべてできてしかも生産性が高そうなことに嫉妬して。

ま、C厨と同じく向上心のかけらも無い奴は死になさいって琴田

801 名前:デフォルトの名無しさん :04/05/07 15:53
>>800
D厨は氏ね。

802 名前:デフォルトの名無しさん :04/05/07 16:07
>>799
二人ならね。
3人以上の場合はまずあいこか調べそのあと
架空の相手(誰も出していない手)と対戦させ
そいつに負ければ勝ち、勝てば負けとなる。

803 名前:デフォルトの名無しさん :04/05/07 16:21
>796
Dが嫌われてるというより、D厨がC++スレ荒らしにきてるだけだろ


804 名前:デフォルトの名無しさん :04/05/07 16:29
>>800
あのさあ、D覚える方が、C++覚えるよりずっと簡単なんだけど。
嫉妬なんかしてないんだけど(仕事でC#使ってる)。

向上心というより、どう考えても幼稚化なんだよなあ、Dは。
未来のない会社の株は誰も買わないでしょ。それと同じなんだよ。

805 名前:デフォルトの名無しさん :04/05/07 16:36
Dってもともとお手軽なC++って感じで設計されたんじゃないの?
触ってる奴らでまともにC++の代替って考えてる奴なんかいるか?

806 名前:デフォルトの名無しさん :04/05/07 16:39
D使ってないから知らないがC,C++,JAVAのいいとこ取りで設計されてるんじゃないの?

807 名前:デフォルトの名無しさん :04/05/07 16:41
>>805
俺も全く同感なんだが、どうもD厨の中には甚だしく勘違いをして
いる香具師がいるらしく、「新しい物ほど偉い」と思っているらしい。

俺はそういう香具師に「C++に挫折したC厨が次に飛びつくのはDだ」
と揶揄したつもりだったんだが。ほとんどの人はDを遊び道具としか
考えてないはずなのに、>>800みたいなD狂信者がいて、しかもC++
スレを荒らしに来るので困っているのだ。

808 名前:デフォルトの名無しさん :04/05/07 16:42
なんかJAVAの時もこういう議論あったよな。

809 名前:デフォルトの名無しさん :04/05/07 16:42
>>806
本当に「いいとこ取り」なら互換性を捨てたりしないだろう。Dは一番
美味しい所を捨てているように思えるが。

810 名前:デフォルトの名無しさん :04/05/07 16:44
ttp://www.sun-inet.or.jp/~yaneurao/dlang/Chapter-02.html


811 名前:デフォルトの名無しさん :04/05/07 16:48
ttp://www.kmonos.net/alang/d/comparison.html

812 名前:デフォルトの名無しさん :04/05/07 16:51
>>804
あのさあ、ずっと簡単だからいいんだよ。
C#使っててなんでそれ使ってるかわかってないのか?
しかも、幼稚とは思わず使わされて日銭稼いでいる下働きプログラマなんだろが?

>未来のない会社の株は誰も買わないでしょ。それと同じなんだよ。
C++に未来があると思ってる時点でおめでたいことこの上ないな。
Windows以外では別に終わるわけじゃないが、汚前が日々糞coderやってる
WinではC++は終わりなんだよ。

813 名前:デフォルトの名無しさん :04/05/07 16:53
結局言語なんて適材適所。
完璧な言語なんてない。

814 名前:デフォルトの名無しさん :04/05/07 16:58
>結局言語なんて適材適所。完璧な言語なんてない。
激しく同意。所詮ハードウェアの手順なんだからな。

815 名前:デフォルトの名無しさん :04/05/07 17:00
難しいことが美徳と思ってる奴はその都度ロジック回路組め。

816 名前:デフォルトの名無しさん :04/05/07 17:05
>本当に「いいとこ取り」なら互換性を捨てたりしないだろう。Dは一番美味しい所を捨てているように思えるが。
一番おいしい部分のどこを捨ててしまったのか教えてください。

817 名前:デフォルトの名無しさん :04/05/07 17:09
>>816
まあまあ。
味覚なんて人それぞれ違うんだから。

818 名前:デフォルトの名無しさん :04/05/07 17:10
Cだと一筆画きできるがDを一筆書きすると0なのかOなのかわかりにくくなるところ。

819 名前:デフォルトの名無しさん :04/05/07 17:10
>>816
俺も思った。>>811の比較見る限り。

820 名前:デフォルトの名無しさん :04/05/07 17:20
>>816
>>809 は多重継承が何がなんでも必要なんだよ。

言語仕様知らずにこっぱずかしコメント書き込んでるわけじゃないだろうし。

821 名前:809 :04/05/07 17:22
待て!今はじめて仕様見て必死になってあら捜ししてるところだ。
よーし。ガベコレけなしたろー。

822 名前:デフォルトの名無しさん :04/05/07 17:23
どーでもいいけど、ここでやらないでくれよ。

823 名前:809 :04/05/07 17:34
#ifdef が書けないのが幼稚だ。

824 名前:デフォルトの名無しさん :04/05/07 17:42
>>811
腐るほど読んだよそのページは。
>>812
でもD言語も始まるわけじゃないね。
>>813
まあそうだな。

825 名前:デフォルトの名無しさん :04/05/07 17:53
所詮C++はつぎはぎのキタネー言語だから、
そこにしがみついてる奴の擁護も当然メチャクチャになる。

826 名前:デフォルトの名無しさん :04/05/07 17:55
>>825
C++の最大の失敗はCを引き継いだところ。いいところ悪いところ両方。

827 名前:デフォルトの名無しさん :04/05/07 17:58
一番おいしいとこ=CやC++との互換性って意味だろ。

828 名前:デフォルトの名無しさん :04/05/07 17:59
確かに、C++は、つぎはぎだらけのキタネー言語だけど、
D言語だって良いとこどりのつもりでごちゃごちゃいろんな機能を
取り入れようとしてつぎはぎだらけになってるけどな。w

829 名前:デフォルトの名無しさん :04/05/07 18:01
お前ら、比較叩き煽り何でもありなスレでも立ててそっちでやれよ
ここで下らん叩き合いをするな

830 名前:デフォルトの名無しさん :04/05/07 18:02
>>826
言語として失敗だろうがなんだろうが、これだけたくさん使われている以上、
まだC++の時代は終わらん。
俺はVC++よりマトモなコンパイラが出てこない限り、C++をやめる気はない。

831 名前:デフォルトの名無しさん :04/05/07 18:02
所詮、C++にもC#にもDにもJavaにもSmalltalkやSchemeのような
スマートさがない。
どれも50歩百歩。
それに、実用性は言語の良し悪しじゃ決まらん。
どれだけCに似てるかと、開発環境の性能で実用性が決まる。
よってC++かC#が一番実用的だ。w

832 名前:デフォルトの名無しさん :04/05/07 18:03
C#は一番おいしいとこ捨ててWinのデファクト開発言語となりまつた。

833 名前:デフォルトの名無しさん :04/05/07 18:03
おまえらGWは終わりましたよ。

834 名前:デフォルトの名無しさん :04/05/07 18:04
>>832
デファクト開発言語の割りには、有名なあのフリーソフトも
あのシェアウェアも全部C#じゃないね。w

835 名前:デフォルトの名無しさん :04/05/07 18:06
Win上の開発では未だに圧倒的にC++が優勢だな。

836 名前:デフォルトの名無しさん :04/05/07 18:07
longhornが来たらVB,C#ともに大幅な修正が加わる予感。


837 名前:デフォルトの名無しさん :04/05/07 18:10
>>834
学生ちゃん。

838 名前:デフォルトの名無しさん :04/05/07 18:10
PS、XBOX、DirectXといったゲームプログラムは
C++しか選択肢が無いしな
Win以外の分野ではC#なぞかけらも見ない

839 名前:デフォルトの名無しさん :04/05/07 18:12
>>836
あれだけ環境依存だと
言語仕様そのものに大幅な修正が要るな
今時そんな薄氷のような言語イラネ

840 名前:デフォルトの名無しさん :04/05/07 18:12
ここまで連鎖あぼ〜んで(ry

841 名前:デフォルトの名無しさん :04/05/07 18:13
>DirectXといったゲームプログラムは
>C++しか選択肢が無いし。

さらしあげ。首つって市ね。あほ!

842 名前:デフォルトの名無しさん :04/05/07 18:17
windowsプログラマ戦々恐々だね。あさましい。

843 名前:デフォルトの名無しさん :04/05/07 18:25
新しく普及しそうな言語がでたらそれをえるように対応するだけなのに
C++厨はなんでこんなに他をけなしてしがみついてるの?C厨以下だな。

844 名前:デフォルトの名無しさん :04/05/07 18:29
MSの手のひらの上で仕事させてもらってうれしいか?

845 名前:デフォルトの名無しさん :04/05/07 18:33
>>838
XBoxとDirectXはC#だよ
PSはアセンブラ

846 名前:デフォルトの名無しさん :04/05/07 18:34
>>843
> 新しく普及しそうな言語がでたらそれをえるように対応するだけなのに
いや、大半の人間は「普及したら」で間に合う。とりあえず Visual D 出るまで
待ちでしょ。

847 名前:デフォルトの名無しさん :04/05/07 18:36
>>845
PSはアセも使うがC/C++も使えるぞ。
コードウォーリアーとかあるし。
ミドルウェアも多いし。

848 名前:デフォルトの名無しさん :04/05/07 18:37
>>846
俺もそう思う。VDとか出たら考える。
JAVAだって結局Serverサイドかゲームぐらいしか使われなくなってるし。

849 名前:デフォルトの名無しさん :04/05/07 18:38
>843
よそのスレで他の言語叩いてるC++信者に言ってくれ・・・
ここはC++のスレだからさ・・・


850 名前:デフォルトの名無しさん :04/05/07 18:41
directX・箱はC++でコード書くのがメイン
PS2のエンジン(ライブラリ)はC++で書いて、微調整でアセンブリだろ

851 名前:デフォルトの名無しさん :04/05/07 18:41
>>Visual D 出るまで待ち
反吐が出るね。M$プログラマのレベルなんてこんなもん。お前はM$の下請けか?

852 名前:デフォルトの名無しさん :04/05/07 18:47
>>850
> PS2のエンジン(ライブラリ)はC++で書いて、微調整でアセンブリだろ
VU1 で走らせるマイクロコード (シェーダー) は、専用のアセンブラ言語。

メイン CPU 側で走るコードは大半が C++, コンパイラがサポートしていない
SIMD 命令 (R5900 マルチメディア命令と VU0 マクロモード)、あとは同期
処理などで使うハードに極めて近い命令だけインラインアセンブラで書く、
っつー感じ。

いずれにせよアセンブラは数学関数や描画系などの中で使うのがメインで、
ゲームっぽいコードのほうにはめったに顔を出さない。

853 名前:デフォルトの名無しさん :04/05/07 18:49
>>851
勝手に反吐だしてれば?糞が。
M$は嫌いだが、コンパイラとマウスは出来がいい。

854 名前:デフォルトの名無しさん :04/05/07 19:03
VCも.NETで対応CPU増えたし、コンパイラだけなら配布しだしたしなぁ。
コンパイラはIntel、GCC、VC、Borlandぐらいか?

855 名前:デフォルトの名無しさん :04/05/07 19:14
>>854
ほかにも CodeWarrior とか。

組み込み用途だと CPU ベンダ純正のコンパイラとか、リアルタイム OS 屋
が出してるコンパイラ (Wind River Diab C/C++) とか色々あるよん。

856 名前:デフォルトの名無しさん :04/05/07 19:27
趣味のプログラムならともかく、業務的には
ソフトウェア開発で職業プログラマが同じ処理を書くとき
少なくともC++より高水準なC#を使う場面なんてあるか?
ゲームプログラムだって
より低水準な言語でローレベルな調整したいのが人情
少なくともゲームプログラムではC・C++をメインに
専用アセンブリで痒いところを微調整というのが通常

857 名前:デフォルトの名無しさん :04/05/07 19:45
そんな君はC++なんか使わずピュアC & 汗使えばいいだろ?というか使え。
C++みたいにコンパイル結果が見通しにくい言語使っちゃ、人間が介入するの大変だろうが。

858 名前:デフォルトの名無しさん :04/05/07 20:03
>>855
違う。メジャーどころって意味で。
マイナー含めたらそれこそ山のようにある。

859 名前:デフォルトの名無しさん :04/05/07 20:07
>>856
業務ってもパッケージソフトウェアとシステム開発で全く違うだろ、
ってかC#が台頭してるのはVB使ってたような場所。

860 名前:デフォルトの名無しさん :04/05/07 20:15
>>858
> 違う。メジャーどころって意味で。
組み込み用途は、むしろメジャーだと思うぞ。開発人口も少なくないし。

861 名前:デフォルトの名無しさん :04/05/07 20:18
>>857
C から C++ になって見通しが悪くなったのは、コードの配置ぐらいだと思うが。
あれは inline やら template やらあるから C と違って調整が難しい (命令
キャッシュのヒット率を上げるのが難しい) けど、他はそれほど。

最適化をかけると元のコードとかけ離れたコードをはくのは C も C++ も
大差ないよ。レジスタリネーミングを使うと、かなり追えん。

862 名前:デフォルトの名無しさん :04/05/07 21:29
C#がデファクトとか言ってる人は何を根拠に?
とても信じ難いんだけど。
どういう世界でデファクトなの?

863 名前:デフォルトの名無しさん :04/05/07 21:34
さっきからデファクトといってるがデファクトスタンダードとしないとも間違ってるぞ。
デファクトは「事実上の」って意味だけだ。

864 名前:デフォルトの名無しさん :04/05/07 21:36
>>862
Web がらみの三階層アプリケーションだと、わりと流行ってる感じ。
これまで VBScript, JScript 使って ASP 書いてたところが、C#.net に
乗り換えてる。

でも、そっちも JSP とか ColdFusion なんかもあるし、まだデファクト
スタンダードっつ〜ほどじゃないと思うが。

865 名前:デフォルトの名無しさん :04/05/07 21:41
>>864
C#はJSP,ASPに置き換わるものとして作られたんだろ。
クライアント用にはVBがあるわけだし。

866 名前:デフォルトの名無しさん :04/05/07 21:42
JSPの代わりもVB.netでいいじゃん。

867 名前:デフォルトの名無しさん :04/05/07 22:47
JSP? Japan Stuttering Project のことか?
どもりで困ってるのか?

868 名前:デフォルトの名無しさん :04/05/07 23:09
>>864
M$がらみはデファクトスタンダードはない。
M$がスタンダードを決めてお前らが従うだけ。嫌なら書かなくていーよ。
アプリ書きたい奴はいっぱいいるから。
言語どころか開発環境さえ選択の自由なんかあるかよ。

869 名前:デフォルトの名無しさん :04/05/07 23:21
>>864
それはVBScriptが取って代わってるだけでC++と
取って代わってるわけじゃないだろ。

870 名前:デフォルトの名無しさん :04/05/07 23:24
>>868
> M$がらみはデファクトスタンダードはない。
三階層アプリだと Oracle + JSP や SQL Server + ASP (C#.net) など、
選択肢はいくつかあるよ。クライアントサイドだと Win32 でほぼ決まり
だから、選択の余地は狭いが。

871 名前:864 :04/05/07 23:26
>>869
その通り。

っつか、俺は C++ と C# は有効に活用できる対象が明確に違うと思ってる。
ただ今後は Win32 クライアントも C# で書く機会が増えそうだし、これまで
C++ が受け持っていた領域にも少し C# が食い込んでくるかなぁ、とは
考えてるけど。

872 名前:デフォルトの名無しさん :04/05/07 23:32
新しい領域は新しい言語がいいんでない?
C++は従来Cでやってたことを、一歩進めるのに使う。

873 名前:デフォルトの名無しさん :04/05/07 23:50
教えてください。
クラステンプレートにて例えば

template<typename mytype> class test{
test(const mytype &); //コンストラクタ


};

としたとして、コンストラクタなんですが、上記とちょっと変えて
test<mytype>(const mytype &);
とするやり方があると本で読んだのですが、いまいちどう違うのか
わかりません。何でもmytypeにそれぞれ固有のコンストラクタが
コンパイラによって生成されるとかなんだそうですが、最初のやり方
でもそんな感じがします。
どう違うのでしょうか?

874 名前:デフォルトの名無しさん :04/05/08 00:01
>>873
違いなんてありません。

875 名前:デフォルトの名無しさん :04/05/08 00:15
そ、そうなんすか?
ということは
test<mytype>というコンストラクタの書き方は意味をなさないと?

876 名前:デフォルトの名無しさん :04/05/08 01:19
http://www.geocities.com/one_mad_alien/perftest.html
こりゃもう乗り換えるしかないだろ。

877 名前:デフォルトの名無しさん :04/05/08 01:23
>>876
まだ言ってるのか・・・。言語論に速度はほとんど関係ないよ。

878 名前:デフォルトの名無しさん :04/05/08 01:30
>>877
技術ばかりに目が行ってると、その辺が理解できなくなる。視野の狭い人間に
何言っても無駄だから、放置しとけ。

俺は Visual D はともかく、プログラミング言語 D と Effective D が出たら
考えるよ。

879 名前:877 :04/05/08 01:36
因みに俺はPrologが最高の言語だと思ってる。

880 名前:デフォルトの名無しさん :04/05/08 01:41
>>879 わざわざC++スレでそんな毒にも薬にもならない自己主張などしなくてよい。

881 名前:デフォルトの名無しさん :04/05/08 02:04
C++でCと同程度の速度で巨大ファイルを読み込む方法ってありますか。

ここによると、
ttp://www.gamedev.net/community/forums/topic.asp?topic_id=121193

std::iftream ifs( "filename" );
ifs.rdbuf()->sgetn( (char*)data, size );  // low-level

とするのがいいといってるんですが、
50MBほどのファイル読み込みをCと比較すると3倍ほど遅いです。

882 名前:デフォルトの名無しさん :04/05/08 02:07
なんかC厨を釣るためのネタ質問に見えるなぁ

883 名前:デフォルトの名無しさん :04/05/08 02:13
>>881
比較用のソース晒せ。

884 名前:デフォルトの名無しさん :04/05/08 02:14
perlより速いんだろ?

885 名前:デフォルトの名無しさん :04/05/08 02:15
>>881
その後のデータの使い方による。stream の機能をフルに使いたいなら
そこで示された方法を使うことになるし、単にメモリ上にマップすれば良い
のなら mmap() とか MemoryMappedFile() といった OS の仮想記憶
システムに近い低レベル API を使うことになる。

886 名前:デフォルトの名無しさん :04/05/08 02:43
881です。
>> 883
だいたいこんな感じです。

const int BUFSIZE = 4096;

// C 用
setvbuf(fp, NULL, _IOFBF, BUFSIZE);
clock_t start = clock();
while (fread(buf, 1, BUFSIZE, fp)) ;
clock_t end = clock

---

// C++ 用
ifs.rdbuf()->pubsetbuf(buf, BUFSIZE);
clock_t start = clock();
while (ifs.read(buf, BUFSIZE)) ;
clock_t end = clock、

>>885
Cのfopenとfgesで十分な使い方です。
ただなんでこんなに速度差があるのか疑問だったので。

887 名前:デフォルトの名無しさん :04/05/08 02:50
881です。

まちがえました。

ifs.read(buf, BUFSIZE));

ifs.rdbuf()->sgetn(buf, BUFSIZE);

888 名前:デフォルトの名無しさん :04/05/08 03:22
>>886
なんで部分的に貼るんだよ。テストしにくいだろ。

889 名前:デフォルトの名無しさん :04/05/08 03:53
>886
デバッグビルドしてませんか。

890 名前:デフォルトの名無しさん :04/05/08 09:27
bool aという変数があって、
aがtrueの時はfalseに、falseの時はtrueにするような(反転するような)
代入をしたいのですが、
a=~a;
だと、コンパイラが受け付けてくれません。
どうやったらいいでしょうか。

891 名前:デフォルトの名無しさん :04/05/08 09:32
>>890
a = !a;

892 名前:デフォルトの名無しさん :04/05/08 10:14
C++の仕様を決めるとき、なんで配列のdeleteには[]が必要にしたんだろ?
配列も普通にdeleteだけで開放できても問題ないような。

[]を付け忘れて間違えるデメリットはあっても、付ける事によるメリットって
なんかある?

893 名前:デフォルトの名無しさん :04/05/08 10:38
>>892
ある。

配列を開放する場合、デストラクタを呼び出すために、その配列に格納
されている要素数をどこかに記録しておく必要がある。delete, delete[] を
共通にしてしまうと、常にこの要素数を記録せにゃならんので、その分だけ
メモリが無駄になる。

894 名前:デフォルトの名無しさん :04/05/08 11:42
>>893
でも正直、貧乏臭いよね。

895 名前:デフォルトの名無しさん :04/05/08 11:51
数バイトのメモリケチってdelete/delete[]を誤るほうが怖いな
下手すると豪快にリークしてくれるて本末転倒

896 名前:デフォルトの名無しさん :04/05/08 11:53
>>893
それ本当?

もともとメモリ開放するためには、newで確保したメモリサイズが
なにかしらの管理領域に保持されているはずだよね。
そしたら要素数なんて別に持たなくても、要素数は算出できるはずじゃね?

897 名前:デフォルトの名無しさん :04/05/08 11:58
デストラクタ呼び出しのためじゃないの?

898 名前:デフォルトの名無しさん :04/05/08 12:00
>895
WindowsなどのPC環境でしか開発をしたことがないと
そういう言葉が出てくる

899 名前:デフォルトの名無しさん :04/05/08 12:11
>>897
[ ]あってもなくてもデストラクタは呼ばれる。

900 名前:デフォルトの名無しさん :04/05/08 12:13
>>898
確かにメモリがシビアな状態ではね。
でも、newした時点ですでに保持されてるんじゃないの?

901 名前:デフォルトの名無しさん :04/05/08 12:16
>>896
そのオブジェクトのサイズはね。
だけどポインタが指してる先が一個のオブジェクトか、配列の先頭かは
プログラマにしか分からんよ。

902 名前:デフォルトの名無しさん :04/05/08 12:20
>>901
OSも知ってる。もちろんOSにも寄るけど。

903 名前:デフォルトの名無しさん :04/05/08 12:21
>>896
ttp://www.tietew.jp/cppll/archive/10666

ここを読みんしゃい。

あと、>>896 が言うように計算可能であるかもしれないけど
コストがかかる処理になるかもしれないし
メモリアロケータを設計する上での足枷となりうる。

904 名前:デフォルトの名無しさん :04/05/08 12:30
>>900
メモリアロケータはユーザが override 可能だから、それを仮定することはできない。

905 名前:デフォルトの名無しさん :04/05/08 12:32
>>899
>>899
え?

906 名前:デフォルトの名無しさん :04/05/08 12:33
>>903
うーん、そんなにコストかかるか?
newで確保したメモリ内に管理用領域が付随していて、
それが激しくサイズ不定でとかならわかるが、
普通は引き算がせいぜい数回と、割り算1回発で済むんじゃないの?

>メモリアロケータを設計する上での足枷となりうる。
というのも足かせが思いつかん。


907 名前:デフォルトの名無しさん :04/05/08 12:41
>>906
メモリアロケータは要求されたメモリサイズをそのまま確保するのではなく、
8, 16 バイト単位に切り上げた上でメモリを確保・呼び出し側に渡したり、
一定サイズまではライブラリ内部でプールしておいて、閾値を越えたら OS
のアロケータに丸投げしたりといった細かい工夫が施されてたりする。

確保したメモリサイズ・要素数を生のまま埋め込むことを前提とすると既存の
メモリアロケータを全部捨てて書き直す必要がるし、かといってアロケータが
まったく別の領域で「メモリアドレス先頭」と「要素数」の対応表を管理すること
にすると、そっちのメンテナンス・検索コストが結構かかる。

908 名前:デフォルトの名無しさん :04/05/08 12:46
静的メンバ関数を使うメリットってなんですか?

909 名前:デフォルトの名無しさん :04/05/08 12:47
>>908
何と比較して?

910 名前:デフォルトの名無しさん :04/05/08 12:49
>>899
[]なしだと呼ばれるのは先頭要素だけだよな

911 名前:908 :04/05/08 12:55
>>909
普通に関数宣言するのと比べて(クラスのメンバにしないで)


912 名前:デフォルトの名無しさん :04/05/08 12:57
クラスの静的メンバにアクセスできる

913 名前:908 :04/05/08 13:01
>>912
即レスありがとうございます。

今のところコールバック関数をメンバにしたいときにしかつかったことないんでどういうときに使うといいのか〜ってのがいまいちわかってないみたいです。
もっと勉強したほうがいいですね。

914 名前:デフォルトの名無しさん :04/05/08 13:12
静的メンバ関数はインスタンスが無くても使えるのが便利。

915 名前:デフォルトの名無しさん :04/05/08 13:18
全てのオブジェクトからアクセスできる。
クラスのオブジェクト生成のカウンタとか、共通で扱うデータなどは静的メンバ変数にする。

916 名前:908 :04/05/08 13:18
グローバル変数みたいなものってわりきっちゃっていいかな?

917 名前:デフォルトの名無しさん :04/05/08 13:22
むしろ外部からのstatic変数へのアクセス関数に相当だろ。

918 名前:デフォルトの名無しさん :04/05/08 13:23
>>906
>というのも足かせが思いつかん。

古臭い仕様上の制約というやつだ。合理性を求めても仕方が無い。

919 名前:デフォルトの名無しさん :04/05/08 13:32
win32apiのWINAPIとかCALLBACKみたいに
C++の言語仕様に
関数名に付加する修飾子みたいなのってありますか?

920 名前:デフォルトの名無しさん :04/05/08 14:06
>>919
WINAPIが何で定義されてるかお前は知っているのか?

921 名前:デフォルトの名無しさん :04/05/08 15:26
>割り算1回発で済むんじゃないの?
ヲーヲー!もっともクロック数が必要な命令じゃないか。

922 名前:デフォルトの名無しさん :04/05/08 15:37
>>920
__stdなんたらとかいう記号定数だろ
windows.hで定義されてるやつ

仮にC++のソースに関数名と型の間にひとつトークンを置いたとき
こういうのを関数名を修飾するトークンというふうに
認識してくれるのかなとか、なんとなく思ったので質問した

923 名前:デフォルトの名無しさん :04/05/08 15:58
>>922
> __stdなんたらとかいう記号定数だろ
「記号定数」ってなんだ?

C++の文法と、使っているコンパイラのマニュアルを確認しる。

924 名前:デフォルトの名無しさん :04/05/08 16:12
>>922
お前がそのWINAPIを使うときに使ってる言語は何だと思う?
その言語は「修飾するトークンというふうに認識」してるらしいが、
その言語はなんだと思う?w

925 名前:デフォルトの名無しさん :04/05/08 16:13
春だなぁ・・・

926 名前:デフォルトの名無しさん :04/05/08 16:38
春ですねぇ…

927 名前:デフォルトの名無しさん :04/05/08 16:42
春ではなくただの日曜日だが。

>>919
関数名に付加する修飾子は在るが、呼び出し規約を指定するものはない。

928 名前:デフォルトの名無しさん :04/05/08 16:43
呼び出し規約を指定するものしかないの間違いだろ?

929 名前:デフォルトの名無しさん :04/05/08 16:46
> C++の言語仕様に

930 名前:デフォルトの名無しさん :04/05/08 16:47
>>927
土曜日ですよ。

931 名前:デフォルトの名無しさん :04/05/08 16:48
>>928
inline, virtual, explicit, staticなんだが、これを呼び出し規約と言うのか?

932 名前:デフォルトの名無しさん :04/05/08 16:51
stdcall、cdecl、fastcall

933 名前:デフォルトの名無しさん :04/05/08 16:52
>>930
そうだったか…

934 名前:デフォルトの名無しさん :04/05/08 16:58
呼び出し規約は __stdcall __thiscall __fastcall __cdecl だな。Windows環境だと。
ちなみに先頭にアンダーバーがついてるので処理系依存だな。

935 名前:デフォルトの名無しさん :04/05/08 17:01
呼び出し規約ってDLL作成の時にしか気にしてないが
他になんか必要な場合ある?


936 名前:デフォルトの名無しさん :04/05/08 17:03
食い違ってるとスタティックリンクすらできん。

937 名前:デフォルトの名無しさん :04/05/08 17:05
>>934
__thiscallと書きたい気分はわからんでもないが、とりあえず手元のVC7にそんなキーワードはなさげだったぞ。
あとアンダーバー二つはM$拡張みたいだが、詳しいことは漏れもよくわからん。

938 名前:デフォルトの名無しさん :04/05/08 17:06
>>924
D言語

939 名前:デフォルトの名無しさん :04/05/08 17:11
thiscall
C++メンバ関数用
基本的には__cdeclと同じだが、最後にthisをpushする。


940 名前:デフォルトの名無しさん :04/05/08 17:12
thiscall はキーワードではないので、プログラムで明示的に指定できません。


941 名前:デフォルトの名無しさん :04/05/08 17:18
より詳しくは、それぞれのコンパイラスレでどうぞ。

942 名前:デフォルトの名無しさん :04/05/08 17:18
>>935
APIのコールバック関数。

943 名前:デフォルトの名無しさん :04/05/08 17:21
>>939 わかりやすい誤訳だな。

944 名前:デフォルトの名無しさん :04/05/08 17:24
>>943
はぁ?
ttp://www.microsoft.com/japan/developer/library/vccore/_core_thiscall.htm
でも見てろ。

945 名前:デフォルトの名無しさん :04/05/08 17:24
API絡みぐらいじゃないとやっぱ使わないか。

946 名前:デフォルトの名無しさん :04/05/08 17:28
>>943
じゃあ分かり難い誤訳でもご覧になって落ち着いてください。
http://support.microsoft.com/default.aspx?scid=kb;JA;74586


947 名前:デフォルトの名無しさん :04/05/08 17:33
>>943
ttp://www.microsoft.com/italy/survey/surveycom_jp.aspx

948 名前:943 :04/05/08 17:34
thisをスタックに積むのは「vararg 関数」の時だけ。
それ以外の場合はecxレジスタで渡す。

↓原文。この時点でたしかに誤解を招きやすい。
http://msdn.microsoft.com/library/en-us/vccore98/html/_core_thiscall.asp

↓新しく書き直されたのがこっち。だいぶ読みやすくなってる。
http://msdn.microsoft.com/library/en-us/vclang/html/_core_thiscall.asp

949 名前:デフォルトの名無しさん :04/05/08 17:36
Whidbeyがいつの間にかVisualStudio2005に名前決まったんだな。

950 名前:919 :04/05/08 18:09
蒸し返すけど要はホスト環境とコンパイラ依存ということですかね
関数の呼び出し規約の修飾子は。
つまり、WINAPI向けにコンパイラの機能を拡張しただけだと

951 名前:デフォルトの名無しさん :04/05/08 18:18
x86以外の大抵のCPUには呼び出し規約は一つしかない。
x86に呼び出し規約がたくさんあるのも、WINAPI向けってわけじゃぁない。

↓ここの"The history of calling conventions"シリーズがかなり詳しい(まだ全部読めてないけど)。
http://weblogs.asp.net/oldnewthing/archive/2004/01.aspx

952 名前:デフォルトの名無しさん :04/05/08 19:21
NULL character を含む文字列 ("aaa\0bbb\0ccc\0\0" みたいなの) を std::string で
扱いたいんだけど、どうやって代入すればいいですか?

string s = "aaa\0bbb\0ccc\0\0";

だと、"aaa" までしか代入できません。

953 名前:デフォルトの名無しさん :04/05/08 19:25
basic_string(const E *s, size_type n, const A& al = A());
basic_string(const_iterator first, const_iterator last, const A& al = A());

954 名前:デフォルトの名無しさん :04/05/08 19:33
\x00は?

955 名前:デフォルトの名無しさん :04/05/08 19:44
>>952
> string s = "aaa\0bbb\0ccc\0\0";
そりゃ初期化だ。初期化なら >>953 の挙げてるコンストラクタ使え。
代入なら同じ引数のassign使え。

リテラルのサイズを取得するのに、templateを使うと幸せになれるかもしれない。
template< std::size_t N > inline std::string& assign_literal( std::string& target , char const ( &literal )[ N ] ){ return target.assign( literal , N - 1 ); }

956 名前:デフォルトの名無しさん :04/05/08 20:22
>>953,955
うわっ、レス早っ!
こんな感じでいいのかな?

char *p = "aaa\0bbb\0ccc\0\0";
string s(p, 13);
string t;

cout << s << endl;
cout << s.size() << endl;

t.assign(p, 13);
cout << t << endl;
cout << t.size() << endl;

どうもでした。

957 名前:デフォルトの名無しさん :04/05/08 20:28
こまかい突っ込みですまんが。
× char *p = "aaa\0bbb\0ccc\0\0";
○ char const *p = "aaa\0bbb\0ccc\0\0";

958 名前:デフォルトの名無しさん :04/05/08 20:34
>>956
>>955の書いたテンプレート関数なら
std::string s;
assign_literal(s, "aaa\0bbb\0ccc\0\0");
で済みますな。長さを別途与えなくてもいい

959 名前:デフォルトの名無しさん :04/05/08 21:38
>× char *p = "aaa\0bbb\0ccc\0\0";
ほんと糞下らんこと言う奴いるな。
いったん初期化したあとで別のアドレス指すのかもしれんだろうが。

960 名前:デフォルトの名無しさん :04/05/08 21:44
>>959


961 名前:デフォルトの名無しさん :04/05/08 21:46
>>957
お前の意図したコードは↓じゃないか?

char const * const p = "aaa\0bbb\0ccc\0\0";

962 名前:デフォルトの名無しさん :04/05/08 22:07
>>959 http://www.kuzbass.ru/docs/isocpp/future.html#depr.string

963 名前:デフォルトの名無しさん :04/05/08 22:07
char const ってあったっけ?
const char *const p = ...
ならあると思うが


964 名前:デフォルトの名無しさん :04/05/08 22:18
chsr constは const char と同意。間違いない。それぐらい調べてからコメントしろ。
というより const が直後を修飾すると考えると
char const の方がbetter だと思う。特にpointerのアドレスか内容かをconst指定する際
char const *p;
はわかりやすいと思う

965 名前:デフォルトの名無しさん :04/05/08 22:20
>>964
> char const の方がbetter だと思う。

そうか、読みにくいから俺はいつも const char だ。

966 名前:デフォルトの名無しさん :04/05/08 22:23
>>964
> const が直後を修飾すると考えると

漏れの場合その道理でいくとconstが*にかかって
ポインタを移動できなくなるんじゃないかと誤解するなぁ。

967 名前:デフォルトの名無しさん :04/05/08 22:27
次スレ?
http://pc5.2ch.net/test/read.cgi/tech/1078193971/

968 名前:デフォルトの名無しさん :04/05/08 22:35
>>constが*にかかって
char *p;
で*pをポインタと考えてるからだろうが!違うぞ pがポインタで*pはその内容を意味する。
だから
char const *p
は p の指す内容を不変とすること。
char * const p;
は p の指すアドレスそのものを不変とすること。

969 名前:デフォルトの名無しさん :04/05/08 22:43
型を修飾すると考えるほうがわかりやすいような希ガス。

970 名前:デフォルトの名無しさん :04/05/08 22:48
>>964
constが直後を修飾するという考えなら
const charでいいだろ。あくまでchar型のインスタンすを定数と
考えるんだからな。
long だってlong int ってするようにな。


971 名前:966 :04/05/08 22:58
>>968
> で*pをポインタと考えてるからだろうが!

いや、宣言時には*がポインタを表す装飾だと思って(思い込んで)いるから。
漏れの場合*とpは離して書いてるが、それも宣言専用の装飾だと思っているから。
ちょっと無理のある表現だが
const char pointer p;
みたいな感じかな。

> pがポインタで*pはその内容を意味する。

だとすると、
char *p="null po";
はおかしな表現に思えてしまう。
あくまで宣言のみの表現で*pが内容を意味しないと解釈すると
上のようにpointerに置き換えられるので納得しやすい。

あとは定数の表現をchar constではなくconst charと覚えているから
const charのポインタということでconst char *にしているというのもある。

972 名前:デフォルトの名無しさん :04/05/08 23:03
というか、char constって書き方ができるってのはいいが、
そういう表現を積極的に採用してる書籍ってあるのか?
ストラウストラップだってconst charだろ?
char型の・・・ただのchar型でなくて、定数のchar型・・・
というような順の修飾と考えたほうが自然だと思うけどなぁ。

char constという表現を知らんやつがいても仕方ないぐらい、
特殊な書き方だと思うよ。

973 名前:デフォルトの名無しさん :04/05/08 23:06
アスタリスクを通る縦線を引いて、分類せよ。って書いてあったじゃん。

974 名前:デフォルトの名無しさん :04/05/08 23:07
>char *p="null po";
>はおかしな表現に思えてしまう。

これは、本来は文法的にはあまりよろしくない書き方だ。
初期化が面倒だから、K&Rにもこういう書式を許しているし、コンパイラもOKだが
本来は

char *p;
p="おまえはバカ";


であるからな。厳密に考えるとCにはおかしな書式がいくつかある。

975 名前:デフォルトの名無しさん :04/05/08 23:08
>>974
( ゚д゚)ポカーン

976 名前:デフォルトの名無しさん :04/05/08 23:09
>>972
それはお前がバカだから、

Effective C++

読んでから言え。もっとも積極的に勧めてるわけじゃなく、
両方読める必要があると言っている。
お前はそれを知らなかったんだから、知る必要があったわけだ。
無知をひけらかして恥さらすな。

977 名前:デフォルトの名無しさん :04/05/08 23:13
宣言したインスタンスに対し初期化するという意味なら別におかしいとは
思わんよ。
どんな修飾がついてたって、インスタンスはpであってその内容を代入してる
わけだから。修飾子とインスタンスを切り離して考えれば自然ではある。

char *p = "おまえがバカ";
でいいと思う。

978 名前:966 :04/05/08 23:13
>>972
const char *で宣言してもコンパイラのエラー出力ではchar const *になってたりするけどな。

話はちょっと反れて関数のポインタが&をつけなくても
取得できるのがおかしいというのをたまに聞くが、
あれも関数名はポインタそのもので()がポインタを解決する(実際には実行するんだが)為の
operatorと考えていて何も疑問を感じていない。
むしろ関数名に&を付けて関数のポインタを得られることが不思議だったりする。

メンバ関数に対するconstでもないしそろそろCスレ行きか。

979 名前:デフォルトの名無しさん :04/05/08 23:15
ルールを単純にしたいがため、「constは左の型を修辞する」というルール一本にした。
他所から拾ってきたソースや過去の自分のソースで const char とか書いてあるのを見たときに少し考えてしまう。

> そういう表現を積極的に採用してる書籍ってあるのか?
David Abrahamsによるboostのソースはそうなっている。
上記のルールの一本化も彼のコーディングガイドラインによるもの。
少し前のgccの出力がそうなっていたが、最近はconstが右につくようになった。

980 名前:デフォルトの名無しさん :04/05/08 23:16
>long だってlong int ってするようにな。

話にならんな。
この場合 long は int を修飾するだけ

int long x;

とやって long が xを修飾する必要がどこにあるんだ。

char const *p;
の const がポインタ内容を修飾する必要のある場合とは全く意味が違う。

例を持ち出すならもっと的確な事例を挙げてろ

981 名前:デフォルトの名無しさん :04/05/08 23:17
>>978
関数名は関数型を持ち、関数型は関数へのポインタへ暗黙の変換が効く。
関数への参照という型も存在する。
この認識がないと、templateで関数型を扱うものが理解できない。

982 名前:デフォルトの名無しさん :04/05/08 23:20
>>974
> 本来は
> char *p;
> p="おまえはバカ";

と言われても、
char const * const p;
p = "NULLPO";
と書くと警告でちゃうぞ。

>>976
何熱くなってんだ ?
誰も const char と char const のどちらかしか読めないなんて書いてないぞ。

983 名前:デフォルトの名無しさん :04/05/08 23:21
>>976
バカはおまえだ。俺は両方の表現知ってたし、あくまで
const char より char const の方を押してる書籍の話を
言ってんだ。それが積極的ってことだろ。Effe C++だって
char constを押してるわけじゃない。知る必要とかじゃなくて
どっちが一般的かって話してんだよ。それからお前はEffe C++
がすべてか。バ・カ・タ・レ。


984 名前:デフォルトの名無しさん :04/05/08 23:22
>話はちょっと反れて関数のポインタが&をつけなくても

関数のポインタってなんだ?関数へのポインタのことか?



985 名前:デフォルトの名無しさん :04/05/08 23:22
これ以上constの位置について話すのならコチラへどうぞ→http://pc5.2ch.net/test/read.cgi/tech/1078193971/

986 名前:デフォルトの名無しさん :04/05/08 23:25
なにあつくなってんだクズども

class Class { ... } typedef C;


987 名前:デフォルトの名無しさん :04/05/08 23:26
>>986
お前のことだ(w

988 名前:デフォルトの名無しさん :04/05/08 23:28
>>983
お前が何にも知らんことは文面から用意に察することができたのでバカでも知ってる教科書名を挙げてやったのよ。
一通りよんでりゃ、const の前置、後置ぐらいでスレ汚すバカは居ないだろうからな。勉強になったことを感謝しろ。

日 本 海 溝 よ り 教 育 レ ベ ル の 低 い 糞 ガ キ よ 。





989 名前:デフォルトの名無しさん :04/05/08 23:28
>>984
それぐらい理解しろよ。
人と話したことないのか ?

990 名前:966 :04/05/08 23:29
>>977
>>971と同じ意見だよな。ありがとう。
が、あくまでソースから受ける印象の話であって何が正しいという話はしていないことに注意。

>>984
すまん。関数へのポインタ。

>>981
恥ずかしながら関数型という言葉を知らないんだが具体例をきぼん。
ということでC++の話題へ。

991 名前:デフォルトの名無しさん :04/05/08 23:29
とりあえず落ち着け。
>>988
海溝は深いと言うべきだな。

992 名前:デフォルトの名無しさん :04/05/08 23:30
>>988
しまいにゃ言えることはその程度かw。死ね。

993 名前:デフォルトの名無しさん :04/05/08 23:30
>>952
最後に'\0'を2回付けたいのなら"〜\0"で十分では?

994 名前:デフォルトの名無しさん :04/05/08 23:33
議論は構わないがそう熱くなるな。
端から見てると単なるケンカにしか見えないから。

995 名前:デフォルトの名無しさん :04/05/08 23:34
まず日本語の読解力を身につけろよ。


996 名前:デフォルトの名無しさん :04/05/08 23:36
>と言われても、
>char const * const p;
>p = "NULLPO";
>と書くと警告でちゃうぞ。

それはね、内容もアドレスも不変と宣言してるのに、宣言した時点より跡で代入してるから。

997 名前:デフォルトの名無しさん :04/05/08 23:36
すいません熱いところ申し訳ないんですが次スレはドコですか

998 名前:デフォルトの名無しさん :04/05/08 23:43
>>984
>それぐらい理解しろよ。
>人と話したことないのか ?

君ポインタの扱いが十分わかってないね。
関数のポインタなんて表現はありえない。
つまり、わかってる奴は絶対こういう表現はしない。


999 名前:デフォルトの名無しさん :04/05/08 23:45
>バカはおまえだ。俺は両方の表現知ってたし、
バーカ。こんなこと知ってるぐらいのことを何宣言してんだ。アホの活造りかおまえ。

1000 名前:デフォルトの名無しさん :04/05/08 23:46
1000! って言うか次スレ…


■過去ログ置き場に戻る■ 1- 前250 次250 最新50
DAT2HTML 0.33f Converted.