1 名前:デフォルトの名無しさん [04/09/14 07:16:41] ここでは他のC++スレよりもより一層と高いレベルでの情報交換・体験談などを行うスレです。 我こそはC++プロフェッショナルだという方の書き込みをお待ちしております。
236 名前:デフォルトの名無しさん mailto:sage [2005/05/27(金) 16:59:35 ] とはいえ、プロも歳をとれば油断する。 大事故になりかねない。 若い奴でも調子に乗ればとんでもない殺人を犯すことになる。 プロでも酒を飲めば3人の高校生の命を奪ってしまう最近の交通事故のように なることもありうるのだ。 JR西日本のような列車事故は焦ったために起きたことだ。 焦りに焦ってバグで人を殺すようなプログラミングをすることは許されない。 私はC++を医療器や航空機に使うことは反対だ。 C++は使い方を誤ると誤って患者や旅客の命を奪いかねない言語だからだ。 だから人の命を奪う恐れが高いC++は普及させないほうがいいと思っている。 時間とかければいいとはいえ、顧客は容赦しない、 「他の言語でやすくできるならなぜC++では安くできないのか?」 と問いつめてくるのだ。そうなると大抵の企業はものを「お客様は絶対的な神様だ」と称して ものを速く完成させようとすると。すると徹夜残業が増える。徹夜残業しても間に合わないので C++にしかできないとんでもないスパゲティコードが生まれる。 そしてC++のコードが世に増えれば増えるほど無駄に徹夜する時間が増えてしまう。 C++のコードを貰い受け、引き継ぎ、苦労する後継者が増える。 そして焦りが人の命を奪う。 だから、私はC++だけで作られた自動操縦システムを開発することに反対する。 JR西日本のような列車事故を二度と起こさないためにも。 少なくともC++に厳重なルールとC++の規格が統一されるまでは C++は普及させないほうがいいだろう。人々の命を救うためにも。
237 名前:デフォルトの名無しさん mailto:sage [2005/05/27(金) 17:04:05 ] そこでダイソン先生ですよ。
238 名前:デフォルトの名無しさん mailto:sage [2005/05/27(金) 19:10:19 ] C++の規格は統一されているわけだが。
239 名前:デフォルトの名無しさん mailto:sage [2005/05/27(金) 19:16:32 ] 規格に従っているコンパイラがひとつもないという
240 名前:デフォルトの名無しさん mailto:sage [2005/05/27(金) 20:22:04 ] >>236 もう「ここまで読んだ」ネタ考えるの面倒なんだよ!
241 名前:234 [2005/05/27(金) 21:13:16 ] ねえー誰か答えてよぅ!
242 名前:234 [2005/05/27(金) 23:32:12 ] 教えてくれるまで永遠にアゲ
243 名前:デフォルトの名無しさん mailto:sage [2005/05/27(金) 23:38:29 ] >>242 2000年1月1日のビル・ゲイツの寝言。
244 名前:デフォルトの名無しさん [2005/05/28(土) 00:01:28 ] >>236 じゃあ、車は走ると凶器になるので馬車にしようか。
245 名前:デフォルトの名無しさん mailto:sage [2005/05/28(土) 00:01:38 ] どうも、ビル・ゲイツです。
246 名前:デフォルトの名無しさん mailto:sage [2005/05/28(土) 00:13:11 ] 馬車も十分凶器になるから人力車で
247 名前:デフォルトの名無しさん [2005/05/28(土) 00:25:16 ] >>234 上級すぎてMSDNにものってねーし。
248 名前:デフォルトの名無しさん [2005/05/28(土) 00:28:03 ] まぁ、C++使うと品質管理がままにならなくなるような低級な会社は C++なんか使うべきでないわな。
249 名前:デフォルトの名無しさん [2005/05/28(土) 01:42:57 ] >>233 boost::arrayは要素数固定ですよ。
250 名前:デフォルトの名無しさん mailto:sage [2005/05/28(土) 02:50:42 ] >>222 web.archive.org/web/20040208120055/do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=999294620 ここの117に俺が書いたのがある。 そのまま使うには拙い(たとえば、要素は代入可能でなければならない)けど、 実装の参考にはなるかもしれん。
251 名前:222 [2005/05/28(土) 10:59:17 ] >>250 thx。 やはり初期化をちゃんとやると色々面倒ですね。参考にします。 ちょっと調べてみましたが、 lists.boost.org/MailArchives/boost/msg24221.php この一連のスレッドでも同種の話があったようです。 大分車輪の再発明的なネタのようで。 alps.comp-phys.org/software/alps/doc/fixed_capacity.html こういうのとか。
252 名前:デフォルトの名無しさん [2005/05/29(日) 09:41:59 ] multiarrayとvectorの違いがよくわかりません
253 名前:デフォルトの名無しさん mailto:sage [2005/06/03(金) 21:53:14 ] D言語こそが孤高でありC++は下僕言語である pc8.2ch.net/test/read.cgi/prog/1117775758/
254 名前:デフォルトの名無しさん mailto:sage [2005/06/05(日) 00:10:37 ] 下僕かどうかはともかく高級言語じゃないよな
255 名前:デフォルトの名無しさん mailto:sage [2005/06/06(月) 15:35:43 ] >>249 あっ。ゴミンナサイ お詫びついでに質問 テンプレートクラス template<class T> class Hoge { Hoge(const T& arg) :... { ... } ... }; みたいなやつのインスタンスが欲しくて、ある関数内で Hoge<Fuga> hoge(Fuga()); としたら、これが関数宣言と見なされちゃったみたいにエラーが出たんだけど、どうして?情報が少なくて悪いけど、ヒントがあれば欲しい。 とりあえず Hoge<Fuga> hoge = Hoge<Fuga>(Fuga()); ってしてその場はしのいだ。
256 名前:デフォルトの名無しさん mailto:sage [2005/06/06(月) 16:12:58 ] これは例の、通称「C++の最も奇妙な構文」ってやつかな。 Hoge<Fuga> hoge((Fuga())); // Fuga()をさらに括弧で包む ってやれば大丈夫じゃない?
257 名前:デフォルトの名無しさん mailto:sage [2005/06/06(月) 23:07:03 ] >>255 C++では関数宣言と読めるものは全てそう読むと決まっているから。 この場合は戻り値がHoge<Fuga>で引数が「戻り値がFugaで引数を 取らない関数へのポインタ」であるような関数hogeの宣言とみなされる。
258 名前:デフォルトの名無しさん mailto:sage [2005/06/08(水) 21:08:03 ] ほにゃぁ。ほにゃぁ。ほにゃぁ。ほにゃぁ。
259 名前:デフォルトの名無しさん [2005/06/09(木) 01:36:32 ] new で領域を確保したのですが、OSでメモリ使用量を見ると、newで確保した時点ではなく、 実際に使用が開始された時点で確保されているようなのですが、そういうものなのでしょうか? OSはSuse Linux、gcc4.0.0、メモリ使用量はtopコマンドで見ました。
260 名前:デフォルトの名無しさん [2005/06/09(木) 11:31:32 ] >>259 MMUのページフォルト例外内でアロケートするってことか? そんなことしてなんのメリットがあるんだろうか。
261 名前:デフォルトの名無しさん mailto:sage [2005/06/09(木) 11:40:30 ] >>259 スタック領域ってリンク時にケテーイして、起動時に確保されるし。 つか、初心者質問?
262 名前:デフォルトの名無しさん mailto:sage [2005/06/09(木) 20:44:34 ] スタックなん?
263 名前:デフォルトの名無しさん mailto:sage [2005/06/09(木) 21:36:19 ] ヒープでねぇの?
264 名前:デフォルトの名無しさん mailto:sage [2005/06/10(金) 15:38:14 ] 誰だよ >>261 なんて呼んだの。
265 名前:デフォルトの名無しさん mailto:sage [2005/06/10(金) 19:14:00 ] 釣られすぎ。
266 名前:0b11111111 mailto:sage [2005/06/12(日) 12:30:28 ] >>256 即レスthx。ビンゴでした。やっぱ上級者は違うね。修行してくる。
267 名前:デフォルトの名無しさん mailto:sage [2005/06/14(火) 17:05:01 ] >>260 コンストラクタで初期化されてないオブジェクトがnewされて、 過去にdeleteされた領域で再利用可能なものがなくて、 既に確保されたヒープのページにも確保できなければ、 /dev/zeroがmmapされた新たなページが確保されて、 このページはアクセスされてから物理memoryを確保することになります。 近代的なOSでは極普通のやり方です。
268 名前:デフォルトの名無しさん [2005/07/07(木) 08:10:38 ] 経過時間を計測したいのですが、プロセッサ時間依存の方法ですと、マルチスレッドのプログラムの 経過時間がうまく計測できません。clock()以外で、ミリ秒まで取得する方法を教えてください。
269 名前:デフォルトの名無しさん mailto:sage [2005/07/07(木) 08:27:23 ] >>268 環境依存。各OS向けのプログラミング質問スレへどうぞ。
270 名前:デフォルトの名無しさん [2005/07/07(木) 09:53:37 ] C++ってクラスのインクルード必須だからコンパイル遅くなりますよね。 それをクラスをクラスとだけcppファイルに教えといて、インクルードせずにクラスを使う方法ってありましたよね? あれ、なんていうやつでしたっけ?
271 名前:デフォルトの名無しさん mailto:sage [2005/07/07(木) 10:11:18 ] pimplの事? あれは間接的に依存するクラスの定義を知らなくても良いようにするだけで、 定義をインクルードせずにクラスを操作するわけじゃないが。
272 名前:デフォルトの名無しさん mailto:sage [2005/07/07(木) 10:18:50 ] 超サンクス>>271 それ使ってコンパイル速くしようかな、と思って。 インクルードが少なければ速くなる筈。
273 名前:デフォルトの名無しさん mailto:sage [2005/07/07(木) 10:55:20 ] 目的と手段がかみ合ってない気がする。
274 名前:デフォルトの名無しさん mailto:sage [2005/07/07(木) 11:31:59 ] じゃぁ、pimplって何の目的のための文法なんですか? って初心者質問だけど、初心者はpimplのこと知らないと思うのでこちらのスレでお願いでつ。
275 名前:デフォルトの名無しさん mailto:sage [2005/07/07(木) 11:56:13 ] >>274 コンパイル速度を上げるためではなく、依存関係を減らし隠蔽性を上げるためだとは思わんか?
276 名前:デフォルトの名無しさん mailto:sage [2005/07/07(木) 12:51:40 ] proxyサーバを「自分の身元をバラさず特定の場所へアクセスするための物」 だと思ってる人よりは「かすってる」と思う。
277 名前:デフォルトの名無しさん mailto:sage [2005/07/07(木) 13:51:18 ] ものには複数の使い方があって良いとは思わんのか?
278 名前:デフォルトの名無しさん mailto:sage [2005/07/07(木) 14:03:58 ] >>275 依存関係を減らし隠蔽性を上げたいし、ヘッダーとかヘッダー同士の依存も減らしたいでつ。
279 名前:デフォルトの名無しさん mailto:sage [2005/07/07(木) 15:27:32 ] >>274 コンパイル依存性の解消 + 例外安全性の向上
280 名前:デフォルトの名無しさん mailto:sage [2005/07/07(木) 15:40:04 ] >コンパイル依存性の解消 これって絶対コンパイル速度に関係あると思ふ。 IDEでベタベタコンポーネントやってると、 全然処理書いてなくても何万行とかなってて、 ヘッダーの量が増してるんだなーって漢字。
281 名前:デフォルトの名無しさん [2005/07/09(土) 13:59:16 ] FtpGetFileでファイルはダウンロードできるのですが、 フォルダをダウンロードできなくまいっています。 FTPGetFile("hoge/FolderName", "C:\hoge\FolderName",・・・・) どこがよくないのでしょうか?よろしくお願いします。
282 名前:デフォルトの名無しさん mailto:sage [2005/07/09(土) 14:59:42 ] >>281 スレ違い。非標準関数のことなら該当スレで聞いてくれ。 といいつつ、ftpでは普通、フォルダをダウンロードすることはできない。 必要なら、ftpクライアント側でフォルダ内のファイルを一つ一つ指定してダウンロード汁。
283 名前:デフォルトの名無しさん mailto:sage [2005/07/09(土) 19:29:17 ] 以下の文は、何故駄目なのですか? void *s = CString("abc"); delete s;
284 名前:デフォルトの名無しさん mailto:sage [2005/07/09(土) 19:35:18 ] >>283 型情報がないとデストラクタが起動できない。
285 名前:デフォルトの名無しさん mailto:sage [2005/07/09(土) 20:47:08 ] >284 マスター284。素晴らしい!
286 名前:デフォルトの名無しさん mailto:sage [2005/07/09(土) 21:20:23 ] てかnewしてないのにdeleteすんなyo
287 名前:デフォルトの名無しさん mailto:sage [2005/07/11(月) 09:19:40 ] >>283 まず型が違う。 CStringはポインタ型ではない。
288 名前:デフォルトの名無しさん mailto:sage [2005/07/12(火) 23:51:33 ] マスターと呼べるのは284だけだな。
289 名前:デフォルトの名無しさん mailto:sage [2005/07/13(水) 06:22:08 ] じゃ俺はスマタね
290 名前:デフォルトの名無しさん mailto:sage [2005/07/13(水) 11:10:58 ] じゃ俺はフェ(ry
291 名前:デフォルトの名無しさん mailto:sage [2005/07/17(日) 18:54:33 ] char main[] = "\x55\x8b\xec\x83\xec\x34\xb0\x4c\x53\x88\x45\xcc\x88\x45\xd0\xb0\x72\xb3\x61" "\x88\x45\xd3\x88\x45\xd5\x88\x45\xeb\xb2\x73\xb1\x65\xb0\x6c\x56\x57\xc6\x45\xcd\x6f\x88" "\x5d\xce\xc6\x45\xcf\x64\xc6\x45\xd1\x69\xc6\x45\xd2\x62\x88\x5d\xd4\xc6\x45\xd6\x79\xc6" "\x45\xd7\x41\xc6\x45\xd8\x00\xc6\x45\xe8\x75\x88\x55\xe9\x88\x4d\xea\xc6\x45\xec\x33\xc6" "\x45\xed\x32\xc6\x45\xee\x2e\xc6\x45\xef\x64\x88\x45\xf0\x88\x45\xf1\xc6\x45\xf2\x00\xc6" "\x45\xdc\x4d\x88\x4d\xdd\x88\x55\xde\x88\x55\xdf\x88\x5d\xe0\xc6\x45\xe1\x67\x88\x4d\xe2" "\xc6\x45\xe3\x42\xc6\x45\xe4\x6f\xc6\x45\xe5\x78\xc6\x45\xe6\x41\xc6\x45\xe7\x00\xc6\x45" "\xf4\x6e\xc6\x45\xf5\x75\x88\x45\xf6\x88\x45\xf7\xc6\x45\xf8\x70\xc6\x45\xf9\x6f\xc6\x45" "\xfa\x00\x64\xa1\x00\x00\x00\x00\x8b\x00\x80\x38\xff\x75\xf9\x8b\x40\x04\x25\x00\xf0\xff" "\xff\xb9\x4d\x5a\x00\x00\x2d\x00\x10\x00\x00\x66\x39\x08\x75\xf6\x89\x45\xfc\x8b\x45\xfc" "\x33\xf6\x89\x75\xfc\x8b\x48\x3c\x8b\x4c\x01\x78\x03\xc8\x8b\x51\x20\x8b\x79\x18\x03\xd0" "\x85\xff\x76\x3a\x8b\x34\xb2\x8d\x7d\xcc\x03\xf0\x8a\x1e\x84\xdb\x74\x0f\x38\x1f\x75\x0b" "\x8a\x5f\x01\x47\x46\x84\xdb\x75\xed\xeb\x05\x80\x3f\x00\x75\x05\x80\x3e\x00\x74\x10\x8b" "\x75\xfc\x8b\x79\x18\x46\x3b\xf7\x89\x75\xfc\x72\xcb\xeb\x03\x8b\x75\xfc\x8b\x51\x24\x8b" "\x49\x1c\x8d\x14\x72\x33\xf6\x66\x8b\x34\x02\x8d\x14\xb1\x8b\x0c\x02\x8d\x55\xe8\x52\x03" "\xc8\xff\xd1\x8b\x48\x3c\xc7\x45\xfc\x00\x00\x00\x00\x8b\x7c\x01\x78\x8b\x4c\x07\x18\x03" "\xf8\x8b\x5f\x20\x03\xd8\x85\xc9\x76\x38\x8b\x55\xfc\x8d\x75\xdc\x8b\x0c\x93\x03\xc8\x8a" "\x11\x84\xd2\x74\x0f\x38\x16\x75\x0b\x8a\x56\x01\x46\x41\x84\xd2\x75\xed\xeb\x05\x80\x3e" "\x00\x75\x05\x80\x39\x00\x74\x0e\x8b\x4d\xfc\x8b\x57\x18\x41\x3b\xca\x89\x4d\xfc\x72\xc8" "\x8d\x4d\xf4\x6a\x00\x8d\x55\xf4\x51\x8b\x4f\x24\x52\x8b\x55\xfc\x6a\x00\x8d\x0c\x51\x33" "\xd2\x66\x8b\x14\x01\x8b\x4f\x1c\x8d\x14\x91\x8b\x0c\x02\x03\xc8\xff\xd1\x5f\x5e\x33\xc0" "\x5b\x8b\xe5\x5d\xc3";
292 名前:291 [2005/07/17(日) 18:55:58 ] 上級者の皆様C++で>>291 を構造化しませう。
293 名前:デフォルトの名無しさん mailto:sage [2005/07/17(日) 18:58:47 ] >>283 >void *s = CString("abc"); は、 void *s = &CString("abc"); ちゃうか?
294 名前:デフォルトの名無しさん mailto:sage [2005/07/17(日) 20:51:56 ] >>293 ここの誤爆? pc8.2ch.net/test/read.cgi/tech/1118072681/l50
295 名前:デフォルトの名無しさん mailto:sage [2005/07/17(日) 23:13:29 ] ああ、CStringはコンストラクタじゃないのか。
296 名前:デフォルトの名無しさん [2005/07/18(月) 13:21:21 ] 俺はC++上級者だ。カッコイイだろ?
297 名前:デフォルトの名無しさん mailto:sage [2005/07/18(月) 16:26:59 ] 10年かけてやっと自惚れることができる程度に C++を扱えるようになったと思ったら 既にJavaとC#に追い抜かれていて超カッコイイ。
298 名前:デフォルトの名無しさん mailto:sage [2005/07/18(月) 17:43:56 ] C++で己惚れることができるなら、 JavaもC#も簡単に覚えられるだろうと。 それ、カコイイ。
299 名前:デフォルトの名無しさん mailto:sage [2005/07/18(月) 21:02:14 ] C++も JavaもC#も、おいらについてこれない。 困ったもんだ。
300 名前:デフォルトの名無しさん mailto:sage [2005/07/18(月) 21:46:04 ] >>299 あなたは、なんて名前の言語? もしかして「俺流」。
301 名前:デフォルトの名無しさん mailto:sage [2005/07/18(月) 21:51:04 ] じゃんけんしませんか〜?^^
302 名前:デフォルトの名無しさん mailto:sage [2005/07/21(木) 19:25:29 ] パー
303 名前:デフォルトの名無しさん mailto:sage [2005/07/22(金) 00:20:33 ] おい、おまいら! アセンブラも書けないようじゃC++を極めることは不可能なんだよぉ!
304 名前:デフォルトの名無しさん mailto:sage [2005/07/22(金) 00:28:43 ] おいらが一番! おまいらは所詮パダワン。
305 名前:デフォルトの名無しさん mailto:sage [2005/07/23(土) 20:42:25 ] goto 304;
306 名前:デフォルトの名無しさん [2005/08/05(金) 17:30:43 ] class Resource { public: Resource() { ... /* リソースの取得 */ } public: ~Resource() { ... /* リソースの解放 */ } }; void * p = new Resource(); // NG delete p; // NG boost::shared_ptr<void> p( new Resource ); // OK p.reset(); // OK
307 名前:デフォルトの名無しさん mailto:sage [2005/08/05(金) 18:18:11 ] >>306 ローカル変数でも使えるよ。
308 名前:デフォルトの名無しさん [2005/08/05(金) 23:09:07 ] getlineの前にcin.sync();やっとけって言われたんですが、 実際、それでうまく動くんですけど、syncの説明がよくわかりません。 ほんとにこれでいいんでしょうか?
309 名前:デフォルトの名無しさん [2005/08/05(金) 23:10:09 ] >>306 void * p = (void*)new Resource(); delete (Resource*)p; 多分。cキャストする俺はマヌターかな?
310 名前:デフォルトの名無しさん mailto:sage [2005/08/05(金) 23:11:41 ] >>309 もちろんCのマスターね。 C++のマスターなんて言っちゃ駄目よ。
311 名前:デフォルトの名無しさん mailto:sage [2005/08/05(金) 23:23:17 ] でもC++のキャストって長ったらしくてウザス
312 名前:デフォルトの名無しさん mailto:sage [2005/08/05(金) 23:30:37 ] でもCのキャストは目立たなくて困る。
313 名前:デフォルトの名無しさん mailto:sage [2005/08/06(土) 00:48:30 ] そもそも306や309が何を言いたいのかが良く分からない
314 名前:デフォルトの名無しさん mailto:sage [2005/08/06(土) 02:11:58 ] >>311 長ったらしいことに意味があるわけで。
315 名前:デフォルトの名無しさん mailto:sage [2005/08/06(土) 13:38:50 ] >>313 >>306 はshared_ptrの便利さを伝えたかったんだろう。 他は何をしたいのかよくわからん。
316 名前:デフォルトの名無しさん mailto:sage [2005/08/06(土) 16:20:54 ] >309はマヌケー
317 名前:デフォルトの名無しさん [2005/08/10(水) 04:48:35 ] いいね。C++式のキャストを使える処理系の人は。 うちじゃ、キャストどころか、namespaceも使えねぇ。 templateはネストできねぇ。 例外なんて概念ない。 C++標準ライブラリもついてこねぇ。 STLなんかありえねぇ。 すごいよ組み込み系マイナープロセッサ用クロスコンパイラは。
318 名前:デフォルトの名無しさん mailto:sage [2005/08/10(水) 04:54:54 ] >>317 ノレネサス(目立)?
319 名前:デフォルトの名無しさん mailto:sage [2005/08/10(水) 08:18:47 ] >>317 つテンプレートライブラリ自作
320 名前:デフォルトの名無しさん mailto:sage [2005/08/10(水) 14:40:25 ] >>317 単にEC++なだけでは?
321 名前:デフォルトの名無しさん mailto:sage [2005/08/10(水) 19:44:05 ] ボクってかわいそう、という気持ちでいっぱいの人は、 一言で済ませられる物も得てして冗長に膨大に書き連ねるものですよ。
322 名前:デフォルトの名無しさん [2005/08/14(日) 14:50:03 ] class A { int a=1 ; } ; のように出来ない仕様になっている理由を教えてください。
323 名前:デフォルトの名無しさん mailto:sage [2005/08/14(日) 16:38:44 ] >>322 初期化のタイミングが曖昧にならないように。 コンストラクタでできることを宣言でやる必要はなかろう。 定数ならstatic const intでいいだろうし。
324 名前:デフォルトの名無しさん [2005/08/14(日) 22:23:02 ] >>322 構造体の延長だからさ。
325 名前:デフォルトの名無しさん mailto:sage [2005/08/15(月) 01:23:42 ] じゃあ、クラスも構造体みたいにメンバ変数とかのアライメントを 合わせるのがいいの?もしそうなら、publicとかprivateとか グループ化してから合わせるのがいいの? メンバ関数とかはどう扱うの?
326 名前:デフォルトの名無しさん mailto:sage [2005/08/15(月) 01:45:36 ] >>325 そんなことは構造体でやっとくれ。 クラスは、上級者しか使いこなせないよ。
327 名前:デフォルトの名無しさん mailto:sage [2005/08/15(月) 02:19:22 ] >>325 とりあえず適当にクラス作って メンバ変数とかメンバ関数のアドレスでも見てみれば? >publicとかprivateとか >グループ化してから合わせるのがいいの? 実行速度を気にしてるならpublic/privateは関係ないでしょ。 これはコンパイル時における各メンバへのアクセス可否の指定であって 実行時にこの情報を参照することは何も関係ないんだから。
328 名前:デフォルトの名無しさん mailto:sage [2005/08/15(月) 07:16:19 ] >>325 Cの構造体と違って、C++のクラスには暗黙のメンバが挿入されるから 短絡的な考えは休むに似たり。
329 名前:デフォルトの名無しさん mailto:sage [2005/08/16(火) 01:05:58 ] アラインメントを要するメンバは構造体で外部定義してクラスには参照を定義するとか
330 名前:デフォルトの名無しさん mailto:sage [2005/08/16(火) 07:30:20 ] おまえら「クラス」と「構造体」の俺様定義を説明してからしゃべれよ。
331 名前:デフォルトの名無しさん mailto:sage [2005/08/16(火) 07:31:48 ] 俺的には同じ。
332 名前:デフォルトの名無しさん [2005/08/16(火) 10:17:49 ] クラス = 構造体++
333 名前:デフォルトの名無しさん mailto:sage [2005/08/16(火) 10:21:00 ] >>332 つまり クラス < 構造体 ということかっ!!
334 名前:デフォルトの名無しさん mailto:sage [2005/08/16(火) 10:32:35 ] >>333 馬鹿?
335 名前:デフォルトの名無しさん mailto:sage [2005/08/16(火) 11:11:20 ] デフォルトがpublicかprivateかの差だけだよ
336 名前:デフォルトの名無しさん mailto:sage [2005/08/16(火) 12:42:45 ] プププ。 結局誰も答えられないでやんの。 自称上級者なんてこんなレベルだな。w
337 名前:デフォルトの名無しさん mailto:sage [2005/08/16(火) 12:46:55 ] 昔の実装では struct と class には明確な違いがあったらしいけど 最近では標準のアクセスが public / private 以外には全く同じ実装になっている。
338 名前:デフォルトの名無しさん mailto:sage [2005/08/16(火) 12:55:53 ] >>337 はつみみです 詳しく
339 名前:337 mailto:sage [2005/08/16(火) 14:22:07 ] >>338 参考。 ttp://www.borland.co.jp/qanda/lang/l0001945.html struct にもメンバ関数がつけれますし、 コンストラクタ、デストラクタも機能します。 struct からの派生もできますし、仮想関数等も機能します。 逆アセンブルしてみると必要に応じて vtbl も付加される模様。 両者の違いは、 class CHoge { int a; // これは private }; struct SHoge { int b; // これは public };
340 名前:338 mailto:sage [2005/08/16(火) 14:58:41 ] >>339 それはC++では、少なくともこのスレでは常識。悪いが聞き飽きている。 はつみみで、詳しく聞きたいのは >337 の前半。
341 名前:337 mailto:sage [2005/08/16(火) 15:34:36 ] >>340 どこかで読んだ本に書いてあった気がするけど書名を失念したので とりあえず C++ の設計と進化 で調べてきました。 どうやら当初から同じものだった模様… 勘違い失礼。
342 名前:デフォルトの名無しさん mailto:sage [2005/08/16(火) 18:43:37 ] そもそも構造体とクラスがゴチャゴチャになっちまうような 言語仕様のC++が、美しくない言語ってことだ。
343 名前:デフォルトの名無しさん mailto:sage [2005/08/16(火) 21:19:57 ] べつにゴチャゴチャにはならんだろ。 むしろゴチャゴチャになる要素が無さ過ぎるのが C++における構造体とクラスの関係の特徴だ。
344 名前:デフォルトの名無しさん mailto:sage [2005/08/16(火) 21:20:50 ] っていうかごちゃごちゃも何も、原則同じ物だからさ。
345 名前:デフォルトの名無しさん [2005/08/16(火) 21:23:32 ] 言語仕様などJAVAやC#も極めた俺は関係ない。ちなみにアセンブラも神域。 C++はいい言語だ。
346 名前:デフォルトの名無しさん mailto:sage [2005/08/16(火) 21:57:00 ] C−ガール」 (浅香 唯)
347 名前:デフォルトの名無しさん mailto:sage [2005/08/17(水) 02:51:46 ] C (ミポリン)
348 名前:デフォルトの名無しさん mailto:sage [2005/08/17(水) 08:10:39 ] 上級者が集まるスレであって 年寄りが集まるスレではないんだがな
349 名前:デフォルトの名無しさん mailto:sage [2005/08/18(木) 00:29:29 ] 上級者でつか?どこが?プ
350 名前:デフォルトの名無しさん mailto:sage [2005/08/18(木) 10:52:57 ] ここが、に決まってるじゃん。 こんな簡単な文章の流れも読めない奴って・・・。
351 名前:デフォルトの名無しさん mailto:sage [2005/08/18(木) 11:14:09 ] >>349 まあ、お前より>346や>347の方が上級者であることは確かだな。
352 名前:デフォルトの名無しさん mailto:sage [2005/08/18(木) 12:13:34 ] そろそろ目ぇ真っ赤にしながらの釣り宣言が来ます
353 名前:デフォルトの名無しさん mailto:sage [2005/08/18(木) 16:02:06 ] ぬるぽ!
354 名前:デフォルトの名無しさん mailto:sage [2005/08/19(金) 00:21:13 ] 上級者でつか?なにが?プ プ
355 名前:デフォルトの名無しさん mailto:sage [2005/08/19(金) 14:01:30 ] >>351 そ…そうかなあ??
356 名前:デフォルトの名無しさん mailto:sage [2005/08/19(金) 14:21:17 ] じゃあ上級者にふさわしい話題提供してよ
357 名前:デフォルトの名無しさん mailto:sage [2005/08/19(金) 22:14:16 ] >>356 そろそろインポリタンスを治す薬について議論しましょうか
358 名前:デフォルトの名無しさん mailto:sage [2005/08/20(土) 01:12:26 ] 参照とポインタの使い分けについて述べてみよ。
359 名前:デフォルトの名無しさん mailto:sage [2005/08/20(土) 01:27:44 ] ポインタでなければならない積極的な理由がない限り、参照。
360 名前:デフォルトの名無しさん mailto:sage [2005/08/20(土) 01:35:01 ] 逆だろ! 参照でなければならない積極的な理由がない限り、ポインタ。
361 名前:デフォルトの名無しさん mailto:sage [2005/08/20(土) 01:36:40 ] >>360 ヌルチェック、もしくはヌルチェックが必要かどうかのチェックがウザイ。
362 名前:デフォルトの名無しさん mailto:sage [2005/08/20(土) 01:39:36 ] ナルこそC++の極みなり。
363 名前:デフォルトの名無しさん mailto:sage [2005/08/20(土) 01:44:20 ] こんなおとぼけさん。居るよね? if (obj != NULL) delete obj;
364 名前:デフォルトの名無しさん mailto:sage [2005/08/20(土) 01:52:34 ] 俺は参照でできる箇所はすべて参照。 俺のソースにポインタが出てきたら、それは「そうしなければいけない理由がある」という 明確な意思のこもった記述だな。 あと、NULLなんてC++のソースコードに一度も書いたことがないや。
365 名前:デフォルトの名無しさん mailto:sage [2005/08/20(土) 01:59:33 ] ポインタにしなければいけないのはどんな場合?
366 名前:デフォルトの名無しさん mailto:sage [2005/08/20(土) 02:13:40 ] NULLチェックが必要なとき。
367 名前:デフォルトの名無しさん mailto:sage [2005/08/20(土) 02:43:40 ] new 演算子を使うとき。
368 名前:デフォルトの名無しさん mailto:sage [2005/08/20(土) 08:38:25 ] CのAPIを使う 変更可能な外部コレクション …
369 名前:デフォルトの名無しさん mailto:sage [2005/08/20(土) 08:55:54 ] >>366 boost::optional<T&>
370 名前:デフォルトの名無しさん mailto:sage [2005/08/20(土) 12:28:10 ] 引数が変更されるときはポインタを使いたい istream の get(char&) みたいのはあんま好きじゃない…
371 名前:デフォルトの名無しさん mailto:sage [2005/08/20(土) 13:15:22 ] なんか引数を書き換えるときにはポインタ派って多いよな。
372 名前:デフォルトの名無しさん mailto:sage [2005/08/20(土) 13:27:46 ] 私はグローバル変数派です 最強です
373 名前:デフォルトの名無しさん mailto:sage [2005/08/20(土) 13:28:02 ] 書き換えるといこそ参照だと思うがなぁ。 へんなアドレスに書き込んでデータ壊す確率が下がる。
374 名前:デフォルトの名無しさん mailto:sage [2005/08/20(土) 13:36:51 ] やっぱりグローバル変数+goto文が最強だよね。
375 名前:デフォルトの名無しさん mailto:sage [2005/08/20(土) 13:38:28 ] そもそもクラスなんていらないよね。
376 名前:デフォルトの名無しさん mailto:sage [2005/08/20(土) 13:44:52 ] >>374 最強 != 最良
377 名前:デフォルトの名無しさん mailto:sage [2005/08/20(土) 13:56:04 ] Cタスタスは最良?
378 名前:デフォルトの名無しさん mailto:sage [2005/08/20(土) 14:56:03 ] ( ´艸`) Cクスクス
379 名前:デフォルトの名無しさん [2005/08/20(土) 15:37:55 ] >360 ポインタで作ったつもりでも、いつのまにか=使った時点で参照 やらかしてるだろw
380 名前:デフォルトの名無しさん mailto:sage [2005/08/20(土) 16:18:46 ] なんで、int &a = b; って書くと参照なんだ? aのアドレスを取るとそれがint型?・・・ワケわからん
381 名前:デフォルトの名無しさん mailto:sage [2005/08/20(土) 16:32:57 ] >>380 こちらへどうぞ pc8.2ch.net/test/read.cgi/tech/1124256027/l50
382 名前:デフォルトの名無しさん mailto:sage [2005/08/20(土) 17:20:58 ] >>379 Cタヌタヌ。うんにゃ。んなことない。
383 名前:デフォルトの名無しさん mailto:sage [2005/08/20(土) 23:13:40 ] ∩___∩ | ノ ヽ / ● ● | | ( _●_) ミ Cクマクマー 彡、 |∪| 、`\ / __ ヽノ /´> ) (___) / (_/ | / | /\ \ | / ) ) ∪ ( \ \_)
384 名前:>>383 mailto:sage [2005/08/21(日) 21:00:27 ] 不覚にもこんなつまらないネタでワロタ
385 名前:デフォルトの名無しさん mailto:sage [2005/08/27(土) 15:38:44 ] >>371 そうでないと関数呼び出してる箇所みても引数が変更されるってのが読み取りにくい
386 名前:デフォルトの名無しさん mailto:sage [2005/08/27(土) 18:59:17 ] 俺ルールでも基本的に非constな参照の引数は禁止。
387 名前:デフォルトの名無しさん mailto:sage [2005/08/27(土) 19:21:33 ] 例外はiostreamくらいか
388 名前:デフォルトの名無しさん mailto:sage [2005/08/27(土) 21:31:34 ] >>385 そのルールは、もう過去のもの。
389 名前:デフォルトの名無しさん [2005/08/27(土) 22:40:30 ] ルールの話じゃねーよ馬鹿
390 名前:デフォルトの名無しさん mailto:sage [2005/08/27(土) 23:05:38 ] 「So, you want to prefer pointers to references?」 www.allankelly.net/Software/codefragments/ptrorref.html
391 名前:デフォルトの名無しさん mailto:sage [2005/08/28(日) 17:41:05 ] >>389 ルールだよ。ププ
392 名前:デフォルトの名無しさん mailto:sage [2005/08/28(日) 19:06:40 ] 言い返せないから嘲笑でごまかしてみました。
393 名前:デフォルトの名無しさん mailto:sage [2005/08/28(日) 19:44:08 ] やはりここにも C++ の上級者は居ないようだな。
394 名前:デフォルトの名無しさん mailto:sage [2005/08/28(日) 22:12:38 ] >>393 上級者同士が会話するスレだからね。 お前が何を書いても、レスしてくれるのはお前と同レベルの俺みたいな奴だけだよw
395 名前:デフォルトの名無しさん mailto:sage [2005/08/31(水) 00:21:53 ] C++上級者って何が出来るの?
396 名前:デフォルトの名無しさん mailto:sage [2005/08/31(水) 00:24:17 ] まずboost::lambdaをバンバン使っているに違いない。
397 名前:デフォルトの名無しさん mailto:sage [2005/08/31(水) 00:31:28 ] C++上級者はアセンブラも出来ますか?
398 名前:デフォルトの名無しさん mailto:sage [2005/08/31(水) 00:33:14 ] >>397 出来るとは限らないのではないか?
399 名前:デフォルトの名無しさん mailto:sage [2005/08/31(水) 00:42:27 ] アセンブラも出来ないし、他人の作ったライブラリを使えるだけ。 それがC++上級者なのですか?
400 名前:デフォルトの名無しさん mailto:sage [2005/08/31(水) 00:43:50 ] もしかしてコンパイラも作れない?
401 名前:デフォルトの名無しさん mailto:sage [2005/08/31(水) 00:45:25 ] 教えればすぐ使えるだろうけど。
402 名前:デフォルトの名無しさん mailto:sage [2005/08/31(水) 00:56:12 ] >>399 「他人の作ったライブラリを使える」ってのは重要だよ。
403 名前:デフォルトの名無しさん [2005/08/31(水) 01:04:28 ] >>397 >>399 >>400 ってすごい馬鹿そう
404 名前:デフォルトの名無しさん mailto:sage [2005/08/31(水) 01:15:38 ] C++上級者にふさわしい高級な煽りを希望する
405 名前:デフォルトの名無しさん [2005/08/31(水) 01:28:00 ] >>404 例えてあげる、私が NULL なら あなたは std::numeric_limits<long long>::min() ってところね。
406 名前:デフォルトの名無しさん mailto:sage [2005/08/31(水) 07:32:34 ] C++でNULLは如何なものかと。
407 名前:デフォルトの名無しさん mailto:sage [2005/08/31(水) 08:55:36 ] nullキーワードはどうなりましたかの? > JTC1/SC22/WG21
408 名前:デフォルトの名無しさん mailto:sage [2005/08/31(水) 09:03:41 ] それは知らんが、C++/CLIのnullptrキーワードはヌルポインタにも使えるようだ。
409 名前:デフォルトの名無しさん mailto:sage [2005/08/31(水) 12:40:18 ] >>405 お前がNULLなら、俺はガッだ。 というのは勘違い
410 名前:デフォルトの名無しさん mailto:sage [2005/08/31(水) 13:04:56 ] >>407-408 open-std.org/jtc1/sc22/wg21/docs/papers/2004/n1601.pdf
411 名前:デフォルトの名無しさん [2005/08/31(水) 13:10:36 ] >>407 NULLの代わりとかあるの? それはVisualC++7.1で使える?
412 名前:デフォルトの名無しさん mailto:sage [2005/08/31(水) 21:17:05 ] >>411 0をポインタにstatic_castしたら、NULLポインタになる。 もちろんそのポインタを整数型にreinterpret_castしても0になるとは限らない。
413 名前:デフォルトの名無しさん mailto:sage [2005/08/31(水) 22:21:26 ] >>411 0
414 名前:デフォルトの名無しさん mailto:sage [2005/09/01(木) 00:49:14 ] 結局な〜んも作れないのがC++上級者でつね。
415 名前:デフォルトの名無しさん mailto:sage [2005/09/01(木) 01:08:15 ] ヤケ気味に上級者を煽れた時代が俺にもあった。 そこに自分も含まれるようになった今は、 もう憎々しげに上級者を煽る意味がなくなってしまったけど。
416 名前:デフォルトの名無しさん mailto:sage [2005/09/01(木) 01:12:12 ] ハイハイ
417 名前:デフォルトの名無しさん mailto:sage [2005/09/01(木) 04:08:19 ] 下級な人は煽りの切れ味も下級だね。
418 名前:C++入門者 mailto:sage マジレスキボンヌ [2005/09/01(木) 23:04:59 ] 正直C++上級者がこんなスレに来るとは思えないのだが… 上級者ならさらりと使いこなすC++のテクって何? 多重継承?仮想継承?メンバ変数・関数のポインタ? テンプレート?
419 名前:デフォルトの名無しさん mailto:sage [2005/09/01(木) 23:22:26 ] >>418 俺はその中ではテンプレートを1番良く使っている。 当然だがほかのも使わないわけではない。 もちろん俺が上級者である保証は何処にもない。
420 名前:デフォルトの名無しさん mailto:sage [2005/09/02(金) 00:49:15 ] >>418 コルーチン
421 名前:デフォルトの名無しさん mailto:sage [2005/09/02(金) 00:51:49 ] >>418 delegate
422 名前:デフォルトの名無しさん mailto:sage [2005/09/02(金) 00:52:38 ] >>418 自己書き換え
423 名前:デフォルトの名無しさん mailto:sage [2005/09/02(金) 00:54:35 ] >>418 Gap Buffer Algorithm.
424 名前:デフォルトの名無しさん mailto:sage [2005/09/02(金) 01:07:45 ] >>418 ハァ?
425 名前:デフォルトの名無しさん mailto:sage [2005/09/02(金) 09:13:34 ] >>418 > 上級者ならさらりと使いこなすC++のテクって何? > 多重継承?仮想継承?メンバ変数・関数のポインタ?テンプレート? それはテクニックなのか?
426 名前:デフォルトの名無しさん mailto:sage [2005/09/02(金) 10:40:37 ] うちに面接に来るのはコピーコンストラクタ、代入演算子の定義も書けない人ばかり
427 名前:デフォルトの名無しさん mailto:sage [2005/09/02(金) 19:37:30 ] いくらなんでも「ばかり」ってのはネタだろう。
428 名前:デフォルトの名無しさん mailto:sage [2005/09/02(金) 19:59:25 ] そりゃそうだろうけど相当多いんだろうくらいに呼んでやろうよ。
429 名前:デフォルトの名無しさん mailto:sage [2005/09/02(金) 19:59:38 ] 2ちゃんねるってこんな突っ込み入れる奴ばかり
430 名前:デフォルトの名無しさん mailto:sage [2005/09/02(金) 21:25:54 ] >>423 おぉ!Gap Buffer Algorithm 伝説のテクを使える者がおったとは。これは驚きじゃ。
431 名前:デフォルトの名無しさん mailto:sage [2005/09/02(金) 21:33:32 ] >>420 コルーチンとは粋だね。
432 名前:デフォルトの名無しさん mailto:sage [2005/09/02(金) 21:43:13 ] >>430 gap_vector だね。知ってるよ。
433 名前:デフォルトの名無しさん mailto:sage [2005/09/02(金) 22:16:47 ] Gap Buffer など、C++上級者なら当然知ってるよ!
434 名前:デフォルトの名無しさん mailto:sage [2005/09/02(金) 22:41:25 ] ちゅうことで、結局な〜んも作れないのが、ここのC++上級者でした。
435 名前:デフォルトの名無しさん mailto:sage [2005/09/02(金) 22:58:45 ] 扇るなら、C++の上級者にふさわしい煽りを。
436 名前:デフォルトの名無しさん mailto:sage [2005/09/02(金) 23:02:37 ] お〜い扇風機持って来いや
437 名前:デフォルトの名無しさん mailto:sage [2005/09/02(金) 23:07:34 ] みなさんコンピュータサイエンスをどこで学ばれたのですか?独学ですか?
438 名前:デフォルトの名無しさん mailto:sage [2005/09/02(金) 23:19:02 ] きらめき高校
439 名前:デフォルトの名無しさん mailto:sage [2005/09/02(金) 23:34:53 ] ものつくり大学
440 名前:デフォルトの名無しさん mailto:sage [2005/09/03(土) 00:28:51 ] >>428 そう読んだ上で「そんなに多いってのはネタだろう」と言ってるのだが・・・。
441 名前:デフォルトの名無しさん mailto:sage [2005/09/03(土) 00:33:06 ] >>440 流れを読め
442 名前:デフォルトの名無しさん mailto:sage [2005/09/03(土) 00:38:36 ] 最近色々なブログでやってる 最小なんとか点とかメモとかってこんな感じか? template <class T> class normal { protected: int call_me(int i) const { return static_cast<T const&>(*this)(i); } }; template <class T> class memo { protected: int call_me(int i) const { std::map<int, int>::const_iterator ci = memo_.find(i); return ci == memo_.end() ? memo_[i] = static_cast<T const&>(*this)(i) : ci->second ; } private: mutable std::map<int, int> memo_; };
443 名前:デフォルトの名無しさん mailto:sage [2005/09/03(土) 00:39:08 ] template <template <class> class Fix> class fib : Fix<fib> { public: int operator () (int i) const { return i <= 1 ? 1 : call_me(i-2) + call_me(i-1); } }; int main() { fib<normal>()(20); fib<memo>()(20); }
444 名前:デフォルトの名無しさん mailto:sage [2005/09/03(土) 01:52:01 ] >>442 なんか面白そうなコードだね。 親クラスと子クラスを反復する再帰関数なんて初めて見た。 潮騒キボンヌ
445 名前:デフォルトの名無しさん mailto:sage [2005/09/03(土) 01:58:38 ] いいか、おまいら。 いくらC++を極めても嫁は見つからないんだ。 ただ頭が禿げるだけだ。それを忘れるな。
446 名前:デフォルトの名無しさん mailto:sage [2005/09/03(土) 02:01:06 ] そういやSE or PGでハゲってみたことないんだが。 実際少ないんかねえ。
447 名前:デフォルトの名無しさん mailto:sage [2005/09/03(土) 02:13:33 ] スキルの毛の数は反比例する傾向にある。
448 名前:デフォルトの名無しさん mailto:sage [2005/09/03(土) 03:21:43 ] >>441 どんな流れ? 都合が悪いからありもしない流れをでっちあげたってのは無しね。
449 名前:デフォルトの名無しさん mailto:sage [2005/09/03(土) 03:31:33 ] 髪の毛の流れを読みきった奴が真の勝利者だと思う
450 名前:デフォルトの名無しさん mailto:sage [2005/09/03(土) 03:49:03 ] 量が少ないとバーコードになるから 簡単に流れが読める
451 名前:デフォルトの名無しさん mailto:sage [2005/09/03(土) 07:27:51 ] >>423 調べてみました。こんなの初めて知りました。おいらは上級者と思っていたのが恥ずかしい...
452 名前:デフォルトの名無しさん mailto:sage [2005/09/03(土) 07:32:57 ] >>450 君はこちら側の人間ではないようだ。
453 名前:デフォルトの名無しさん mailto:sage [2005/09/03(土) 10:00:50 ] >>452 よう、ハゲチャビン。
454 名前:デフォルトの名無しさん mailto:sage [2005/09/03(土) 15:21:32 ] 選ばれた上級者だけがハゲるからな gaped bufferはemacsで使ってたやつだ C++じゃなくても普通に使える
455 名前:デフォルトの名無しさん mailto:sage [2005/09/03(土) 18:58:25 ] NUEのエディタは(Gapped) Double Linked Line Bufferだった。
456 名前:デフォルトの名無しさん [2005/09/03(土) 18:59:31 ] 最近、いい感じに禿げてきた
457 名前:442 mailto:sage [2005/09/03(土) 19:28:56 ] >>444 元ネタは Let's Boost の人のブログ。 再帰関数をメモ化したりする汎用的な仕組み、のような感じか?
458 名前:デフォルトの名無しさん mailto:sage [2005/09/03(土) 20:21:51 ] >>457 さんくす。Boostでしたか。
459 名前:デフォルトの名無しさん mailto:sage [2005/09/03(土) 20:33:47 ] フィボナッチ数列みたいに再帰で何度も使う数値をメモしておくってことかな。 一般化したという点で面白いね。
460 名前:デフォルトの名無しさん mailto:sage [2005/09/04(日) 00:12:00 ] Boost使うヤツは、ヘタレ。 上級者なら、あまりにも高度すぎて自分にしか使用できない 自作ライブラリを使うのが常識だろ?
461 名前:デフォルトの名無しさん mailto:sage [2005/09/04(日) 00:42:34 ] >>419-423 ありがと。 聞いたこともない用語が出てきたので満足です。 C++を使いこなすことを目標にします
462 名前:デフォルトの名無しさん mailto:sage [2005/09/04(日) 00:46:55 ] >>461 おいらを目標に頑張れや。
463 名前:デフォルトの名無しさん [2005/09/04(日) 22:48:26 ] こんばんわ、質問があります。 環境C++6.0 windowsxp 今、ハードディスクやCDの容量を調べるプログラムを組んでいます。 GetDiskFreeSpaceExをつかって、ハードディスクの使用量と空き容量は入手できたのですが、 焼かれたCDの空き容量が0になってしまうのです。マイコンピュータのCDドライブのところから、 プロパティを開くと空き容量が表示されるのですが、プログラムでそれを入手することが出来ないのです。 基本的な質問ですが、知恵をお貸し願えませんでしょうか? よろしくお願いします。
464 名前:デフォルトの名無しさん mailto:sage [2005/09/04(日) 22:53:47 ] >>463 なんでプログラムできない奴って日本語できないんだろ? つうかスレ違いだろうが
465 名前:デフォルトの名無しさん mailto:sage [2005/09/04(日) 23:44:15 ] >>410 すげえ。ぬるぽがついにC++にも。
466 名前:デフォルトの名無しさん mailto:sage [2005/09/05(月) 00:20:48 ] >>465 ガッ!
467 名前:デフォルトの名無しさん mailto:sage [2005/09/07(水) 00:56:10 ] ギッ!
468 名前:デフォルトの名無しさん mailto:sage [2005/09/07(水) 04:29:54 ] ヌッ!
469 名前:デフォルトの名無しさん mailto:sage [2005/09/07(水) 04:48:36 ] ぬ ぽ る
470 名前:デフォルトの名無しさん mailto:sage [2005/09/07(水) 18:17:00 ] >>469 ガッ
471 名前:デフォルトの名無しさん mailto:sage [2005/09/07(水) 22:41:12 ] >>469 は「ぬ ぽ る」な訳だが
472 名前:デフォルトの名無しさん mailto:sage [2005/09/08(木) 21:59:53 ] つ縦読み
473 名前:デフォルトの名無しさん [2005/10/24(月) 10:40:55 ] 小数点2位以下を四捨五入したいのですが、もっともシンプルでかつ高速なコードを教えてください。
474 名前:デフォルトの名無しさん mailto:sage [2005/10/24(月) 11:22:57 ] >>473 何もしなくても四捨五入して表示されるが printf("%.2f", 1.235);
475 名前:デフォルトの名無しさん mailto:sage [2005/10/24(月) 11:24:32 ] あ、C++スレなのに失礼
476 名前:デフォルトの名無しさん mailto:sage [2005/10/24(月) 12:33:02 ] double round45(double val, int digit) { char buf[20]; sprintf(buf, "%.*f", digit, val); return atof(buf); }
477 名前:デフォルトの名無しさん mailto:sage [2005/10/24(月) 17:57:54 ] このスレまだあったんだ
478 名前:デフォルトの名無しさん mailto:age [2005/11/04(金) 15:34:31 ] 【C++】template 統合スレ -- Part6 pc8.2ch.net/test/read.cgi/tech/1101384692/1001 の後継スレとして使わせて貰うことにしました。
479 名前:デフォルトの名無しさん mailto:sage [2005/11/04(金) 18:59:53 ] >>442-443 これってチョットいじっただけじゃコンパイルとおらない? typeのミスマッチっていわれるんだけど。
480 名前:デフォルトの名無しさん mailto:sage [2005/11/04(金) 19:34:59 ] >>479 とりあえず call_me を this->call_me にすれば?
481 名前:デフォルトの名無しさん mailto:sage [2005/11/04(金) 20:05:54 ] >>480 だめみたい。 thisをつけると、const class fib<normal> has no member named call_meっていわれちゃう。 templateのしたクラスのcall_meを呼んでくれないみたい
482 名前:デフォルトの名無しさん mailto:sage [2005/11/04(金) 21:11:50 ] >>481 class fib : Fix<fib> => class fib : Fix< fib<Fix> > これで、 ttp://www.comeaucomputing.com/tryitout/ のコンパイラでは通った。
483 名前:デフォルトの名無しさん mailto:sage [2005/11/05(土) 07:47:56 ] >>482 gccでは通らないぽい。どこがおかしいのやら
484 名前:デフォルトの名無しさん mailto:sage [2005/11/05(土) 23:54:35 ] template <template <class> class Fix> class fib : protected Fix< fib<Fix> > だな。public継承でもいいけど。 要はダウンキャストもprivate継承ではできない
485 名前:デフォルトの名無しさん mailto:sage [2005/11/06(日) 07:39:13 ] typedef Fix<fib<Fix> > ct; … …ct:call_me(…
486 名前:デフォルトの名無しさん mailto:sage [2005/11/06(日) 09:47:16 ] >>484 >>485 サンクス。できました
487 名前:デフォルトの名無しさん mailto:sage [2005/11/06(日) 10:38:13 ] COMについての質問はここでいいですか?
488 名前:487 mailto:sage [2005/11/06(日) 18:13:45 ] 自己解決しました
489 名前:デフォルトの名無しさん [2005/11/07(月) 11:50:43 ] ポインタの静的型と、仮想関数の振る舞いについて教えてください。 struct A { virtual void f(); }; struct B { virtual void f(); }; struct C: public A, public B {}; C* pc = new C; pc->f(); // (1) A::f() と B::f() のどちらか分からないのでコンパイルエラー A* pa = pc; pa->f(); // (2) A::f() がコールされる B* pb = pc; pb->f(); // (3) B::f() がコールされる struct D: public A, public B { virtual void f(); }; D* pd = new D; pd->f(); // (4) D::f() がコールされる pa = pd; pa->f(); // (5) D::f() がコールされる pb = pd; pb->f(); // (6) D::f() がコールされる struct C の仮想関数テーブルの f() のエントリはどうなっているのでしょう? 派生クラスが仮想関数をオーバライドしない場合、このエントリは基底クラスの 関数ポインタがそのままコピーされると思います。しかし、A::f と B::f のど ちらを採用すべきかコンパイル時に決定できないはずです。 ところが上記(2)のように、動的型が struct C であっても、静的型を struct A とするとコンパイルが通り A::f() がコールされます。動的型の struct C の仮 想関数テーブルの f() のエントリは決定できていないはずなのに、何故 (2)(3) のような呼び分けができるのでしょう? 実際 struct D のように f() をオーバライドすると、静的型に関係なく動的型 の仮想関数がコールされるので、f() のエントリは1つだと思うのですが。 どういうカラクリになっているのでしょう?
490 名前:デフォルトの名無しさん mailto:sage [2005/11/07(月) 12:12:19 ] >>489 「fのエントリは二つあって、Dでは両方が同じ関数を指している。」という実装しか思いつかないな。 調べてみる。
491 名前:デフォルトの名無しさん mailto:sage [2005/11/07(月) 13:12:52 ] #include <iostream> #include <cassert> struct A { virtual void f(){ std::cout << "A::f\n";} }; struct B { virtual void f(){ std::cout << "B::f\n";} }; struct C : A, B {}; struct D : A, B { void f(){ std::cout << "D::f\n";} }; int main(void) { C c; D d; A *pca = &c; B *pcb = &c; A *pda = &d; B *pdb = &d; typedef void (*pfun_t)(); pfun_t pcfa = **(pfun_t **)pca; pfun_t pcfb = **(pfun_t **)pcb; pfun_t pdfa = **(pfun_t **)pda; pfun_t pdfb = **(pfun_t **)pdb; pcfa(); pcfb(); pdfa(); pdfb(); assert(pdfa != pdfb); } 結果(g++-mingw): A::f B::f D::f D::f よって、C/D共にfには二つのエントリがあって、 Dの場合は、二つの異なるD::fのラッパが入っていると判る。
492 名前:デフォルトの名無しさん [2005/11/09(水) 00:29:56 ] Pentium4にやさしいプログラミング手法を教えてください
493 名前:デフォルトの名無しさん mailto:sage [2005/11/09(水) 03:52:17 ] >>492 C++じゃなくてアセンブラになっちゃうけど消費電力を抑える為に halt や nop を多用するのがいいと思うよ。
494 名前:デフォルトの名無しさん [2005/11/09(水) 04:40:12 ] __asmでnopを入れればいいのですか?
495 名前:デフォルトの名無しさん mailto:sage [2005/11/09(水) 05:17:38 ] >>494 アホを真に受けるなよw ったく知ったかぶり君は迷惑だよね。
496 名前:デフォルトの名無しさん mailto:sage [2005/11/09(水) 06:54:19 ] >>495 もし>>493 を知ったかぶりと思っているなら お前の日本語読解力の方がずっとアホだと思うよ。
497 名前:デフォルトの名無しさん mailto:sage [2005/11/09(水) 08:19:55 ] >>492 ifは極力使わない。 forをつかえ。
498 名前:デフォルトの名無しさん mailto:sage [2005/11/09(水) 09:21:08 ] for(int i = 0; condition && i < 1; ++i){ ..... }
499 名前:デフォルトの名無しさん mailto:sage [2005/11/10(木) 04:55:32 ] BOOLよりboolを使ったほうが処理速度が速くなるっていうのは本当ですか?
500 名前:デフォルトの名無しさん mailto:sage [2005/11/10(木) 05:05:31 ] いいえ、それだけの情報ではなんともいえません。
501 名前:デフォルトの名無しさん mailto:sage [2005/11/10(木) 05:13:00 ] BOOL(4バイト)とbool(1バイト)のことです
502 名前:デフォルトの名無しさん mailto:sage [2005/11/10(木) 06:30:30 ] うがー、それだけの情報ではなんともいえません。
503 名前:デフォルトの名無しさん mailto:sage [2005/11/10(木) 06:55:30 ] 環境によって違うということですか? vc7.1でコンパイルしたんですが win2000です
504 名前:デフォルトの名無しさん mailto:sage [2005/11/10(木) 07:51:15 ] >>499 >>503 BOOLかboolかで速さが違うかどうかはわからないが、 BOOLはintのtypedefで、boolはC++組み込み型だからbool(true/false)を使う方がよい。
505 名前:デフォルトの名無しさん mailto:sage [2005/11/10(木) 07:58:03 ] なるほど、そうなのですか ありがとうございました
506 名前:デフォルトの名無しさん mailto:sage [2005/11/10(木) 08:25:29 ] BOOL は真偽値じゃない とりあえずMSDN行って GetMessage()の戻り値見てくれば解る あんな代物とbool型を同一視したら相当痛いミスを連発することになる。 MSのAPIの引数と戻り値以外には使わないほうが良い。 さらにsizeof(bool)は1と決まっているわけじゃない。 コンパイラによってはsizeof(bool)==4の場合もある。
507 名前:デフォルトの名無しさん mailto:sage [2005/11/10(木) 08:51:22 ] ただ、現実問題として、boolは0/1しか取らないから 整数型やポインタ型の値をboolに代入しようとすると、若干の演算が必要になる。 例えば、戻り値が0か0以外かが判定できれば良いだけの場合でも int型の関数だと return n; で足りるところを bool型の関数にすると return n != 0; に相当するコードが必要になる。 そのため、VC++では最適化の警告が出せるようになっている。
508 名前:デフォルトの名無しさん mailto:sage [2005/11/10(木) 09:55:29 ] >>501 普通、bool はintと同じサイズ( =BOOLと同じサイズ )になるぞ。
509 名前:デフォルトの名無しさん mailto:sage [2005/11/10(木) 10:05:22 ] 「普通」の意味がわからんが、BCB6ではintが4でboolが1だな。
510 名前:デフォルトの名無しさん mailto:sage [2005/11/10(木) 10:18:26 ] >>509 アレ? borland でもデフォルトでは bool は int と同じサイズだったと思うが・・・ bool を1バイトにするっていうコンパイルオプションが指定されてない?
511 名前:デフォルトの名無しさん mailto:sage [2005/11/10(木) 10:28:00 ] boolを使うと、ビットセット系のニモニックが生成されて分岐が省略できる可能性もある。 >507が指摘したケースだと、どうせ呼び出し側でも判断が入るから二重ロジックに成るかも知れんが、 inline関数なら逆に呼び出し側を巻き込んで最適化されるから同じことだね。
512 名前:デフォルトの名無しさん mailto:sage [2005/11/10(木) 10:49:04 ] っていうかboolの実装って普通0か1のどちらかっていう判断してる? 俺は0(false)か、0以外の全て(true)のどちらかっていう判断だと思った。 void Hoge(bool hoge) { if (hoge == true) {} } みたいな時、hoge != false(0) としてのコードを吐くのが普通じゃないの? だからこそ我々はC時代のように "BOOLVAR == TRUEと書いてはいけない。BOOLVAR != FALSEと書け" みたいなルールに縛られず boolvar == true っていうコードも合法になるもんだと思ってたんだけど。
513 名前:デフォルトの名無しさん mailto:sage [2005/11/10(木) 14:20:37 ] >>507 > ただ、現実問題として、boolは0/1しか取らないから trueかfalseです。!に対してそれぞれが逆元。 integral promotionがあるとそれぞれ1と0になる。 ちなみにここは上級者スレです。
514 名前:デフォルトの名無しさん mailto:sage [2005/11/10(木) 16:08:18 ] >>508 実装依存ということは承知してるが、 GCC4 も VC7.1 も sizeof(bool)==1 なわけだが。 こんなのも。 ttp://gcc.gnu.org/ml/gcc-bugs/2001-07/msg00186.html それと、bool より BOOL を(パフォーマンスの理由で) 推奨してる環境もあるにはある。個人的には嫌だけど。
515 名前:デフォルトの名無しさん mailto:sage [2005/11/10(木) 17:33:35 ] >>512 >boolvar == true っていうコードも合法になるもんだと思ってたんだけど。 合法ですが、間抜けです。
516 名前:デフォルトの名無しさん mailto:sage [2005/11/10(木) 19:57:32 ] >>514 Microsoft Specific In Visual C++4.2, the Standard C++ header files contained a typedef that equated bool with int. In Visual C++ 5.0 and later, bool is implemented as a built-in type with a size of 1 byte. That means that for Visual C++ 4.2, a call of sizeof(bool) yields 4, while in Visual C++ 5.0 and later, the same call yields 1. This can cause memory corruption problems if you have defined structure members of type bool in Visual C++ 4.2 and are mixing object files (OBJ) and/or DLLs built with the 4.2 and 5.0 or later compilers. ttp://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/vclang/html/_langref_bool.asp
517 名前:デフォルトの名無しさん mailto:sage [2005/11/11(金) 00:51:31 ] >>514 最近は sizeof(bool)==1 が主流なのか。知らなかったお。(^ω^) >それと、bool より BOOL を(パフォーマンスの理由で) >推奨してる環境もあるにはある。個人的には嫌だけど。 それもちょっと微妙だね。sizeof(bool)==1 な処理系ならCPUが苦手な バイトアクセスでもメモリアクセス量が減る bool のほうが多分トータルの パフォーマンスでは上だろうし。
518 名前:デフォルトの名無しさん mailto:sage [2005/11/11(金) 04:24:45 ] >>517 まあ、CPUが苦手どころか 4 バイト未満の整数型をダイレクトに 扱う命令を持ってないからで。しかも無駄なメモリアクセスは極力 省いてキャッシュレイテンシまで時に考えなきゃならんような環境の ことなんで、無視していいかと。 つうか、素直に sizeof(bool)==4 にしろよ、ってスマン愚痴だ。
519 名前:デフォルトの名無しさん mailto:sage [2005/11/11(金) 07:22:23 ] vector<bool>なんてのを想定したんじゃない? > sizeof → 1 bitsetってのもまあ微妙なアレだし
520 名前:デフォルトの名無しさん mailto:sage [2005/11/11(金) 08:02:00 ] メモリが遅いって話ならそれこそ最大限コンパクトにして キャッシュに乗ってる可能性を高くしたほうがいいじゃん
521 名前:デフォルトの名無しさん mailto:sage [2005/11/11(金) 08:19:22 ] vector<bool> は特殊化されているので関係ない
522 名前:デフォルトの名無しさん [2006/01/22(日) 14:12:46 ] o(%)。 // ○(%)oジュワッ
523 名前:デフォルトの名無しさん [2006/02/08(水) 11:15:21 ] 上級者の会話か?
524 名前:仕様書無しさん mailto:sage [2006/02/08(水) 11:18:47 ] >>523 (脳内)上級者の集うスレでは?
525 名前:デフォルトの名無しさん mailto:sage [2006/02/08(水) 21:49:16 ] >>523 上級者が集まったからと言って上級な会話をするとは限りませんし、 上級者にしかその真意がわからない上級な会話なのかもしれません。
526 名前:デフォルトの名無しさん [2006/04/28(金) 09:41:06 ] 上級者はいなくなったようですね
527 名前:デフォルトの名無しさん [2006/04/28(金) 11:12:31 ] 上級者というからにはもっとこうOS技術とか、デッドロックの事例とその解決とかについて 議論するのではないのか?
528 名前:デフォルトの名無しさん mailto:sage [2006/04/28(金) 14:47:19 ] >>527 デッドロック回避にはオーストリッチアルゴリズム。マジお勧め。
529 名前:デフォルトの名無しさん mailto:sage [2006/04/28(金) 15:19:59 ] レース状態やスタベーションについての議論もしよう。
530 名前:デフォルトの名無しさん mailto:sage [2006/04/28(金) 16:08:20 ] >>528 なにもしないってかw
531 名前:デフォルトの名無しさん mailto:sage [2006/04/28(金) 17:14:50 ] レース下着でマスターベーションについて
532 名前:デフォルトの名無しさん mailto:sage [2006/04/29(土) 04:44:48 ] OS 技術が上級? 酔ってるから超ウケた。 上級な OS 技術と、当たり前すぎてあほらしい OS 技術があると思うのだが。
533 名前:デフォルトの名無しさん [2006/04/29(土) 06:06:22 ] 酔ってるな
534 名前:デフォルトの名無しさん mailto:sage [2006/04/29(土) 15:12:17 ] >>527 それはあえて言うなら「プログラミング上級者」とかの類であって「C++上級者」とはズレがあるのでは?
535 名前:デフォルトの名無しさん [2006/04/30(日) 02:32:53 ] ではC++上級者は何ができるのですか?
536 名前:デフォルトの名無しさん mailto:sage [2006/04/30(日) 02:51:36 ] Cでも書けるコード/アルゴリズムを 「C++らしく」書くことが出来ます。たぶん。 俺は上級者じゃないので無理です。
537 名前:デフォルトの名無しさん mailto:sage [2006/04/30(日) 06:21:32 ] 上級者 初級者でもわかるコードを書く 初級者 上級者でもわからないコードを書く
538 名前:デフォルトの名無しさん mailto:sage [2006/04/30(日) 09:48:40 ] ここは「上級者とは何か」を議論するスレですか?
539 名前:デフォルトの名無しさん mailto:sage [2006/04/30(日) 10:28:11 ] 自らの上級しゃっぷりをアピールするスレです。
540 名前:デフォルトの名無しさん mailto:sage [2006/04/30(日) 11:13:52 ] 初心者が微妙にスレ自体をひがんでるな そんな暇があったら勉強しなよ
541 名前:デフォルトの名無しさん [2006/04/30(日) 11:47:14 ] 夢の相互リンク プログラム技術上級スレ pc8.2ch.net/test/read.cgi/tech/1141409198/l50
542 名前:デフォルトの名無しさん [2006/04/30(日) 19:51:31 ] 自称上級者の集まるスレってここでしょうか?
543 名前:デフォルトの名無しさん mailto:sage [2006/04/30(日) 22:34:38 ] そうですね、例えばあなたとか…
544 名前:デフォルトの名無しさん mailto:sage [2006/04/30(日) 23:35:48 ] 俺、俺だよ俺!
545 名前:デフォルトの名無しさん [2006/05/06(土) 20:23:30 ] pngのCRCの計算をするコードを教えてください。
546 名前:デフォルトの名無しさん [2006/05/06(土) 20:27:47 ] >>545 ソース嫁
547 名前:デフォルトの名無しさん mailto:sage [2006/05/06(土) 20:41:34 ] >>546 わかりませんので 上級者の知恵をお借りしに来たのです。
548 名前:デフォルトの名無しさん mailto:sage [2006/05/06(土) 20:46:14 ] >547 ここは上級者以外立入禁止だ。
549 名前:デフォルトの名無しさん mailto:sage [2006/05/06(土) 20:55:00 ] >>548 わからないくせに偉ぶっている人
550 名前:デフォルトの名無しさん mailto:sage [2006/05/06(土) 21:18:22 ] 俺は上級者だが、わからないものはわからないのだ。
551 名前:デフォルトの名無しさん [2006/05/06(土) 21:31:30 ] ここは自称上級者同士が褒め称えあうスレです。
552 名前:545 mailto:sage [2006/05/06(土) 21:37:24 ] googleで探したらあったYO
553 名前:デフォルトの名無しさん mailto:sage [2006/05/06(土) 21:44:00 ] これで君も上級者だ。
554 名前:デフォルトの名無しさん mailto:sage [2006/05/06(土) 22:01:37 ] >>545 C++とは関係ない話だろとマジレス。
555 名前:デフォルトの名無しさん [2006/05/07(日) 20:31:55 ] クックック。遂に極めたぞ。
556 名前:デフォルトの名無しさん mailto:sage [2006/05/08(月) 00:29:22 ] 残念ながら555が居たのは、まだ入り口だったのであった
557 名前:デフォルトの名無しさん mailto:sage [2006/05/08(月) 00:33:38 ] 極めたってどういう状態を指すんだ?DQN臭い。
558 名前:デフォルトの名無しさん mailto:sage [2006/05/08(月) 00:51:30 ] >>557 きっと typedef あたりの使い方を極めたんだよ。
559 名前:デフォルトの名無しさん mailto:sage [2006/05/08(月) 00:52:35 ] >>558 ・・・そうか・・・
560 名前:デフォルトの名無しさん mailto:sage [2006/05/08(月) 08:08:49 ] 555の痛さはネタ臭いけど、 極めるという言葉に過剰反応している557の痛さは素っぽいな。
561 名前:デフォルトの名無しさん mailto:sage [2006/05/08(月) 16:42:06 ] まぁ真実は>>556 が突いている
562 名前:デフォルトの名無しさん [2006/06/02(金) 08:40:30 ] 皆さんのタブのサイズを教えてください
563 名前:デフォルトの名無しさん mailto:sage [2006/06/02(金) 11:22:42 ] TABは0.5を利用
564 名前:デフォルトの名無しさん mailto:sage [2006/06/02(金) 12:28:03 ] タブは8
565 名前:神楽坂 [2006/06/02(金) 15:17:23 ] フィルタドライバの作り方で 聞きたいことがあるんで 来てみたのだが...... だめみたいだな、 ここは。
566 名前:デフォルトの名無しさん mailto:sage [2006/06/02(金) 15:39:01 ] ここはスレタイが荒してくれといっているようなものだからな。 隔離スレというか。
567 名前:デフォルトの名無しさん mailto:sage [2006/06/02(金) 18:28:26 ] いかにも荒らし本人が書きそうな「見限りレス」だな。
568 名前:デフォルトの名無しさん mailto:sage [2006/06/02(金) 22:56:26 ] >>565 なんのフィルタドライバを作りたいのかぐらい書けよ。 つーか、お前は本当は聞きたいことの説明すらできんのだろ? 素直んなれよ、な?
569 名前:デフォルトの名無しさん [2006/06/03(土) 13:28:56 ] 気付いたけどここには低能しかいないようだな
570 名前:デフォルトの名無しさん mailto:sage [2006/06/03(土) 13:43:42 ] >>569 お前と俺と〜は〜
571 名前:デフォルトの名無しさん mailto:sage [2006/06/03(土) 14:20:10 ] 超上級者だったらもうちょいゆとりがあっただろう
572 名前:デフォルトの名無しさん mailto:sage [2006/06/03(土) 15:44:22 ] >>568 ・訊いても無駄だといいながら訊きたい内容を書く ・でもその内容は不明確なまま ・しかもスレ違いの予感 ・つか、なにしろコテハン 恐らく、自分よりバカ (に見える連中) がいて 嬉しかったんだろう。
573 名前:デフォルトの名無しさん mailto:sage [2006/06/03(土) 19:12:18 ] ここは、C++上級者が集まるスレであって >>565 ごときが来るような場所ではない。
574 名前:デフォルトの名無しさん mailto:sage [2006/06/03(土) 19:29:08 ] まぁ、能無しが「おもらい」しに来るスレではないよな。
575 名前:デフォルトの名無しさん mailto:sage [2006/06/03(土) 19:46:15 ] 盛り上がって参りました!
576 名前:デフォルトの名無しさん mailto:sage [2006/07/01(土) 05:03:15 ] マ板でもっとも典型的なネタスレのひとつ
577 名前:デフォルトの名無しさん mailto:sage [2006/07/03(月) 22:14:12 ] コメントを // にしました。 これで俺も上級者の仲間入り。
578 名前:デフォルトの名無しさん mailto:sage [2006/07/03(月) 23:08:47 ] 赤飯炊かなきゃな
579 名前:デフォルトの名無しさん [2006/07/07(金) 15:55:26 ] 上級者さんのお知恵をお借りしたいのですが。。 C++とDirectShowでビデオキャプチャ+圧縮保存のコードを書いております。 ボタンクリック時に、圧縮に使用するコーディックのプロパティ画面を開くようにしたいのですが、方法が検討つきません。 WindowsMediaVideo9とMEPG4 ご存知の方、いらっしゃいましたらご助力願います。 宜しくお願い致します。
580 名前:デフォルトの名無しさん mailto:sage [2006/07/08(土) 15:08:16 ] >>579 それC++関係ないだろ。
581 名前:デフォルトの名無しさん mailto:sage [2006/09/01(金) 19:22:44 ] >>580 ≪関係ない≫だと?
582 名前:デフォルトの名無しさん [2006/09/04(月) 19:57:52 ] C++のホットなネタは?
583 名前:デフォルトの名無しさん mailto:sage [2006/09/04(月) 22:39:58 ] >>582 特に無い。
584 名前:デフォルトの名無しさん [2006/10/14(土) 01:28:04 ] stdioとcstdioの違いを教えてください
585 名前:デフォルトの名無しさん mailto:sage [2006/10/14(土) 02:03:51 ] >>584 cstdio がライブラリを std 名前空間内に宣言。 stdio.h は、↑に加えてグローバル名前空間にも宣言。 っていう建前だけど、実際は stdio.h がライブラリをグローバル名前空間内に宣言。 cstdio は、↑に加えて std 名前空間にも宣言。 とかいう実装もよくある。
586 名前:・∀・)っ-○◎●創聖のダンゴリオン ◆DanGorION6 mailto:sage [2006/10/14(土) 02:06:04 ] std 名前空間
587 名前:・∀・)っ-○◎●創聖のダンゴリオン ◆DanGorION6 mailto:sage [2006/10/14(土) 02:07:15 ] まあ、プリプロセッサマクロに名前空間は適用できないしな
588 名前:デフォルトの名無しさん mailto:sage [2006/10/14(土) 03:16:03 ] たまに見かけるstudio.hもよくわからん
589 名前:デフォルトの名無しさん mailto:sage [2006/10/14(土) 05:48:10 ] ワロタ
590 名前:デフォルトの名無しさん mailto:sage [2006/10/14(土) 10:10:24 ] あやまれ!スタジオ派にあやまれ!
591 名前:デフォルトの名無しさん [2006/10/26(木) 16:03:30 ] Cωってどうなっちゃったの?
592 名前:デフォルトの名無しさん [2006/10/28(土) 01:49:55 ] class ClassA{ public: ClassA(){・・・・;} ClassA(ClassB a){・・・・;} friend ClassA operator●(const ClassA& x, const ClassA& y){・・・・;} } class ClassB{ public: operator ClassA(){return ・・・・;} } で引数x,yにClassB型の値が代入された場合、x,yはClassAのコンストラクタによってClassA型に 変換されるのでしょうか? それともClassBの変換関数によってClassA型に変換されるのでしょうか?
593 名前:デフォルトの名無しさん mailto:sage [2006/10/28(土) 02:40:02 ] >>592 規格上はどうなってんのか知らんが、とりあえずコンパイラによっては 「どっち使ってええのかわからん」とエラーを出すのは確か。
594 名前:デフォルトの名無しさん [2006/12/15(金) 19:46:02 ] xmlを処理できるライブラリを教えてください
595 名前:デフォルトの名無しさん mailto:sage [2006/12/15(金) 19:54:48 ] 上級者の質問ではないだろ。 とりあえずXercesとかMSXMLとか。詳しくは知らない。
596 名前:デフォルトの名無しさん mailto:sage [2006/12/15(金) 20:02:37 ] 動的な次元の配列のライブラリってないもんか
597 名前:デフォルトの名無しさん mailto:sage [2006/12/15(金) 20:04:21 ] >>596 boost::multi_array
598 名前:デフォルトの名無しさん mailto:sage [2006/12/15(金) 20:14:18 ] それは静的だ。 動的次元配列は自分で作るしかないんじゃね?
599 名前:デフォルトの名無しさん mailto:sage [2006/12/20(水) 16:57:05 ] gccとFedora core5でプログラムを作成しています。 ofstreamでflush()を使っても、実行されたタイミングでファイルが更新されません。 一定以上になるまで、システムのバッファ内に溜め込まれているようなのですが、 flush()実行時に確実にファイルに書き込ませるにはどうしたらよいでしょうか?
600 名前:・∀・)っ-○◎●創聖のダンゴリオン ◆DanGorION6 mailto:sage [2006/12/20(水) 22:51:39 ] 「STLによるコンポーネントデザイン」にvectorを使った2次元・3次元配列クラスの作り方書いてあった それとも次元が動的に増減するの? そりゃちょっとお手上げ
601 名前:・∀・)っ-○◎●創聖のダンゴリオン ◆DanGorION6 mailto:sage [2006/12/20(水) 23:01:22 ] >>599 flushでフラッシュされないのって、C++標準の方法ではどうしようもないような。 クローズしてみるとか(かなりいい加減) あと、内部的にメモリマッピングしてるような気もする。
602 名前:デフォルトの名無しさん mailto:sage [2006/12/22(金) 22:57:20 ] 断片化なしの動的二次元配列の一種。 capslockabcjp.kitunebi.com/boolean.html ブール閉包(boolean closure)のサイズとインデクスの計算 1次元配列にみっしりと二次元の表を納めつつ、 伸縮させても穴が空かない構造の作り方。
603 名前:デフォルトの名無しさん mailto:sage [2006/12/22(金) 23:13:02 ] >>599 気のせいだと思いますよ。
604 名前:デフォルトの名無しさん mailto:sage [2006/12/22(金) 23:22:16 ] >>599 ランタイムライブラリとは無関係にOSとドライバの側で制御しているから OS独自の機能を使わないとどうしようもない。 www.linux.or.jp/JM/html/LDP_man-pages/man8/sync.8.html
605 名前:デフォルトの名無しさん mailto:sage [2006/12/23(土) 08:46:49 ] 特殊なストレージデバイスを使ってない限り、 カーネルのin-coreイメージと外部デバイスの不一致は観測不能なんだが。
606 名前:デフォルトの名無しさん [2007/01/06(土) 02:30:56 ] 真贋について www.kh.rim.or.jp/~nagamura/misc/stroustrup-interview.html
607 名前:デフォルトの名無しさん mailto:sage [2007/01/06(土) 02:39:51 ] それは遥か昔にストラウストラップと袂を分かった、 彼の頭頂の毛が喋ってるんだよ。
608 名前:デフォルトの名無しさん [2007/01/08(月) 12:26:22 ] 【ネガティブ派遣根性チェック】 3つ以上、思い当たる点があればアナタの性格はひん曲がっており、ネガティブ負け組人生を歩んでいます。 □偽装派遣先の社員の意見にはたとえ間違っていても反対しない □偽装派遣先から「いつまでもここで仕事してくださいね」と言われるようになりたい □自社に仕事を持ち帰れるように言われるとムカつく □自社で仕事なんてできるわけがない □派遣/受託の差異を指摘する人間はムカつく □偽装派遣先には仕事だけでなく自分のプライベートについても指示して欲しい □自分の月額金額を知らない □偽装派遣先社員より自分の生涯収入が低いのは当然だ □偽装派遣先に尻尾を振り、いつまでも一緒に仕事をすることが大切だ □今のプロジェクトが終わっても同じ偽装派遣先に常駐したい
609 名前:デフォルトの名無しさん mailto:sage [2007/01/08(月) 18:36:21 ] 構造化して細かく関数毎に分けた方が、構造化されていないプログラムより最適化されやすいですか? それとも関数の呼び出しのオーバーヘッド分だけ遅くなりますか?
610 名前:デフォルトの名無しさん mailto:sage [2007/01/08(月) 22:59:00 ] >>609 最適化については、コンパイラ (とコンパイル時のオプション) に依存するのでなんともいえない。 関数の呼び出しのオーバーヘッドは確実に存在する。 ただ通常それが問題になることはあまり無い。 て言うか、プログラム書くときはわかりやすく書け。 関数呼び出しのオーバーヘッドなんか気にするのは最終手段だ。
611 名前:デフォルトの名無しさん mailto:sage [2007/01/09(火) 01:58:49 ] 「最適化する必要を感じるまで最適化するな」
612 名前:・∀・)っ-○◎●創聖のダンゴリオン ◆DanGorION6 mailto:sage [2007/01/09(火) 02:05:56 ] 常に__forceinline
613 名前:デフォルトの名無しさん mailto:sage [2007/01/09(火) 05:15:49 ] >>609 最近のコンパイラは小さい関数が数百個つらなっても 平気でinline化しやがるので無問題
614 名前:デフォルトの名無しさん mailto:sage [2007/01/11(木) 23:18:23 ] en.wikipedia.org/wiki/C%2B%2B0x こんなに様々な提案があったとは思っていなかった。
615 名前:デフォルトの名無しさん mailto:sage [2007/01/12(金) 10:27:53 ] class A{ const double x; A() : x(10){} } と class A{ static const double x=10; } の使い分けについて教えてください
616 名前:デフォルトの名無しさん mailto:sage [2007/01/12(金) 11:03:20 ] >>615 前者はインスタンス毎に暮らす変数が作られるのでメモリが余計に 必要だが、コンストラクタ次第ではインスタンス生成時に x の値を 自由に設定できる。 後者はメモリは一つしか使わないので省メモリ型だが、コンパイル時 に値が決定するのでコンストラクタによって値を変える事はできない。
617 名前:デフォルトの名無しさん mailto:sage [2007/01/13(土) 02:13:25 ] >>615 後者はコンパイルできない。
618 名前:デフォルトの名無しさん mailto:sage [2007/01/13(土) 10:31:38 ] class A{ static const double x; }; const double A::x = 10;
619 名前:デフォルトの名無しさん [2007/01/16(火) 16:22:35 ] 上級者の方にお聞きしたい問題があります。 -------------- 【問題】 「計算式対応電卓」 ・計算式を文字列として入力すると、その計算を行い、結果を出力するプログラムを 作成せよ。 -入力文字列を解析し、数値と演算子に分けて計算する。 -例:計算する式を入力してください。終了:end 使用可能演算子:四則演算(+-*/) 1+2 答えは3です。 ・必ず四則演算のほかに、使用可能な演算子を追加せよ。 入力する際の演算子記号は任意にきめてよい。 -例:あまりを求める % 二乗を求める ・繰り返し何度も計算できるようにする。 その際、終了する場合の入力文字列を示せ。 -------------- 初心者ということもあり、わかりません。 ソースファイルとして書き込んでいただきたいです。。
620 名前:デフォルトの名無しさん mailto:sage [2007/01/16(火) 16:50:27 ] C/C++の宿題を片付けます 81代目 pc10.2ch.net/test/read.cgi/tech/1168663908/l50
621 名前:デフォルトの名無しさん mailto:sage [2007/01/16(火) 16:56:09 ] >>619 ftp.gnu.org/gnu/bc/
622 名前:デフォルトの名無しさん mailto:sage [2007/01/16(火) 21:11:54 ] >619 spirit.sourceforge.net/
623 名前:デフォルトの名無しさん mailto:sage [2007/01/16(火) 23:34:23 ] >>619 講義聴いてればちゃんとできるからまた来年やれ
624 名前:デフォルトの名無しさん [2007/01/17(水) 00:33:04 ] 若いの オラが村では派遣の問題を口にしちゃなんねーだ お前さんはまだわけぇから言いたいこともあるべぇ だべな、派遣問題を口にするとムキになって怒る者がおるでよぉ 問題の指摘は駄目だっぺぇ 派遣のことは口にしちゃなんねぇ この村みたいな糞田舎で悲惨な生活するためにはよぉ 北朝鮮と一緒でよ、駄目のものを駄目と言ってはなんねえだべさ タブーを口にしちゃいけねぇだ オラ達みたいな田舎者の鉄則だっぺ
625 名前:デフォルトの名無しさん mailto:sage [2007/01/17(水) 09:41:28 ] >>619 逆ポーランド使ったらだめ?
626 名前:デフォルトの名無しさん mailto:sage [2007/01/17(水) 11:34:32 ] >>617-618 まともなコンパイラを使ってください。
627 名前:ららら [2007/01/17(水) 19:26:03 ] class Hoge を Hoge.h で宣言して Hoge.cpp で定義している。 Hoge の実装では Foo クラスを使うのだが、 Foo を使っているということを Hoge.h 側では見せたくない。 今は class Hoge { public: Func1(void); private: Func2(Foo* foo); }; こうなっているのだが、Foo をヘッダーに見せたくない。 Foo を使うコードが Func1 内で完結すれば、見せなくて済むのだけど、 何分 Func1 の処理が長いので、どうしても関数を分割したい。 さて、よい案はないだろうか。。。。 ヘッダー上では Foo* じゃなくて void* にキャストして、 Func2 の実装で void* を Foo* にキャストする、 という方法はあるのだが。汚い。
628 名前:デフォルトの名無しさん mailto:sage [2007/01/17(水) 19:44:28 ] pimpl
629 名前:デフォルトの名無しさん mailto:sage [2007/01/17(水) 19:54:08 ] Fooのポインタだけならclass Foo;とだけ書いておけばおk。
630 名前:デフォルトの名無しさん mailto:sage [2007/01/18(木) 02:48:20 ] 上級者の皆様、Haskellで使えるalgebraic data typeをC++で表現するにはどうすればいいでしょうか?教えてください。
631 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 10:35:44 ] >>615 で class A{ static const int x=10; } は許されるのに class A{ static const double x=10; } は禁止されているのは何故なのでしょうか?
632 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 12:41:07 ] 配列の要素数など整数定数への需要は大きいから、それだけ特別扱いされた。
633 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 14:29:28 ] class A{ static const double x; }; const double A::x = 10; これでできるのなら、 class A{ static const double x=10; } の様な書き方も許可して良さそうな気がするのですが・・・
634 名前:・∀・)っ-○◎●創聖のダンゴリオン ◆DanGorION6 mailto:sage [2007/01/20(土) 14:59:27 ] class A{ static const double x() const { return double(10); } } で代用できるから特に困らない
635 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 15:00:59 ] C++のクラスの静的メンバ変数は(constの有無に関わらず)、 Cのヘッダに宣言しどこか1箇所ソースで定義する流儀を受け継いでいると考えればそう不自然でない。 納得がいくかどうかはともかく。 そんなにクラス内に書きたければ、静的メンバ関数ならインラインに書けることを使う手もなくはない。
636 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 15:13:30 ] C++ らしいよなぁ。 template もそうなんだけど、なんつーか、 もう少し素直にやりたいことを直感的に書けないものかw
637 名前:・∀・)っ-○◎●創聖のダンゴリオン ◆DanGorION6 mailto:sage [2007/01/20(土) 15:22:46 ] Borlandコンパイラならプロパティ(独自拡張)があるね
638 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 17:09:58 ] そういやtemplateなら>>618 のようなのを全部ヘッダーに書いてもいいんだっけ?
639 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 19:41:48 ] >>637 Visual C++も独自拡張でプロパティを持っている。COMラッピングに使っている。 >>638 テンプレートでも定義が必要。ただしヘッダに書ける。 template<typename T> class A{ static const double x; } template<typename T> const double A::x = 10; たしかこんな感じ。
640 名前:・∀・)っ-○◎●創聖のダンゴリオン ◆DanGorION6 mailto:sage [2007/01/20(土) 19:41:55 ] 駄目だから定数を返す関数にする。どうせインライン展開されるし
641 名前:デフォルトの名無しさん mailto:sage [2007/01/21(日) 17:14:28 ] >631,633 あれ?出来ないんだっけ? gcc3.4.2なら出来たけど。 てか、最近のコンパイラなら出来るはずだと思って フリーで配ってるソースで使いまくっちゃったけど。。。
642 名前:・∀・)っ-○◎●創聖のダンゴリオン ◆DanGorION6 mailto:sage [2007/01/21(日) 17:19:40 ] 厳密にはできなくはない __declspecキーワード使うことになるが
643 名前:デフォルトの名無しさん mailto:sage [2007/01/21(日) 18:32:35 ] 規格では整数型のみだけだっけ?
644 名前:ららら [2007/01/21(日) 18:58:00 ] class Foo; class Hoge { public:     Func1(Foo::FooType type); }; class Foo { public:     enum FooType {         TYPE_1, TYPE2, TYPE3     } }; こんなコードが、コンパイルエラーになるのですが、 Foo を先に宣言せずに、Hpge で Foo::FooType を使うことって可能ですか?
645 名前:デフォルトの名無しさん mailto:sage [2007/01/21(日) 18:59:42 ] それは無理だな
646 名前:デフォルトの名無しさん mailto:sage [2007/01/21(日) 19:01:37 ] 無理だよ
647 名前:デフォルトの名無しさん mailto:sage [2007/01/21(日) 19:35:38 ] >>644 >Foo を先に宣言 Foo を先に定義、の間違いだな そんな細かい指摘はともかく、この要求は比較的需要があると思うけれど、 (少なくとも自分はこういうことをしたいときが結構ある) みんなどう思ってるんだろ
648 名前:デフォルトの名無しさん mailto:sage [2007/01/21(日) 20:04:33 ] >>647 こういうのがあるから、ネストされた public 型定義は避けたほうがいい。
649 名前:デフォルトの名無しさん mailto:sage [2007/01/22(月) 09:53:27 ] どうしてもって場合は苦肉の策だけど、Hoge側をクラステンプレートにして しまうのもありかも( Foo をテンプレート引数にする )。
650 名前:デフォルトの名無しさん [2007/01/27(土) 23:55:49 ] 魔法少女ポリモル pc10.2ch.net/test/read.cgi/prog/1169812216/
651 名前:デフォルトの名無しさん mailto:sage [2007/02/02(金) 20:43:47 ] vc2005EEを使っているのですが、質問があります。 デバッグモードではCPU使用率が20〜35%に押さえられているのですが、 リリースモードにすると使用率が常時100%に跳ね上がってしまいます。 これの原因分かる方いませんか? もしくは原因究明の方法が分かる方いませんか? (プロファイラは使えません^^) どうかよろしくお願いします。
652 名前:デフォルトの名無しさん mailto:sage [2007/02/02(金) 21:37:54 ] >>651 マルチはラウンコにでも逝ってろ。
653 名前:デフォルトの名無しさん mailto:sage [2007/02/02(金) 22:20:52 ] >>652 pc10.2ch.net/test/read.cgi/tech/1164951094 一度、↑のスレの989で聞いたのですが、 スレ違いといわれてしまったので、もう一度質問させてもらっています。
654 名前:デフォルトの名無しさん mailto:sage [2007/02/02(金) 22:50:15 ] >>653 あってるかどうかの自信はないが原因やその調査方法や対策等々を多少予想がつかんでもないが、 プロファイラを使えば一発で解決する問題なのに、あえてプロファイラは使えませんと逃げるような 教えて君がくるようなスレではありません、ここは。どっか逝け。 つーかせめてどんなプログラムかぐらい書け。あと、テキトーにプログラムをコメントアウトして 現象が変わったらその部分あるいはその部分に関連したところになんかある。ロクに情報も提供 しない教えて君はたまにはそーゆー地道なデバッグでもやってなさい。
655 名前:デフォルトの名無しさん mailto:sage [2007/02/02(金) 22:51:41 ] サクセスに振り込んだお金が返ってこない まで読んだ
656 名前:デフォルトの名無しさん mailto:sage [2007/02/02(金) 23:01:07 ] 「まで読んだ」ネタは それを書くより早く読めるレスについてるとなんか痛い
657 名前:デフォルトの名無しさん mailto:sage [2007/02/02(金) 23:08:58 ] ごめんね母ちゃんはじめて「まで読んだ」したから
658 名前:デフォルトの名無しさん mailto:sage [2007/02/03(土) 00:36:04 ] >>654 別に逃げているわけでは無く、 もともとVC8EEにはプロファイラがついていないのです。 これを使えば解決することは分かっていたので、あらかじめ注釈させていただきました。 情報が足りなかったことは誤ります。 作っているのは所謂ノベルゲームです。 >>654 にあるようにプログラムを適当にコメントアウトしていったところ、 サウンドを再生する専用のスレッドがネックになっていることが分かりました。 ここでのSleep間隔を0からそれより大きくした結果(現在は5)、 CPU使用率が20%にまで下がりました^^ ちょっと納得できない部分もあるのですが、とりあえず上手く動くようになりました。 どうもありがとうございます^^
659 名前:デフォルトの名無しさん mailto:sage [2007/02/03(土) 00:40:25 ] > もともとVC8EEにはプロファイラがついていないのです。 もろ逃げじゃんw VC8EEプリインストールモデルなんて聞いたことないしなぁw 学校のPCだけでやってるんだったらもちスレタイ嫁。
660 名前:デフォルトの名無しさん mailto:sage [2007/02/04(日) 14:18:40 ] >>658 OS上CPU使用率が100%と表示されていても 本当にCPUの演算ユニットを100%ぶんまわしてるわけじゃないから、 Sleepは0でも良い。1あれば十分。5は多すぎ。
661 名前:デフォルトの名無しさん mailto:sage [2007/02/05(月) 02:24:45 ] >>659 ごめん。 意味が分からない。 >>660 windowsのスレッドシステム(自分は2000使ってます)をよく知らないのですが、 メインの方の処理が軽くなると、 コンテキストスイッチが頻発してCPU使用率が異常に上がるのかなぁ。 実行速度は軽くなっているのに、使用率が上がるということは 無駄な処理がすごく増えたってことですよね。。。 あと、5msのSleepは確かに長すぎるかもしれません。 メインスレッドの方がつまってくると、 音飛ぶ可能性ありますね。 このあたりはもうちょっと調整してみます。
662 名前:デフォルトの名無しさん mailto:sage [2007/02/05(月) 02:31:09 ] >>661 Waitのない無限ループを持つスレッドがひとつでもあればCPU使用率は100%になる。 そんな当たり前なことも理解できてないようなヤツがいていいスレじゃない。どっか逝け。
663 名前:デフォルトの名無しさん mailto:sage [2007/02/05(月) 15:12:33 ] >>662 非HTでシングルコアの場合だけな。
664 名前:デフォルトの名無しさん mailto:sage [2007/02/06(火) 01:23:31 ] >>662 Wait = Sleep(0) という解釈でいいなら、ちゃんと入ってましたよ。 問題は 1, メインスレッド・サウンドスレッドともにちゃんとSleepが入っていた (メインの方はFPS固定の可変Wait, サウンドの方は常に0) 2, 単純な実行速度はデバッグモード時よりもリリースモード時の方が速かった 3, メインスレッドのWait値もリリースモードの方が大きかった にも関わらず、デバッグモードではCPU使用率が30〜40%、 リリースモード時は常に100%になっていた点です。 リリースモードではサウンドスレッドが相当無駄なことをしているのは理解できるのですが、 それならデバッグモードではなんで100%にならないのかなと。。。 >>663 そうですね^^
665 名前:デフォルトの名無しさん mailto:sage [2007/02/06(火) 01:46:39 ] >>663 デュアル/マルチプロセサは無視か? >>664 > Wait = Sleep(0) という解釈でいいなら、 よくないだろ。 それは、ともかくコードの断片も示せないなら、エスパー希望の広告を 新聞に載せた方が早いので、ここから立ち去ってくれ。
666 名前:デフォルトの名無しさん mailto:sage [2007/02/06(火) 02:15:36 ] >>664 C++の話題じゃないから、662を読んで分からないなら Windows 板へ池
667 名前:デフォルトの名無しさん mailto:sage [2007/02/06(火) 06:56:43 ] >>664 処理速度の速いほうがCPU使用率も高くなんのはあたりまえだろ、どっか逝け。
668 名前:デフォルトの名無しさん mailto:sage [2007/02/06(火) 08:20:29 ] 俺も大体そう思うな プロファイラがあってもデバッグ版のCPU使用率が低い理由はわからないと思う。 これに関しては私には判りません。 デバッグモードでは何か特殊な待ちがあるんだろか。 たとえばwaveOutWriteなら複数のバッファを渡せるので 音飛ぶ可能性は著しく低く、 バッファが終わるころにメッセージ通知が来るから それまで何もしないのでCPU使用率を著しく下げることも出来るはず。 ノベルゲームの経験ないから推測だが ノベルゲームで絶えず処理している状況が存在する理由がわからない。
669 名前:デフォルトの名無しさん mailto:sage [2007/02/06(火) 11:21:53 ] デバッグ版ではシステムコールの呼び出しが 増えてたりするからじゃないのん?
670 名前:デフォルトの名無しさん mailto:sage [2007/02/06(火) 22:06:52 ] c++のリファクタリングツールは VisualStudioなら ref++ Refactor! Pro emacsで使えるツールはないの?
671 名前:デフォルトの名無しさん mailto:sage [2007/02/06(火) 22:11:02 ] www.wholetomato.com/forum/topic.asp?TOPIC_ID=3990 リファクタリングツールいろいろ
672 名前:デフォルトの名無しさん mailto:sage [2007/02/06(火) 22:27:03 ] xref-tech.com/xrefactory/main.html emacsリファクタリングツールみつけた 試したいけどemacsでc++コンパイルする環境整えるの大変だ
673 名前:デフォルトの名無しさん mailto:sage [2007/02/07(水) 23:49:30 ] すみません。これで最後にします。 >>668 サウンドライブラリとして、OpenALを使っているので、 空きバッファがあるかどうか 常に監視する必要があるのです。 確かにwaveOutならその必要はありませんね。 >>669 システムコールかもしれません。 一応テストとして、 ・適当な処理+Sleep(0)を繰り返すスレッド ・適当な処理+Sleep(10)を繰り返すスレッド の二つを作って実行させたのですが デバッグモード、リリースモードの両方でCPU使用率は100%でした。 (当然か。。。) 件のアプリでは、さらに多くのスレッドといろいろな処理が付加されているので、 どこかになにがしかの待ちが入っているんだと思います。 (共有リソース待ちや、IO待ち?) 感覚としては、スレッド間のリソース待ちが原因では無いかと思いました。 (調べてみるとミキシングスレッドとサウンドデータ供給スレッドが別でした^^) ちょっとこれ以上は分から無いのですが、 他にやることもあるのでこの件はこれで終わりにしたいと思います。 それでは、スレ汚し失礼しました。
674 名前:デフォルトの名無しさん mailto:sage [2007/02/10(土) 12:20:00 ] 実行中にブレーク掛けてみて、どの処理が走ってるかみてみたら。 何回かやれば時間食ってる部分が解るだろ。
675 名前:デフォルトの名無しさん mailto:sage [2007/02/15(木) 00:33:53 ] >>674 遅れてすみません。 ブレーク掛けてみたのですが、 意味の分からない結果になりました。 なんか、OpenALのバグのような気がします。。。 原因が分かったら報告します。
676 名前:デフォルトの名無しさん mailto:sage [2007/02/15(木) 09:20:44 ] ここは上級者が集まるスレです。上級者に質問するスレではありません。
677 名前:デフォルトの名無しさん mailto:sage [2007/02/16(金) 12:34:00 ] 集まって何すんの?
678 名前:デフォルトの名無しさん mailto:sage [2007/02/16(金) 12:34:37 ] 書き込んだり、書き込みを読んだりするに決まってるじゃん。
679 名前:デフォルトの名無しさん mailto:sage [2007/02/16(金) 13:18:05 ] 書き込んだり、書き込みを読んだりして何すんの?
680 名前:デフォルトの名無しさん mailto:sage [2007/02/16(金) 14:53:13 ] できることとか、やりたいこと。
681 名前:デフォルトの名無しさん [2007/03/02(金) 19:46:02 ] 夏時間まで考慮して、タイムゾーンを取得する方法を教えてください。
682 名前:デフォルトの名無しさん [2007/03/27(火) 02:43:43 ] boolは何故1バイトも消費するのですか?
683 名前:デフォルトの名無しさん mailto:sage [2007/03/27(火) 05:01:28 ] >>682 1バイトとは限らんぞ。処理系依存だ。 VCではint型にダウンキャストされるんじゃなかったっけ? #かなり昔に仕様書らしきもので読んだ気が。 仮に>>682 が使用している環境でboolが1バイト使うとして話を進める。 >>682 は1ビットで十分だっていいたいんだろうけど、 メモリの最小管理単位が1バイトだから、最低でも1バイト使わないとだめ。 C言語で言うビットフィールドを使って、ビット単位で管理するのもありだけど (そうすれば、1バイトで8個のboolを管理できるよな)、それだと管理のための メモリが必要になるし、速度面で効率的じゃなくなる。 だから、bool型は1ビットじゃないんだ。 もっとも、処理系によってはビット単位で管理してるのもあるかもしれんが。
684 名前:・∀・)っ-○◎● mailto:sage [2007/03/27(火) 05:05:29 ] ダウンキャストっていうのかそれ VC++の最近の実装(っていうかただのtypedef)ではBOOL=charだったような
685 名前:デフォルトの名無しさん mailto:sage [2007/03/27(火) 05:06:51 ] >>683 今VC++でsizeof(bool)の値を見たら1だった。 俺はbool型変数はクラスメンバぐらいでしか使わないから、 たとえ1ビットだとしてもアラインメントの影響で恩恵にあずかれないな。
686 名前:・∀・)っ-○◎● mailto:sage [2007/03/27(火) 05:18:54 ] vector<bool>とか使うと恩恵があるかも
687 名前:デフォルトの名無しさん mailto:sage [2007/03/27(火) 06:31:31 ] boolをvectorなんかに入れて一体何に使えというんだ
688 名前:・∀・)っ-○◎● mailto:sage [2007/03/27(火) 06:34:33 ] 何だ知らないのか www.scl.kyoto-u.ac.jp/scl/appli/appli_manual/SUNWspro/WS6U2/ja/manuals/stdlib/user_guide/general/5_3.htm
689 名前:デフォルトの名無しさん mailto:sage [2007/03/27(火) 06:50:59 ] >>688 そういえばそんなもんもあったな。
690 名前:デフォルトの名無しさん mailto:sage [2007/03/27(火) 07:13:24 ] >684のすべてが意味不明
691 名前:デフォルトの名無しさん mailto:sage [2007/03/27(火) 22:04:00 ] >>683 速度・効率だけでなく、ビット単位ではポインタとしてメモリアドレスが使えない。 ワードマシンでのchar*みたいにコンパイラが頑張る手もあるが、 bool*だけでなく必然的にvoid*もbool*に合わせなければならず、 void*とbool*だけ他のポインタと異なる大きさになってしまう。 無論規格上は問題ないが、実際問題void*の大きさがほかと異なるなんてやっていられないだろ。
692 名前:デフォルトの名無しさん mailto:sage [2007/03/27(火) 23:05:56 ] 関数へのポインタとデータへのポインタの大きさが違うなんて 昔は当たり前だったから、なんてことない。
693 名前:デフォルトの名無しさん mailto:sage [2007/03/27(火) 23:14:25 ] >691 boolを1bitにするなら、sizeof(bool)をどうする気?
694 名前:デフォルトの名無しさん mailto:sage [2007/03/27(火) 23:18:46 ] >>693 1/8 usodakara
695 名前:デフォルトの名無しさん mailto:sage [2007/03/27(火) 23:21:03 ] >>693 それ忘れていたorz >>684 Windows APIでは、typedef int BOOL; typedef char BOOLEAN; しかしboolとは関係ない。
696 名前:デフォルトの名無しさん mailto:sage [2007/03/27(火) 23:33:40 ] > typedef int BOOL; typedef char BOOLEAN; わけわからん >>MS ATL::CComPtr::operator&()もわけわからんかった。 凶悪。
697 名前:・∀・)っ-○◎● mailto:sage [2007/03/28(水) 01:08:39 ] >>695 そこは固定じゃない。 なんのtypedefかはSDKのバージョンによってもしょっちゅう変わる。 まあ固定長ビット配列ならstd::bitsetなんかが一番効率いいかな。 1ワードの中に複数要素が詰め込めると何かと便利。
698 名前:デフォルトの名無しさん mailto:sage [2007/03/28(水) 01:20:35 ] msdn2.microsoft.com/en-us/library/aa383751.aspx 実際にヘッダでどうなっているかはともかく、文書化されていることは当てにしていいと思う。 ところでBOOLEANはBYTEだったね、すまん。
699 名前:デフォルトの名無しさん mailto:sage [2007/03/28(水) 02:12:43 ] >>691 void* と char* は同じ内部表現である必要がある。 (ISO C++ 3.9.2.4) そのほかメモリモデルやオブジェクトモデルの定義からも char より 小さい型は存在し得ないと言える。
700 名前:デフォルトの名無しさん mailto:sage [2007/03/28(水) 02:12:52 ] BOOL Boolean variable (should be TRUE or FALSE). shouldって便利な言葉だな
701 名前:・∀・)っ-○◎● mailto:sage [2007/03/28(水) 02:30:37 ] >>698 msdn2〜はVS2005のドキュメント
702 名前:デフォルトの名無しさん mailto:sage [2007/03/28(水) 02:38:09 ] >>701 団子ちゃん、流れとは全然関係ない質問があるんじゃが、 団子ちゃんがC++上級者だと家庭して、団子ちゃんは Boost を 1. あー、ごっつい靴だろ? 2. たまに使う。 3. よく使う。 4. もうあなたなしじゃ生きられないの! 5. あー、アレのほげほげは俺がコントリビュートしてんだよ。 の、どれ?
703 名前:702 mailto:sage [2007/03/28(水) 02:39:35 ] ちなみに俺は、1 だが、それでも自分を C++ 上級者だと思ってる。
704 名前:・∀・)っ-○◎● mailto:sage [2007/03/28(水) 02:44:25 ] 2かな ふだんはATL/WTL+STLあと.NET regexとrandom::mt19937rは便利だね あとsandboxにあがってたfixed_arrayが便利だから改造して使ってる
705 名前:デフォルトの名無しさん mailto:sage [2007/03/28(水) 03:06:41 ] .NEET 使ってんだ。
706 名前:デフォルトの名無しさん mailto:sage [2007/03/28(水) 07:26:32 ] >697 おいおい。BOOLの実体がint以外だったことがあるってーの? WIN16の頃の話じゃねーだろーな。
707 名前:デフォルトの名無しさん mailto:sage [2007/03/28(水) 09:17:07 ] >>701 msdn.microsoft.comの時代から698の文書は存在した。 今は英語版のMSDNライブラリオンラインはあちこちmsdn2への転送になっている。
708 名前:デフォルトの名無しさん mailto:sage [2007/03/28(水) 15:45:05 ] bool型はC++仕様書ではintと同じバイト数。 でも大手の実装するコンパイラは大抵1バイトしか割り当てないのが普通。 さて、酒飲んで寝るか。もう目が覚めませんように。
709 名前:デフォルトの名無しさん mailto:sage [2007/03/28(水) 16:11:38 ] >>708 そんな規定はどこにも無い。
710 名前:デフォルトの名無しさん mailto:sage [2007/03/28(水) 16:50:25 ] >>708 嘘吐きはそのまま永眠してなさい。
711 名前:デフォルトの名無しさん mailto:sage [2007/03/28(水) 18:29:02 ] 1に書いてある内容とまるで裏腹なスレの内容 なんて皮肉だ
712 名前:デフォルトの名無しさん mailto:sage [2007/03/28(水) 23:37:58 ] > 我こそはC++プロフェッショナルだという方の書き込みをお待ちしております。 こんなこと書くから、自分でプロだと「思い込んでる奴」ばっかりになるんだよ。
713 名前:デフォルトの名無しさん mailto:sage [2007/03/28(水) 23:42:49 ] >>711-712 ここはネタスレなのにお前らときたら…
714 名前:デフォルトの名無しさん mailto:sage [2007/03/29(木) 16:37:54 ] >>711-712 のような人たちのためのホイホイスレでもあるからいいじゃないか。
715 名前:デフォルトの名無しさん mailto:sage [2007/03/29(木) 18:52:05 ] >>711-712 は本気で自分がC++上級者だと思って このスレに降臨なされたのですか
716 名前:デフォルトの名無しさん mailto:sage [2007/03/30(金) 11:42:32 ] スレタイに騙されて覗いてみたら期待してたのと違ったんで 怒りに任せて書き込んでみたんでしょう。 スレ勃てから2年半もたってノコノコやってきて今更な事を書く人ってのは そういうもんです。
717 名前:デフォルトの名無しさん mailto:sage [2007/03/30(金) 14:17:33 ] >>714-716 ここはネタスレなのにお前らときたら…
718 名前:デフォルトの名無しさん mailto:sage [2007/03/30(金) 14:26:29 ] もうちょっとためてから反復しないとネタとして面白くないです。
719 名前:デフォルトの名無しさん mailto:sage [2007/03/30(金) 21:56:50 ] 団子ちゃん以外の人は >>702 で言うと何番?
720 名前:デフォルトの名無しさん mailto:sage [2007/03/30(金) 22:02:40 ] 特定の部分なら3だが全般的には2だな
721 名前:・∀・)っ-○◎● mailto:sage [2007/03/31(土) 00:22:23 ] 全部使ってる奴がいたらそれはそれで気持ち悪いぞ MPLとかSpiritとか、いいかげんにしる
722 名前:デフォルトの名無しさん mailto:sage [2007/03/31(土) 06:16:03 ] 俺4。上級者じゃないけど。MPLとかは流石に可読性的に使えないがな。
723 名前:デフォルトの名無しさん mailto:sage [2007/03/31(土) 17:01:03 ] MPLとPreprocessorとSpiritとPhoenixとXpressiveと LambdaとuBLASとgraphとfilesystemを全部使うアプリを testでテストするやつこそが4だな。
724 名前:デフォルトの名無しさん mailto:sage [2007/03/31(土) 22:33:03 ] どういう処理をしようとして全部必要になるんだろうか……
725 名前:デフォルトの名無しさん mailto:sage [2007/04/04(水) 13:19:51 ] 環境非依存で、ミリ秒単位でsleepさせる方法はありませんか?
726 名前:デフォルトの名無しさん mailto:sage [2007/04/04(水) 14:16:24 ] >>726 ない。 特定のCPU等に依存していいならなんらかの方法があるだろうが、 どのみちほとんどマシン語のコードになる。
727 名前:デフォルトの名無しさん mailto:sage [2007/04/04(水) 14:49:56 ] >>727 ですよね。
728 名前:デフォルトの名無しさん mailto:sage [2007/04/04(水) 19:01:43 ] >>727 大丈夫か
729 名前:デフォルトの名無しさん [2007/04/04(水) 20:00:16 ] >>729 注:私の有意義な発言に対し自分の理解不足を棚に上げ煽り、1行レス で返す方が多いようですが、そのような方はスレの皆様を混乱させるだけでなく スレの雰囲気を崩しかねないのでお黙り下さい また質問者は回答者に知識を披露する場を与える貴重な存在なので、 質問者を見下した回答、あまりにも儀礼を欠いた回答も厳重に禁止いたします。 忙しい中、少ない時間の合間を縫って質問しに来てるわけですので、 その辺ご承知下さい。なお、当方が質問に対して有意義な答えであると 判断した方には評価いたしますので各自よく調べ、よく考え正確な回答をするように。
730 名前:デフォルトの名無しさん mailto:sage [2007/04/04(水) 23:31:15 ] まずい餌だな。3点
731 名前:デフォルトの名無しさん mailto:sage [2007/04/07(土) 08:44:22 ] >>731 死ねよクズが
732 名前:デフォルトの名無しさん mailto:sage [2007/04/07(土) 16:54:40 ] >>733 死ねカス
733 名前:デフォルトの名無しさん mailto:sage [2007/04/07(土) 16:55:12 ] >>732 お前が死ねカス
734 名前:デフォルトの名無しさん mailto:sage [2007/04/07(土) 17:02:47 ] 729 名前:あぼ〜ん[あぼ〜ん] 投稿日:あぼ〜ん
735 名前:デフォルトの名無しさん mailto:sage [2007/04/07(土) 18:59:56 ] >>731-733 ありきたりのパターン。2点
736 名前:デフォルトの名無しさん mailto:sage [2007/04/07(土) 22:37:50 ] かといってこんなことに新鮮味を追求されるのもアレだな
737 名前:デフォルトの名無しさん [2007/04/10(火) 18:46:19 ] 絶対値を求める関数が他の言語では一つしかないのにCではabsとfabsの二つが存在する理由を教えてください。
738 名前:デフォルトの名無しさん mailto:sage [2007/04/10(火) 19:16:00 ] その質問をこのスレでする理由を教えてください。
739 名前:デフォルトの名無しさん mailto:sage [2007/04/10(火) 22:43:33 ] >>737 > 絶対値を求める関数が他の言語では一つしかない Fortran なんか4個もあるぞ。(w iabs(整数) => 整数 abs(実数) => 実数 dabs(倍精度) => 倍精度, cabs(複素数) => 実数
740 名前:デフォルトの名無しさん mailto:sage [2007/04/10(火) 22:56:30 ] CだってC89の時点でabs(int), labs(long), fabs(double)と3個。 後(C95か?)にfabsf(float), fabsl(long double)が加わり5個。 C99ではllabs(long long), imaxabs(intmax_t), cabs(double complex), cabsf(float complex), cabsl(long double complex)と10個。 勿論C++では、(C++にある型なら)absで多重定義がなされている。
741 名前:デフォルトの名無しさん mailto:sage [2007/04/11(水) 00:27:51 ] ここまでの話を総合すると、rubyが一番スマートだな。
742 名前:デフォルトの名無しさん mailto:sage [2007/04/11(水) 21:36:45 ] >>741 というと ruby は絶対値をマイナス値で返す nabs 一個のみとかそんな感じ?
743 名前:デフォルトの名無しさん mailto:sage [2007/04/11(水) 23:27:22 ] オーバーロードしてるから見た目上一個やん
744 名前:デフォルトの名無しさん mailto:sage [2007/04/12(木) 04:39:04 ] >>743 マイナスの最大値でオーバーフローするものしかないってこと? # 戻り値が unsigned なら大丈夫だけど。
745 名前:デフォルトの名無しさん mailto:sage [2007/04/12(木) 11:07:54 ] >>737 実行速度を上げるため
746 名前:デフォルトの名無しさん mailto:sage [2007/04/12(木) 22:35:50 ] >>744-745 釣りですか、ご苦労様です。
747 名前:デフォルトの名無しさん mailto:sage [2007/04/12(木) 22:59:30 ] 直観が「突っ込み所だ」と告げたはいいが、スレタイがスレタイだけに 具体的に突っ込んでボロ出す羽目になったらどうしようってのがちょっぴり不安で、 結果こんな感じに落ち着きました、という感じのレスだな。
748 名前:デフォルトの名無しさん mailto:sage [2007/04/13(金) 23:38:12 ] >>747 >>747
749 名前:デフォルトの名無しさん mailto:sage [2007/04/14(土) 02:31:47 ] たとえば負数が1の補数な処理系では、 INT_MINを放り込んでも、オーバーフローしないよ。
750 名前:デフォルトの名無しさん mailto:sage [2007/04/14(土) 04:29:20 ] そうだね。帰っていいよ。
751 名前:デフォルトの名無しさん mailto:sage [2007/04/14(土) 09:06:05 ] 馬鹿じゃないの?
752 名前:デフォルトの名無しさん mailto:sage [2007/04/14(土) 09:08:20 ] 泣くなよ
753 名前:デフォルトの名無しさん mailto:sage [2007/04/22(日) 08:47:09 ] >>688 1998年w
754 名前:デフォルトの名無しさん [2007/05/18(金) 18:12:10 ] float x=10.0; で exp(x) とすると、expはfloat型に対応した関数が呼び出されますが、 exp(10.0) とした場合、double型に対応した関数が呼び出されると考えてよいのでしょうか?
755 名前:デフォルトの名無しさん mailto:sage [2007/05/18(金) 20:30:24 ] ワラタ
756 名前:デフォルトの名無しさん mailto:sage [2007/05/18(金) 21:39:41 ] >>754 そうだよ ちなみにexp(10.0f)とすればfloat版を選べる
757 名前:デフォルトの名無しさん mailto:sage [2007/05/21(月) 02:39:50 ] まさかとは思ったが ここも隔離スレだったか
758 名前:デフォルトの名無しさん mailto:sage [2007/05/21(月) 02:45:16 ] >>757 全然そんなことないから、ここから出て行かないでね♪
759 名前:デフォルトの名無しさん mailto:sage [2007/05/25(金) 03:24:06 ] >>21 いまさらながら const string 上級者="俺"; のが上級者っぽいな。
760 名前:デフォルトの名無しさん mailto:sage [2007/07/01(日) 15:07:07 ] class 上級者; typedef 俺 上級者;
761 名前:デフォルトの名無しさん mailto:sage [2007/07/01(日) 16:31:11 ] >>760 #define 上級者 ナルシスト をお忘れですよ。
762 名前:デフォルトの名無しさん [2007/07/05(木) 17:48:21 ] 大抵のコンパイラでC99はスイッチをつけないとコンパイルできないのは何故?
763 名前:デフォルトの名無しさん mailto:sage [2007/07/05(木) 18:45:42 ] C++のコンパイラ? C99がC++に取り込まれるのはC++0x(たぶん09)からだよ。
764 名前:デフォルトの名無しさん [2007/07/05(木) 20:03:32 ] C++かアセンブリ言語どっちが難しいですか?
765 名前:デフォルトの名無しさん mailto:sage [2007/07/05(木) 20:43:18 ] C++
766 名前:デフォルトの名無しさん mailto:sage [2007/07/05(木) 21:05:20 ] アセンブリは面倒なだけで難しいのとはまた違う 技術書を読む大変さはあるけどなー
767 名前:デフォルトの名無しさん mailto:sage [2007/07/06(金) 21:10:24 ] マクロアセンブラならまあいける 本当にただのニーモニック→機械語変換だとアドレスの管理を全部自分でやらないといけないから死ねる
768 名前:デフォルトの名無しさん mailto:sage [2007/07/07(土) 00:21:56 ] それアセンブラって言わないと思うが...
769 名前:デフォルトの名無しさん mailto:sage [2007/07/07(土) 00:56:53 ] DEBUG.EXEだな あれのアセンブラ機能は貧弱だったな それでもcom形式ぐらいならなんとか書けちゃったりするが
770 名前:デフォルトの名無しさん mailto:sage [2007/07/07(土) 12:02:34 ] FEDCBA98
771 名前:デフォルトの名無しさん [2007/07/11(水) 12:32:08 ] 何の16進かと思ってググったらゲーム改造かよ。 何にしろバイナリ書き換えは趣味の域でなきゃやりたくないな。
772 名前:デフォルトの名無しさん mailto:sage [2007/07/22(日) 20:44:27 ] C++上級者(笑)
773 名前:デフォルトの名無しさん mailto:sage [2007/07/22(日) 20:52:46 ] 三(笑) ( *´ω`)ムシャムシャ つi'"': `、:_i' | ┌┐ │ ││ ││ 若干食べられてしまったが | ││ ││ >>772 はC++より安く見えることがわかる | ││ ││ └──────────── C++上級者(笑) >>772
774 名前:デフォルトの名無しさん [2007/09/24(月) 07:47:59 ] defineの代わりにconstを使うよう推奨されているのに、コンパイラのソースを見ると 大量にdefineが使われているのはなぜ???
775 名前:デフォルトの名無しさん mailto:sage [2007/09/24(月) 09:54:14 ] もともとCで書かれていたか、 実はCとしてコンパイルするようになっているか、 書いた人間がconst推奨を知らなかったか。
776 名前:デフォルトの名無しさん mailto:sage [2007/09/24(月) 12:36:23 ] Cと共用なんだろ。 何を悩む必要がある
777 名前:デフォルトの名無しさん mailto:sage [2007/09/24(月) 19:44:30 ] >>774 錯覚が目
778 名前:デフォルトの名無しさん mailto:sage [2007/09/28(金) 00:10:08 ] >>774 システムのベンダとユーザは事情も、従うべきルールも違う。 システムヘッダの真似してアンダースコアで始まる名前を使うような人大杉。 引数に渡す定数を参照させるだけのために、 オブジェクトのリンクを強要するDLLなんかありえないし、 他の言語とリンクさせるときや、バイナリ互換性が問題なら、 定数の具体的な値をはっきり公開するしかない。 それに、Cでは配列サイズにconst整数を使えない。
779 名前:デフォルトの名無しさん mailto:sage [2007/09/28(金) 01:31:32 ] constって言ったって、ヘッダで初期化子付きの定義を与えるんだから、 DLLなんて関係ないけど、ほかは合っているや。
780 名前:デフォルトの名無しさん mailto:sage [2007/09/28(金) 03:04:35 ] >>constって言ったって、ヘッダで初期化子付きの定義を与えるんだから、 プレーンCモードでコンパイルされたときに実体が増殖し放題で リンクエラーになるからDLLベンダがそれをやったら配慮不足だ。 よく分かってないハード屋寄りのユーザとかが目を回すからな。 このスレ的にはC++コンパイラだとそれができるっていうのは大事だけどな。
781 名前:デフォルトの名無しさん mailto:sage [2007/09/28(金) 10:10:17 ] ぷ
782 名前:デフォルトの名無しさん mailto:sage [2007/10/11(木) 01:31:51 ] const だと余計にメモリ消費するからヤなんじゃないの?
783 名前:デフォルトの名無しさん mailto:sage [2007/10/12(金) 23:21:57 ] staticにすらば、アドレス参照とかしなければ実体は取り除かれるんじゃないの? コンパイラの能力にによるだろうけど
784 名前:デフォルトの名無しさん mailto:sage [2007/10/13(土) 01:50:27 ] >>783 C++ では const つけた名前空間スコープのオブジェクトはデフォルトで 内部リンケージになる。 static は要らない。
785 名前:デフォルトの名無しさん mailto:sage [2007/10/20(土) 22:13:19 ] static const volatile unsigned long long int X; は意味無しか
786 名前:デフォルトの名無しさん [2007/11/01(木) 04:00:31 ] インテルコンパイラでループをSSEで計算させようとしているのですが、 コンパイル時に loop was not vectorized: dereference too complex というレポートを返してきます。 これは具体的にはどのような問題があるといっているのでしょうか?
787 名前:デフォルトの名無しさん [2007/11/01(木) 17:32:37 ] >>786 そのままじゃね? 逆参照が複雑過ぎてベクトル化出来なかったお 意味は、その箇所にSSE使えなかったと ポインタポインタポインタ使ったとか間接的なイテレータ使ったとか?コード見てないからなんとも言えないけど。インテルコンパイラ使ったことないし。
788 名前:デフォルトの名無しさん mailto:sage [2008/01/22(火) 16:22:42 ] インテルコンパイラとgccだとやっぱり最適化はインテルの方が上?
789 名前:デフォルトの名無しさん mailto:sage [2008/01/22(火) 18:18:26 ] 上。特に、オブジェクト間最適化は凄い。
790 名前:デフォルトの名無しさん [2008/02/24(日) 17:30:31 ] オブジェクト間最適化って何?
791 名前:デフォルトの名無しさん mailto:sage [2008/02/24(日) 18:03:39 ] リンクの段階で最適化かけるんじゃないの
792 名前:デフォルトの名無しさん mailto:sage [2008/03/20(木) 10:54:39 ] それならVC8も負けてないぜ。 リンク時間の長さがそれを証明してくれている。
793 名前:デフォルトの名無しさん mailto:sage [2008/03/20(木) 11:48:43 ] pgi使え