■過去ログ置き場に戻る■
1-
前250
次250
最新50
[memo]
"9999999999_00.html#R20"
という感じで、URLの最後に "#R
レスNo
" を追加すると幸せになれます。
C++相談室 part6
501
名前:
デフォルトの名無しさん
:02/04/30 01:34
500げとずざー
ん?失敗か。
何みてんだゴルァ!!
Borland C++ Builder 6をよろしくね☆
http://www.borland.co.jp/cppbuilder/
502
名前:
465
:02/04/30 01:35
なんとなく分かったよーな気がします。490に感謝。
typedef int(_stdcall *KANSUMEI)(char* a);
↑こーゆーのはまだ意味わからんですが、
漏れがんばる。
503
名前:
デフォルトの名無しさん
:02/04/30 01:36
||
||
||
|| スルスル
||
∧||∧
( ⌒ ヽ 神です・・・・
∪ ノ
∪∪
504
名前:
476,490
:02/04/30 01:37
>>502
感謝されても困るんだが。
typedefの構文を間違えるような奴だし(藁
505
名前:
500
:02/04/30 01:37
カミガ オリテ
キタキタキタ━━(゚∀゚;)━━!!!
なんでも俺に聞け!!任せろ
506
名前:
デフォルトの名無しさん
:02/04/30 01:39
>>505
お休み
507
名前:
デフォルトの名無しさん
:02/04/30 01:43
505は仕事があるのに2chに逃避しているに500カノッサ。
508
名前:
465
:02/04/30 01:47
>>504
漏れアセンブラしか分からんす。
高級言語はどーも苦手。
と言ってみたいという願望を書いてみるテスト。
509
名前:
デフォルトの名無しさん
:02/04/30 01:51
>>508
むきゃー!!
く・や・し・いぃぃぃーーーっ!!!
510
名前:
デフォルトの名無しさん
:02/04/30 01:52
おちつけ
511
名前:
デフォルトの名無しさん
:02/04/30 01:54
classがウマー(´Д`)
OOがウマー(´Д`)
512
名前:
Ð ë á t h ¹³
:02/04/30 01:56
||
∧||∧
( ⌒ ヽ 500が消えたので
∪ ノ 上へまいりま-す・・・
∪∪
⌒
⌒
513
名前:
465
:02/04/30 01:57
ムヒヒ。
514
名前:
デフォルトの名無しさん
:02/04/30 02:04
例外処理のメリットっていまいちわからないんですが・・・。
誰かおしえてプリーズ!
515
名前:
デフォルトの名無しさん
:02/04/30 02:07
>>514
何らかのエラーが生じた時、通常は戻り先でelse ifの連続ショーが始まったり、
エラー処理があちこちでバラバラに分散してしまうが、例外にすると、エラー
処理を一カ所にまとめられるので見やすい。バグが出にくい。等々
516
名前:
デフォルトの名無しさん
:02/04/30 02:08
Cはやったことありますか?
Cのエラー処理と比べるとだいぶウマーな漢字になってます
517
名前:
465
:02/04/30 02:11
>>514
教えてあげたいところですが、
例外処理の意味すら分かりません。
出直してきます。
518
名前:
デフォルトの名無しさん
:02/04/30 02:16
>>514
何十にもネストしたループを脱出す時はgoto使うと便利でしょ?
同じように、関数呼び出しから一気に巻き戻すのに例外は便利なのだよ。
C言語では関数外にジャンプするときはsetjumpとlongjumpを使うが、こ
れではデストラクタが呼ばれないので例外って仕組みが必要なわけよ、オーケイ?
519
名前:
デフォルトの名無しさん
:02/04/30 02:16
>>514
Cで言うと、longjmp、setjmpとよく似ている。これらをよく観察すれば、
例外の意味も少しわかると思います。
520
名前:
デフォルトの名無しさん
:02/04/30 02:18
>>518-519
割り込みスマソ
longjmpに似ているということは、一度通った場所にしか戻れないの?
521
名前:
デフォルトの名無しさん
:02/04/30 02:19
>>514
エラーの取り残しがないって事かな。
戻り値で判定する場合、ifでチェックし忘れたエラーコードは検出できないけど、try/catchなら、チェックしなかったエラーはより上位のcatchに飛ばされるから、必ずどこかでつかまるよね。
522
名前:
デフォルトの名無しさん
:02/04/30 02:22
>>519
どちらかと言えば、longjmp,setjmpで例外の真似事ができるって方が近いかな。
例外は戻るのではなく、投げるものなのでcatchがあるところまで間をすっ飛ばし
ます。先月のインターフェースにCで実装する例外って記事があったよ、確かに、
longjmpとsetjmp使ってたはず。
523
名前:
522
:02/04/30 02:23
>>519
でなくて
>>520
ダタ
524
名前:
デフォルトの名無しさん
:02/04/30 02:27
>>522
そそ。関数から関数を多重的に呼び出している時、returnで戻ろうとすると
プログラムが超複雑になりますよね。それを例外で一足飛びに戻る。
もしくは途中まで戻って、ある程度仕事をしてから、また再throwする、など。
525
名前:
514
:02/04/30 08:05
様々なレスありがとうございます。
私の場合、プログラムの実行継続が難しいときに
例外を投げるという使い方をしようとしてました。
が、STLのbad_allocくらいしかcatchするものが無い・・・。
例外処理に払うコストが妥当とは思えないわけです。
何か、こういう例外の使い方がウマい!とかありませんでしょうか。
526
名前:
デフォルトの名無しさん
:02/04/30 08:17
本でも読めYO!
527
名前:
デフォルトの名無しさん
:02/04/30 10:05
複雑なファイル入力操作とか、いちいちエラーチェックして
ファイルクローズして返すのが面倒くさいから、入力処理と
入力ストリームのエラーチェックを同時に行う関数を用意して、
エラー発生時に例外を投げるようにしてます。
528
名前:
デフォルトの名無しさん
:02/04/30 11:59
>>527
それって、?stream.exception(mask) じゃだめ?
529
名前:
デフォルトの名無しさん
:02/04/30 13:09
>>527
>>528
ぁ・・ホントですね、そのまんまの機能です。
知りませんでした。_φ(.._)
530
名前:
デフォルトの名無しさん
:02/04/30 15:09
>>528
なにそれ?
531
名前:
デフォルトの名無しさん
:02/04/30 16:32
domain_errorって何ですか?
例外型の他は概ね利用方法が思い浮かぶのですが、
domain_errorだけどうしても使い道がわからないのですが。
532
名前:
528
:02/04/30 16:38
>>530
exceptions(iostate) で、ストリームがthrowする例外を選択する。
ifstream file(filename);
file.exceptions(failbit|batbit);
これ以降の操作で失敗したり、ストリームが壊れたりしたらfailure例外が投げられる。
上の例だけでもコンストラクタでオープン失敗してたときは、
exceptions()の呼び出しが例外投げる。
533
名前:
デフォルトの名無しさん
:02/04/30 16:46
>>531
Thrown by the library, or by you, to report domain errors (domain in the mathmatical sense).
googleのトップにでてるじゃねぇか。
534
名前:
デフォルトの名無しさん
:02/04/30 16:51
あー、数値計算で発生させる例外ですか。
ま、使用方法が思い浮かばないのは漏れの数学知識が
皆無だからでしょうね。
535
名前:
デフォルトの名無しさん
:02/04/30 19:11
template<int NAME[]=0>class X{
public:
X(){
cout<<NAME[0]<<endl;
}
};
これって不可能?class自体はエラー出無いんだけど、実体とると
こけてしまう。
536
名前:
デフォルトの名無しさん
:02/04/30 19:14
NAME が 0 ならこけるんでない?
537
名前:
デフォルトの名無しさん
:02/04/30 19:23
>>536
サンクス
template難しいわ。例えば、
template<char* n>class X{
public:
X(){
cout<<n<<endl;
}
};
void main(void)
{
X<"aswe"> x;
}
なんて言うか、これってできないの?それても俺の書き方がおかしい?
538
名前:
デフォルトの名無しさん
:02/04/30 19:46
文字列リテラルは直にできません
外部リンケージを持ったchar[]を渡しましょうや
ていうか入門書にそんくらい書いてあるだろ。
539
名前:
デフォルトの名無しさん
:02/04/30 20:03
>>537
規格書読めよ。
14.3.2 Template nontype arguments
2 [Note: A string literal (2.13.4) is not an acceptable template argument
because a string literal is an object with internal linkage. (後略)
540
名前:
デフォルトの名無しさん
:02/04/30 20:09
>>538
>>539
を、サンクス。いやぁ、templateに手を出したの最近だからさ
勝手が分からなくてね。もちっと修行してくるわ。
541
名前:
初心者にもなってない
:02/04/30 22:04
プログラミングを勉強したいと思っているのですが
候補としては「C」か「C++」なのですが
どちらのほうがいいんですか?
できれば長所短所をおしえてもらいたいのですが。
542
名前:
デフォルトの名無しさん
:02/04/30 22:05
CをやってからC++
それ以外に選択肢は無い。
543
名前:
デフォルトの名無しさん
:02/04/30 22:06
1 プログラミングを勉強したい
2 作りたい物があって、そのためにプログラミングを勉強したい
1ならJavaかC#にしておけ。
SchemeとかMLでもいいが、勉強結果が後々使い回し出来ないと思った方がいい。
2ならC++を勧めておくが、出来るなら他言語を勧める。
544
名前:
デフォルトの名無しさん
:02/04/30 22:19
>>543
で、Cは?
問題外?
私は「プログラミングを勉強したい」という理由ならCを薦めるね。
545
名前:
デフォルトの名無しさん
:02/04/30 22:24
>>544
たしかにC勉強して身に付くこともあるが、
今から始める人にそんな低レベルな概念から身につける必要は無いと考える。
もちろん、分野によってはCは必須だが。
546
名前:
デフォルトの名無しさん
:02/04/30 22:33
もっと低レベルなアセンブラから勉強するのが正解(w
547
名前:
デフォルトの名無しさん
:02/04/30 22:35
アセンブラやらんでいいからコンピュータの基礎概論から勉強してくれよ。
それだけだとつまらんはずだから、プログラミングと平行で。
独学でプログラムだけやってもろくなもんでてこない。
548
名前:
デフォルトの名無しさん
:02/04/30 22:38
(´-`).。oO(プログラミングの勉強にC… どこかで見たぞこいつ)
549
名前:
デフォルトの名無しさん
:02/04/30 22:42
>>541
思い切ってC++にチャレンジしてみよう!
550
名前:
デフォルトの名無しさん
:02/04/30 22:45
>>548
鏡見れば思い出すかも
551
名前:
デフォルトの名無しさん
:02/04/30 23:17
>>542
さんの通りやれ
王道を突き進め
552
名前:
544
:02/04/30 23:45
>>545
低レベルかもしれないけど、言語仕様が小さいから勉強にはちょうど良いかなと。
>>548
多分人違い。
553
名前:
デフォルトの名無しさん
:02/05/01 00:45
「プログラミングの勉強をしたい」っていう理由なら、Cはダメっていう意見も多いね、推薦図書スレあたりで。
計算機科学をまじめにやるならScheme+SICP
作って動かしてみて楽しいのがいいならHSPやJavaScript
作りたいものの規模が大きそうならJava
シューティングゲームとかならC/C++
って感じか。
いずれにしても、身近に詳しい人がいて、いつでも質問できるのが理想、ですかね。
554
名前:
デフォルトの名無しさん
:02/05/01 00:48
文系か理系かでどっちからやったらいいかってちがうんでないかな。
文系ならオブジェクト指向はわかり易いものだろうが、理系は多態性
を追っかけにくいとかいうようだ。本人のバックグランドをキボーン。
555
名前:
デフォルトの名無しさん
:02/05/01 00:56
俺は理系だがどちらかというとOOのほうが好み。
thisとかselfの概念があった方がやりやすい。
556
名前:
デフォルトの名無しさん
:02/05/01 01:00
俺は理系だがOOの方が好み。
どちらかというとOO向け言語にある仕組みや仕掛けが好み。
557
名前:
デフォルトの名無しさん
:02/05/01 01:11
俺は理系だがOOの方が好み。
Genericsマンセー
558
名前:
デフォルトの名無しさん
:02/05/01 01:12
>>557
GenericsはOOちゃうやろ。
559
名前:
デフォルトの名無しさん
:02/05/01 01:14
理系と言っても情報系・数学系とよりハード寄りなその他ではまた傾向が違うのかも。
560
名前:
デフォルトの名無しさん
:02/05/01 02:34
動的型付けのOOPLは、まんまGenerics。
561
名前:
デフォルトの名無しさん
:02/05/01 05:14
超初心者的な質問で申し訳ないのですが
(明示的)インライン関数やテンプレートを使うと
関数名 はすでに オブジェクトファイル名 で定義されています
と言われてしまいます。
いくつかの .obj に分けてコンパイルしているので、確かにそれぞれの .obj に重複定義されているのですが、こういうやり方はおかしいのでしょうか?
(別々にコンパイルしているので #ifndef --- は効きません)
普通はどうするものなのでしょう?
562
名前:
デフォルトの名無しさん
:02/05/01 05:33
>>561
ヘッダに全部書いてそれぞれインクルード、の逃げ解決が普通かと。
563
名前:
デフォルトの名無しさん
:02/05/01 06:17
// c.h
template <class T>
class C {
public:
void func();
};
// c.cpp
#include "C.h"
template <class T>
void C<T>::func()
{
return;
}
// main.cpp
#include "C.h"
int main()
{
C<int> c;
c.func();
return 0;
}
VC6.0でこれをコンパイルすると
「error LNK2001: 外部シンボル ***** は未解決です」
ってエラーが出るんですけど、よくわかりません。
いまは、c.cppの内容をc.hの下に書いていますが、
どうにか上のファイル構成で、コンパイルできるようにならないでしょうか?
お願いします。
564
名前:
デフォルトの名無しさん
:02/05/01 06:45
>>563
2chでお願いしてもコンパイラの動作はかわらねぇな。
で、ファイル構成は変える気が無いと・・・。
c.hの最後にc.cppをインクルードでいけるか・・・。
それはそうと、外部シンボルの未解決がよくわからんってのはカナーリイタイね。
565
名前:
563
:02/05/01 08:05
すみません、エラーメッセージは正確には
main.obj : error LNK2001: 外部シンボル ""public: void __thiscall C<int>::func(void)" (?func@?$C@H@@QAEXXZ)" は未解決です
です。説明が足りませんでした。
すみませんでした。
566
名前:
564
:02/05/01 08:11
>>565
564のやつじゃだめってことか?
コンパイラとリンカ、それぞれの仕事を把握してから出直せ。
567
名前:
561
:02/05/01 08:50
>>562
勘違いでした^^;
ヘッダに実装も書いていたのですが、そこにうっかり普通の関数を混ぜてしまっていたのが原因でした
(戻り値がテンプレート型だったため「ありゃ!テンプレートが重複してるってエラーだよ!!」と思ってしまったのです)
>>562
さんのレスを読んで冷静になれたので気づきました。
ありがとうございました。
568
名前:
561
:02/05/01 08:55
>>563
なんか私のと似たような質問だな…。と思いつつペイフォワードしてみよう。
何が起こってるかがわからないですか?
それはテンプレートが展開されないから、.obj に実装が含まれてないんだと思いますよ。
569
名前:
デフォルトの名無しさん
:02/05/01 10:37
>>563
c.cpp の末尾に
template class C<int>;
を入れるよろし。
570
名前:
563
:02/05/01 12:06
>>569
ありがとうございます。
あなたは神です。
571
名前:
デフォルトの名無しさん
:02/05/01 13:16
ctypeの関数はマクロで書けるのにわざわざ関数にしてた・・
鬱だ死のう(-_- )
572
名前:
デフォルトの名無しさん
:02/05/01 15:52
引数付のマニピュレータの作り方を誰か教えて
もらえないでしょうか?お願いします。
573
名前:
デフォルトの名無しさん
:02/05/01 16:37
>>572
ios::のコード嫁。
ios::のマニュアル嫁。
読んだら作れ。
574
名前:
デフォルトの名無しさん
:02/05/01 17:26
std::advanceって、どうやってBidirectionalIteratorとRandomAccessIteratorを識別してるんですか?
template<class X, class Y>で受け取っちゃってるので、さっぱり想像できません
575
名前:
デフォルトの名無しさん
:02/05/01 20:16
>>574
例えば、今俺の手元にあるSGI版ならこんな風になっとる。
> template <class _InputIterator, class _Distance>
> inline void advance(_InputIterator& __i, _Distance __n) {
> __STL_REQUIRES(_InputIterator, _InputIterator);
> __advance(__i, __n, iterator_category(__i));
> }
第三引数がbidirectional_iterator_tagの __advance と
random_access_iterator_tag の __advance が多重定義されてるので
上手いこと処理が分かれる。
それ以上のことは iterator_traits とかなんとかその辺でも調べるべし。
576
名前:
デフォルトの名無しさん
:02/05/01 20:27
>>574
タグディスパッチ
http://www.boost.org/more/generic_programming.html#tag_dispatching
(どこかに邦訳があった気がするが)
577
名前:
デフォルトの名無しさん
:02/05/01 21:24
>>574
そこらへんの説明は、『Generic Programming ―STLによる汎用プログラミング―』
(アスキー)に詳しい。
578
名前:
デフォルトの名無しさん
:02/05/02 00:37
☆★☆★☆ ※『プログラマー』板は5/3予選です!※ ☆★☆★☆
/ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
| ○真面目に投票したい人は
| 日頃からプログラマー板にお世話になっている方、
| みずほの一件でプログラマーを応援したい方々。
| 普通に<<プログラマー>>で投票をお願いします。
| 清き一票を! / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
\__ __________ | ●不真面目な人達は
∨ Cafe de Biz CUBE | 期待されているからには何かをやらねば!
∧_∧ ∧_∧ | やはりここはマ板らしく、明らかに不正な
( ・∀・) (´∀`;) < ダントツ1位(でも無効票)を狙いましょう。
( つ )つ□ □ ⊂( ) | 真面目に投票する人の迷惑にならないよう、
┃レ __ | ̄ ̄ ̄ ̄ | .___ノ┃ | ネタ仕込みの方々は<<デスマーチ>>で投票。
┗━┳┳\ | ̄ ̄ ̄ ̄| ./━┳┳┛ | 汚れた一票を!
┃┃ |_____| .┃┃ \____________
天災もとい転載歓迎。自由にコピペどうぞ。
579
名前:
デフォルトの名無しさん
:02/05/02 01:10
VC++7には面白い構文が付け加わってるね
テンプレートでパラメータクラス内のメンバ探索のための __if_exist とか
親クラスの探索のための __super とか
処理系依存というのが嫌だけど・・・
580
名前:
デフォルトの名無しさん
:02/05/02 01:12
ヽ(゚∀゚)ノ スーパー!
581
名前:
デフォルトの名無しさん
:02/05/02 03:47
鯖あげ
582
名前:
デフォルトの名無しさん
:02/05/02 03:52
ヽ(゚∀゚)ノ イフエジスト!
583
名前:
デフォルトの名無しさん
:02/05/02 16:23
キタ━━( ゚∀゚ )━━!!!
アイディアモリ森!!!!
584
名前:
デフォルトの名無しさん
:02/05/02 16:47
| |_∧
|_|。▽゚) <イソライソアセソブラの出番だふぉるぁ〜アヒャッ
|文|⊂)
| ̄|∧|
 ̄ ̄ ̄ ̄
585
名前:
sage
:02/05/02 16:58
もう大好き!!
チュゥしちゃおう(*^3)
586
名前:
デフォルトの名無しさん
:02/05/02 17:39
>>575-576
ありがとうございました。
あんまり綺麗な解決方法じゃないなぁとか思ったけど。
しょうがないのかな
587
名前:
デフォルトの名無しさん
:02/05/02 21:49
>>586
boost ML でつい最近こんな話が出てたヨ。
http://lists.boost.org/MailArchives/boost/msg29007.php
588
名前:
デフォルトの名無しさん
:02/05/03 01:17
class PLUS{
public:int plus(int a,int b){return a+b;}
};
と書いて、
int c=PLUS().plus(12,12);
と書かなきゃいけないんだけど、
int c=PLUS(12,12);
と書きたい場合はどうすればいい?typedef,defienなしで。
コンストラクタにしたらreturn出来ないし・・・・・・
589
名前:
デフォルトの名無しさん
:02/05/03 01:33
>>588
operator()を使えば
PLUS()(12,12)とは書けそうな気がする。
590
名前:
微妙・・・
:02/05/03 01:34
class PLUS{
int buf1,buf2;
public:
int plus(){return 0;}
PLUS(int i,int n):buf1(i),buf2(n){}
operator int(){return buf1+buf2;}
};
591
名前:
デフォルトの名無しさん
:02/05/03 01:36
っつーか、それをわざわざクラスにしようって思う理由は何よ。
592
名前:
デフォルトの名無しさん
:02/05/03 01:37
PLUS<12, 12>()
593
名前:
デフォルトの名無しさん
:02/05/03 01:40
関数オブジェクトの練習?
594
名前:
588
:02/05/03 02:01
>>590
感謝感激雨あられ〜〜〜〜♪ありがとぉ
595
名前:
590
:02/05/03 02:26
>>594
あんた
>>591
さんの話を聞きなさい名
普通はこげなことやらんでしょうに
596
名前:
588
:02/05/03 02:36
>595
すみません
593さんの言うように「関数オブジェクト」というものの話を聴いて
作ってみたくなりまして。関数のように使うクラスであるからには
PLUS().plus(....)では醜いかな、と。
597
名前:
デフォルトの名無しさん
:02/05/03 02:37
関数オブジェクトだったら
>>589
だろ。
598
名前:
デフォルトの名無しさん
:02/05/03 02:42
関数オブジェクトは違うがな
int operator()(int i,int n){return i + n;}
てなやつを
Type obj;
int j = obj(12,12);
てなやつよん?
599
名前:
588
:02/05/03 02:42
違うの?
「関数オブジェクト」と言うからにはクラスを関数みたいに使えるように
するものだろうと、勝手に推測したんですが。
600
名前:
デフォルトの名無しさん
:02/05/03 02:43
>>599
それじゃ「関数オブジェクト」じゃなくて「関数クラス」になっちまう。
601
名前:
588
:02/05/03 02:44
>>599
・・・・・・うわ、考えてたのと全然違う。
602
名前:
588
:02/05/03 02:53
↑
>>598
の間違い
603
名前:
デフォルトの名無しさん
:02/05/03 02:59
関数オブジェクトはdelegateのショボイバージョン
604
名前:
デフォルトの名無しさん
:02/05/03 03:18
http://www.serbestyazilim.org.tr/eski/res/image002.jpg
stroustrup
禿てるけど(・∀・)カコイイ!!
ジェームスゴスリングより
(・∀・)カコイイ!!
605
名前:
デフォルトの名無しさん
:02/05/03 03:31
関数オブジェクトなんて、テンプレートと
併用してナンボだとおもうが。
606
名前:
デフォルトの名無しさん
:02/05/03 03:53
関数オブジェクトの利点て何?
普通の関数より便利?
607
名前:
デフォルトの名無しさん
:02/05/03 03:57
関数オブジェクトはインスタンスごとに状態をもてるから、
一種のクロージャとして利用することが出来る。
608
名前:
デフォルトの名無しさん
:02/05/03 04:07
>>607
ぐ・・・・具体例を・・・おねがい
609
名前:
デフォルトの名無しさん
:02/05/03 07:25
入れ子クラスの利点をきぼーそ。
610
名前:
デフォルトの名無しさん
:02/05/03 08:34
>>606
templateと合わせると、関数ポインタよりはinline展開が効きやすいかもしれない。
611
名前:
初心な人
:02/05/03 11:06
coutって書式が不便だと思うけどどう?
iostream.hにあるform()を使えとか書いてあるけど、g++した
らエラーだったし。
612
名前:
デフォルトの名無しさん
:02/05/03 11:23
>>604
いや、かっこよく写るように下から写している。
正面から写っているのはしょぼいぞ
613
名前:
デフォルトの名無しさん
:02/05/03 11:57
>>604
http://www.research.att.com/~bs/homepage.html
614
名前:
デフォルトの名無しさん
:02/05/04 13:15
今 boost のスマートポインタについて調べてるところなんですが、誰か教えて下さい。
weak_ptrのところに
> When the object last shared_ptr to the object goes away and the object
> is deleted, all weak_ptr objects have their stored pointers set to 0.
という英文があるんですけど、When 以下が良く分かりません。どういう時に
ポインタを0にすると言ってるんでしょう?last がどこにかかるのか分かって
いないだけだと思うので、英語の問題だからスレ違いと言えばスレ違いかもし
れませんが、たぶん使ってる方がいらっしゃるだろうと思うのでここで質問さ
せて下さい。
615
名前:
デフォルトの名無しさん
:02/05/04 13:20
shared_ptrの参照カウントが0になってオブジェクトが破棄されたら、
それを参照しているすべてのweak_ptrが0にセットされるってことだろ
616
名前:
614
:02/05/04 13:46
>>615
殿
はい、たぶんそんなような感じなんだろうなというのは分かるのですが、last
の意味がイマイチ掴めないんですよね・・・
とりあえずオブジェクトが破棄されたらゼロっつーのは分かるのですが・・・
617
名前:
デフォルトの名無しさん
:02/05/04 14:04
lastがわからないって何だよ。
一番最後にオブジェクトを参照していたshared_ptrが破棄さて(=参照カウントが0になって)
オブジェクトが破棄されたら〜 ってそのままじゃねーか。
618
名前:
614
:02/05/04 15:30
あぁなるほど、
When the object pointed by last shared_ptr goes away.....
って事ですか。ありがとうございます。
last が動詞なのかと思ってワケワカになっとりました。
スレ汚しスマソ。
619
名前:
デフォルトの名無しさん
:02/05/04 15:39
中学英語じゃねーか
620
名前:
デフォルトの名無しさん
:02/05/04 16:01
>>619
ツボにはまると、理解できなくなることはある。大目に見といてやれよ。
621
名前:
デフォルトの名無しさん
:02/05/04 16:09
PlatformSDKの文体とboostのドキュメントの文体とSGI STLのドキュメントの文体でも
色々異なるしな。
書き癖がつかめるまでは他のを読んでる場合でも?なことがある。
英語に達者な人はうらやましいねえ。
622
名前:
デフォルトの名無しさん
:02/05/04 16:14
漏れは中学生 それでも理解できたから中学英語と言ったんだゴルァ
623
名前:
デフォルトの名無しさん
:02/05/04 16:29
中学英語すらまともに押さえていないPGだって世の中には山ほど..
洋もののエロ小説とかpenthouseとかはすらすら読めるのになあ。
624
名前:
デフォルトの名無しさん
:02/05/04 17:07
>>622
褒めて欲しい? それなら技術系の板よりも、馴れ合い系の板に行くことを
薦めるが。
625
名前:
デフォルトの名無しさん
:02/05/04 17:12
エロ小説は読みやすね、知ってる単語がばっかりだし(w
あと、大統領候補者の演説が、以外にわかりやすい。
626
名前:
デフォルトの名無しさん
:02/05/04 17:17
> 大統領候補者の演説が、以外にわかりやすい
教育をロクに受けてない連中にも理解できるようにしてるのよ
627
名前:
JFK
:02/05/04 17:26
We chose to go to the moon.
We chose to go to the moon in this decade and do the other things,
not because they are easy, but because they are hard.
628
名前:
デフォルトの名無しさん
:02/05/04 17:35
「英文として正確な意味」を理解しようとしなければ、技術系の英文も比較的わかりやすいぞ。
基本的には知ってる単語ばかりだし、推測ができるし。
629
名前:
デフォルトの名無しさん
:02/05/04 20:23
Windows関連のコードだけどAPIとか関係なさそうなので
こちらに書かせて頂こうと思います。
メモリ上にあるビットマップのピクセルへのポインタを取得し、
インクリメントで1つ1つのピクセルを調べていくプログラムを
書いていたのですが、
for (y = 0; y < height; y++) {
for (x = 0; x < width; x++) {
if (*pBits = 0x00FFFFFF) { // 色を調べる
// 中略
}
pBits++; // ポインタをインクリメント
}
}
↑これはうまくいったのですが、
例えば任意の座標を調べたいときはどうすればよいのでしょうか?
*(pBits + x + y * width)だと実行時にエラーが出ました。
C++のポインタの基本のようなことだと思うのですが
よろしければ教えてください。
630
名前:
デフォルトの名無しさん
:02/05/04 20:25
>>629
ほんとにそのコードがうまくいったのか小一時間問い詰めたい。
1pxは何バイト?
631
名前:
デフォルトの名無しさん
:02/05/04 20:27
// 色を調べる?
632
名前:
デフォルトの名無しさん
:02/05/04 20:28
>>631
そこには突っ込んでやるな
633
名前:
デフォルトの名無しさん
:02/05/04 20:35
>>629
もちろんビットマップはトップダウンだよね。
634
名前:
デフォルトの名無しさん
:02/05/04 20:38
じつはパレットを持ったビットマップだったりして。
635
名前:
629
:02/05/04 20:46
ループについては上手くいきました。
ポインタは
COLORREF *pBits;
なのですが(COLORREFはWindowsの型で、=ダブルワードのようです)、
インクリメントでちゃんと次のピクセルを指してくれているようです
(つまり予想通りの結果になりました)。
また、ビットマップはボトムアップで、32bit(パレット無し)です。
(ループの部分ではxとyはループのカウントにしか使ってないです)
インクリメントで型サイズ分ポインタが進むのなら、と思ったのですが
普通の加算でダメだった理由がわかりません・・・
初心者なものでいまいち上手く説明できないですが
よろしくお願いします
636
名前:
デフォルトの名無しさん
:02/05/04 20:52
COLORREFはパレットの構造体だが・・・
Bitsに定まった型はない。
637
名前:
デフォルトの名無しさん
:02/05/04 20:55
じつはビットマップが24bitだったり
638
名前:
629
:02/05/04 20:56
すみません、原因がわかりました。
どうやら画像のサイズをはみでていたようです。
レスありがとうございました。
回線切ってマウスのコードで首吊(以下略
639
名前:
デフォルトの名無しさん
:02/05/04 21:05
>if (*pBits = 0x00FFFFFF) { // 色を調べる
代入してることには突っ込まなくてよかったのか?
640
名前:
デフォルトの名無しさん
:02/05/04 21:12
【´Д`;】
641
名前:
デフォルトの名無しさん
:02/05/04 21:12
回線切ったからいいんじゃない(藁
642
名前:
デフォルトの名無しさん
:02/05/04 21:34
>>639
>>631
みれ
643
名前:
デフォルトの名無しさん
:02/05/05 01:19
右側にレジスタ置いてもいいようにしたほうが使えるかな?
どうおもう?
644
名前:
643
:02/05/05 01:21
あうっ
誤爆しました、スマソ
645
名前:
デフォルトの名無しさん
:02/05/05 12:12
zukeiと云うクラスがあって、
zukei circle[1000];
zukei square[1000];
としたとき、マルの色、四角の色をそれぞれ、いっぺんに
赤、青にするのはどうしたらいいんでしょう?
for(int i=1;i<1000;i++){circle[i].color=red;}
なんていちいちやるしかないんですか?
circlecolorなんてグローバル変数を使って
他の部分にも影響出してしまうのもイヤです。
646
名前:
デフォルトの名無しさん
:02/05/05 12:23
>>645
いちいち、って for (int i = 0; i < LIMIT; i++){ ... } がベストだと思うが。
むしろ、なんでグローバル変数なんて言葉がここで出てくる?
colorってのはzukeiクラスのメンバで、それを変更したいんだろだろ?
647
名前:
デフォルトの名無しさん
:02/05/05 12:26
static int flag;
zukei(){if(flag++ < 1000)color = redの値; else color = blueの値;}
イクナイ?ヤッパリ....
648
名前:
デフォルトの名無しさん
:02/05/05 12:32
flag とは、つまり旗です。
649
名前:
デフォルトの名無しさん
:02/05/05 12:33
>>646
グローバル変数定義しといて、color の値が必要な時にそれを参照するっ
てことだろ。
>>645
は、何のためにクラス使うか良く考えた方がいいと思
うよ。
>>647
なにしたいかサパーリわからんけど、とにかく flag++ なんて言う気持ち
悪い変数名のつけ方やめろ。
650
名前:
647
:02/05/05 12:39
( ´Д⊂ヽうえーん気持ち悪いって言われたよ〜
651
名前:
デフォルトの名無しさん
:02/05/05 12:51
flag++はキモいだろ、やっぱ。
652
名前:
名無し
:02/05/05 12:52
>colorってのはzukeiクラスのメンバで、それを変更したいんだろだろ?
zukeiクラスのメンバーじゃなくっても、グローバル変数ならクラスの中
から参照できるでしょ。他に影響がでない、部分的なグローバル変数って
ないんですか?
653
名前:
647
:02/05/05 12:54
countの方がヨカタかな・・・
654
名前:
デフォルトの名無しさん
:02/05/05 12:55
こんなんか
class sukei {
static color;
};
655
名前:
デフォルトの名無しさん
:02/05/05 12:56
http://sakura2.room.ne.jp/~boogie/cgi-bin/img-box/img20020504213921.jpg
おおもりよしはる=ロリペドオタ、アニオタ、モツオタ、ベトオタ、ブルオタ、セガ信者
ひまわりと幼女のすじまんこに異様な執着心を燃やしているロリペド絵描き
2浪して九州大学歯学科に進むがプロのイラストレーターになるために大学を中退、
同人活動とUOに専念する日々を送るが、その生活は苦しいらしい(藁
自らを画家と呼び、ともすれば不真面目なものと見られかねないアニメ絵
それも、無毛のすじまんこすらも「芸術」の域にまで高めようとしている(らしい)。
現在、伝言板でチョンが暴走中!
■幼すじは至高の芸術!おおもりよしはる■
http://yasai.2ch.net/test/read.cgi/doujin/1020515485/
前スレ おおもりよしはるキタ━━(゚∀゚)━━━ !!!!
http://yasai.2ch.net/test/read.cgi/doujin/1018642526/
関連スレ
【すじ】 ようじょのすじ 【すじ】
http://www2.bbspink.com/test/read.cgi/erog/1017041827/
【抱き枕】すじ丸出し抱き枕ってどうよ?
http://mentai.2ch.net/test/read.cgi/otaku/1016198191/
■■■ロリ絵?おおもりよしはる■■■
http://www2.bbspink.com/test/read.cgi/erodoujin/1016297545/
アニメ絵が芸術?デムパロリコン男おおもりよしはる
http://yasai.2ch.net/test/read.cgi/net/1018005845/
コピペだけで会話するスレ@DTM板
http://pc.2ch.net/test/read.cgi/dtm/1012032352/
48: 柳さんトコの抱き枕カバーとかって・・・2枚買
http://comic.2ch.net/test/read.cgi/sakura/1019402459/
656
名前:
デフォルトの名無しさん
:02/05/05 12:57
>>653
2016倍ほどそっちのほうがいい。
657
名前:
647
:02/05/05 12:58
>>645
のやりことを勘違いしてたので逝って来ます・・・・(-_-)
658
名前:
デフォルトの名無しさん
:02/05/05 13:19
zukei::zukei( int c ) : color( c ) { /*...*/ }
std::vector<zukei> circle(1000, zukei(red)), square(1000, zukei(blue));
・・・これじゃだめかのぅ?
>>645
659
名前:
デフォルトの名無しさん
:02/05/05 13:40
std::fillで十分じゃろ。
660
名前:
デフォルトの名無しさん
:02/05/05 13:45
std::fill使っても659より簡単にはならぬと思うが。
661
名前:
デフォルトの名無しさん
:02/05/05 13:50
C++がOOPLじゃない点ってどんなところ?
662
名前:
デフォルトの名無しさん
:02/05/05 14:41
>for(int i=1;i<1000;i++){circle[i].color=red;}
circle[0]は初期化しちゃいけないの?
663
名前:
デフォルトの名無しさん
:02/05/05 14:50
main()がオブジェクトでもなんでもないところ。
664
名前:
デフォルトの名無しさん
:02/05/05 15:14
Ruby >>>>>>>>>>>>>>>>>>>>>>>>>>> C++
Rubyigainogenngohakuso !
あああRuby!tytytytytytyty
665
名前:
デフォルトの名無しさん
:02/05/05 15:17
GW 終わるまでの我慢だな...。
>>664
666
名前:
デフォルトの名無しさん
:02/05/05 15:20
Riubuy!!!!
667
名前:
デフォルトの名無しさん
:02/05/05 15:21
(プ(プ(プ(プ(プ(プ(プ(プ(プ(プ(プ(プ(プ(プ(プ(プ
プ(プ(プ(プ(プ(プ(プ(プ(プ(プ(プ(プ(プ(プ(プ(プ
(プ(プ(プ(プ(プ(プ(プ(プ(プ(プ(プ(プ(プ(プ(プ(プ
プ(プ(プ(プ(プ(プ(プ(プ(プ(プ(プ(プ(プ(プ(プ(プ
(プ(プ(プ(プ(プ(プ(プ(プ(プ(プ(プ(プ(プ(プ(プ(プ
プ(プ(プ(プ(プ(プ(プ(プ(プ(プ(プ(プ(プ(プ(プ(プ
(プ(プ(プ(プ(プ(プ(プ(プ(プ(プ(プ(プ(プ(プ(プ(プ
プ(プ(プ(プ(プ(プ(プ(プ(プ(プ(プ(プ(プ(プ(プ(プ
(プ(プ(プ(プ(プ(プ(プ(プ(プ(プ(プ(プ(プ(プ(プ(プ
プ(プ(プ(プ(プ(プ(プ(プ(プ(プ(プ(プ(プ(プ(プ(プ
(プ(プ(プ(プ(プ(プ(プ(プ(プ(プ(プ(プ(プ(プ(プ(プ
プ(プ(プ(プ(プ(プ(プ(プ(プ(プ(プ(プ(プ(プ(プ(プ
(プ(プ(プ(プ(プ(プ(プ(プ(プ(プ(プ(プ(プ(プ(プ(プ
プ(プ(プ(プ(プ(プ(プ(プ(プ(プ(プ(プ(プ(プ(プ(プ
668
名前:
デフォルトの名無しさん
:02/05/05 15:26
>>664
>>666-667
・・・・・・
( ΦωΦ)σ)´Д`)
669
名前:
668
:02/05/05 15:29
えんvwjkqえjkqうぇj
kqうぇjkqうぇjkqうぇjkqうぇjkqうぇjkq
うぇjkqうぇjkqうぇjkqうぇjkqうぇjkqうぇjk
qうぇjkqわrsfうぇfgtfgtfgtfgtfgtfgt
fgたえrw4あえrw4あえrw4あえrw4あえrw4あえrw
4あえrw4あえrw4ごーq23t5;、lq34¥mgvdfz
bv
dsv
v
dsvdslkhjう゛ぃお
Ruby!
670
名前:
デフォルトの名無しさん
:02/05/05 17:13
宇宙人も使ってる Ruby!!!
671
名前:
デフォルトの名無しさん
:02/05/05 17:47
ウチュー人しか使ってないRuby!!!
672
名前:
デフォルトの名無しさん
:02/05/05 17:56
子供「ママーあの
>>670
なに〜?」
ママ「しっ、見ちゃいけません!キチガイになっちゃうわ」
673
名前:
645
:02/05/06 12:22
645の質問。答は、static memberにしておけば、
クラス共通だからいっぺんに変えられるってことだね。
まともな返事ないから、自分で答えみつけちゃった。
2chのやつらって、たよりないなあ。こんな初心者の
質問にもまともに答えられねえなんて。
>zukeiと云うクラスがあって、
> zukei circle[1000];
> zukei square[1000];
> としたとき、マルの色、四角の色をそれぞれ、いっぺんに
> 赤、青にするのはどうしたらいいんでしょう?
> for(int i=1;i<1000;i++){circle[i].color=red;}
> なんていちいちやるしかないんですか?
> circlecolorなんてグローバル変数を使って
> 他の部分にも影響出してしまうのもイヤです。
674
名前:
デフォルトの名無しさん
:02/05/06 12:39
>>673
>>654
675
名前:
デフォルトの名無しさん
:02/05/06 12:44
が、しかし、circleとsquareをそれぞれいっぺんに変えることは出来ないという罠。
たよりない呼ばわりしてるくせに自分の質問の意味もわからんのか?
いちいち全部変えるか、それぞれに色IDでも持たしてIDと色のテーブル用意しれ。
676
名前:
デフォルトの名無しさん
:02/05/06 12:48
bakahahottoku
677
名前:
デフォルトの名無しさん
:02/05/06 14:00
C++にCで言う所のfreopenに相当するものがあるか教えて下さい。
お願いします。
678
名前:
デフォルトの名無しさん
:02/05/06 14:01
>>677
std::freopen()
679
名前:
デフォルトの名無しさん
:02/05/06 14:13
>>678
ありがとうございます。でも、ちょっと違う嗜好なのです。
たとえば、fstreamのオブジェクトをcinやcoutと結びつけたいのです。
tieやrdbufを使ってみましたがうまくいきません。
680
名前:
デフォルトの名無しさん
:02/05/06 14:34
fstreamをそのままcin/coutの替わりに使えばいいんでないの?
681
名前:
デフォルトの名無しさん
:02/05/06 14:45
>>680
そうなんですが、状況に応じて切り分けたいのです。
fileがopenできた時はそのまま使い、openに失敗した時はcinに結びつけて、
そのままプログラムを走らせて行きたいのです。
682
名前:
デフォルトの名無しさん
:02/05/06 14:58
>>681
こんな感じかえ?
void foo(istream& in)
{
なんらかの処理
}
int main()
{
ifstream f("ファイル名");
if(f.fail()){
foo(cin);
}else{
foo(f);
}
return 0;
}
683
名前:
デフォルトの名無しさん
:02/05/06 15:04
>>682
ありがとうございます。fstreamはiostreamから派生しているので、単純に
istreamで受ければいいのですね。
てっきり、cinをfstreamにダウンキャストするしかないと思いこんでいまし
た。dynamic_castを行っても失敗するし、やっぱりだめでした。
これでプログラム書いてみます。
684
名前:
デフォルトの名無しさん
:02/05/06 18:01
よほどのことがない限りキャストはやめたほーがいーよ。
685
名前:
名無し
:02/05/06 23:22
c++ってなじめないんだよな。出力書式なんかも不便そうだし。
printf("%-10s %6.2f %-04.5d,sarray,y,x);
なんてCの出力をC++ではどうするんだろcoutを使って。
686
名前:
デフォルトの名無しさん
:02/05/06 23:24
>>685
std::printf() を使う。
いや、もちろん I/O stream と組み合わせて書式指定する方法もあるんだけど、
何かと面倒なので俺は std::sprintf() 愛用してるよ。
687
名前:
デフォルトの名無しさん
:02/05/06 23:25
>>685
#include <cstdio>
してprintf使います。つーか、マニュピレータ調べてください。
688
名前:
687
:02/05/06 23:27
やってもーた... マニピュレータ...
シュミレーション...
689
名前:
デフォルトの名無しさん
:02/05/06 23:35
>>685
確かめてないからわからんけどこんな感じじゃないの?
cout << setw(10) << sarray << setw(0) << ' ' << setw(6) << setprecision(2) << y << setw(0) << ' ' << setw(5) << setfill('0') << x;
690
名前:
デフォルトの名無しさん
:02/05/06 23:41
>>689
さすがオブジェクト指向型言語
sarrayとyとx用にそれぞれoperator <<を定義するのが正道だな。
その中でstd::sprintfを使おうが何だろうが別にかまわないんでないの?
691
名前:
デフォルトの名無しさん
:02/05/06 23:41
s/さすがオブジェクト指向型言語 /さすがオブジェクト指向型言語のふりして手続き型プログラミング/
692
名前:
デフォルトの名無しさん
:02/05/06 23:42
>>689
吐き出すバイナリの効率はたぶんいいんだろうけど、記述の手間としては
泣きたくなるようなコードやねぇ。
>>685
の記述をしたら
>>689
相当のコードを吐いてくれるような
機能ってのを、どうにかならんもんかしら。テンプレートの拡張とかで。
693
名前:
デフォルトの名無しさん
:02/05/06 23:46
>>692
> 吐き出すバイナリの効率はたぶんいいんだろうけど
いや、ぜんぜん。
694
名前:
デフォルトの名無しさん
:02/05/06 23:49
>>692
stdio.hとiostreamの簡単なベンチマークテストをやってみたら、泣きたくなるほど
iostreamは遅いよ。
695
名前:
デフォルトの名無しさん
:02/05/06 23:51
処理系よって程度がちがうけどね。
VCとかのおまけiostreamは最悪かも。
そうでなくても、iostreamは遅いだろうけど。
696
名前:
デフォルトの名無しさん
:02/05/06 23:56
printf 使うなら ios::sync_with_stdio(); を忘れずに。
697
名前:
デフォルトの名無しさん
:02/05/07 00:03
>>696
それ初めて見た.. 俺もまだまだやね。
MSDN見る限りだと性能に影響が出るようだけど、そんなもんかね?
698
名前:
696
:02/05/07 00:12
>>697
これしとかないとエラー終了することがあります。
しゃれにならんっス。
699
名前:
デフォルトの名無しさん
:02/05/07 00:19
cin/couは10行プログラムぐらいでしかつかわないから気づかなかった。
700
名前:
デフォルトの名無しさん
:02/05/07 00:25
>>698
std::sync_with_stdio()はデフォルトでtrueじゃないのか?
701
名前:
696
:02/05/07 00:28
>>700
実際にエラー終了したことがあるんですよ。
ちなみに Cygwin の g++ で。
702
名前:
デフォルトの名無しさん
:02/05/07 00:29
ARMにはそんなもんのってやがらないんだけど、
それって標準ライブラリに含まれてるの?
703
名前:
デフォルトの名無しさん
:02/05/07 00:30
>>701
怖いっすねえ。まだまだ標準C++には準拠してない点があるという事か。
704
名前:
デフォルトの名無しさん
:02/05/07 00:36
>>702
ARMの時代にはなかったのではないでしょうか。
私も今ストリームバッファについての説明を「C++標準ライブラリ
チュートリアル&リファレンスを読んで解読している所です。
705
名前:
デフォルトの名無しさん
:02/05/07 00:36
そういう仕様があるといっても
ちゃんと準拠してるかどうか疑わなくてはいけない
C++ のやるせなさよ。
706
名前:
デフォルトの名無しさん
:02/05/07 00:38
一昔前のg++って使い物にならなかったよね。
ごく簡単なまともなコードなのにコンパイルが通らない。
ちなみにv 2.7.2
707
名前:
デフォルトの名無しさん
:02/05/07 00:39
g++はv 3.x.xが安定したら使うかねー。
それまでは別ので何とかしる。
708
名前:
デフォルトの名無しさん
:02/05/07 00:39
namespace周りでしょ?
その辺だとtemplateはVCよりもマシだったと思うし。
709
名前:
デフォルトの名無しさん
:02/05/07 00:40
やっぱりUNIX系ではCを使うべきだよ。
710
名前:
デフォルトの名無しさん
:02/05/07 00:44
UNIX or GNU系はあらゆる言語が使えてホスィ。
なんかそんな感じがする。
711
名前:
デフォルトの名無しさん
:02/05/07 00:45
C++の言語仕様の大きさから、コンパイラメーカーの負担がぐっと
増えたんだろうなあ。その結果としてバグがたくさん埋もれている。
ようやく標準に準拠できた頃に、C+=2 なんて言語ができてきたりして。
712
名前:
デフォルトの名無しさん
:02/05/07 00:46
C#では不足ナリか?
713
名前:
デフォルトの名無しさん
:02/05/07 00:46
>>711
> C+=2
ワラタ
C#がそのつもりらしいけど、全然違うな。
714
名前:
デフォルトの名無しさん
:02/05/07 00:47
テンプレートが未だにちょビット変なVC6だけど、我慢してつかっとります。
細かいver.upでバグの増えるg++/libg++はこわくてつかえません。
715
名前:
アマグラマ1号
◆r6Wx8cCc
:02/05/07 00:52
VC6はnewが失敗しても例外を返さないのがなんともかんとも。
STLは例外返すことを前提として組まれてるから
メモリが一杯になると不正アクセスになる罠。
_set_new_handler で例外返すようにしてるけど、
みんなどうしてます?
716
名前:
デフォルトの名無しさん
:02/05/07 00:56
>>715
コテハン?
この板では珍しいね。
717
名前:
shige
:02/05/07 01:02
haxa?
718
名前:
デフォルトの名無しさん
:02/05/07 01:03
>>717
出てこなくていいよ。お前もKusakabeもロ○鉄も
719
名前:
アマグラマ1号
◆r6Wx8cCc
:02/05/07 01:06
健全なコテハンを目指します。
アマですがどうぞよろしく。
720
名前:
sage
:02/05/07 01:07
>>715
ワシも_set_new_handlerつかってる。
721
名前:
デフォルトの名無しさん
:02/05/07 01:10
>>719
できればCスレでも回答してホスィ
722
名前:
アマグラマ1号
◆r6Wx8cCc
:02/05/07 01:24
>>720
やっぱみんな使ってるんですね。
ファイルを追加するだけでいいようにはしてるんですが、
ホントにみんなこんなことやってるのか
ちょっと不安だったんで。
>>721
分かる範囲で回答スマス。
723
名前:
デフォルトの名無しさん
:02/05/07 02:08
enum DATA{A=10,B=20,C=30};
template<DATA data>class AAA{};
ダメ??
724
名前:
723
:02/05/07 02:17
ごめん。漏れの頭が腐ってたわ。少し逝ってくるよ。
725
名前:
デフォルトの名無しさん
:02/05/07 02:34
>>715
VC.NET(SDK版)もbad_alloc投げないよ。
標準C++ライブラリが付属してないからだと思うけど。
726
名前:
アマグラマ1号
◆lo1UDXY2
:02/05/07 03:07
>>725
.NET でもまだ対応してないの!?
と思って VS.NET Academic で試したところ、大丈夫でした。
nothrow にもちゃんと対応していて、Good! です。
727
名前:
デフォルトの名無しさん
:02/05/07 03:08
あげとくか。
3時だし
728
名前:
デフォルトの名無しさん
:02/05/07 03:13
>>726
いや、だから。
.NET Framework SDK版のVC++は標準Cライブラリしか付属してないんで、
標準C++ライブラリに所属する std::bad_alloc が含まれていない。
従って、newはNULLを返す仕様であると言うこと。
729
名前:
アマグラマ1号
◆r6Wx8cCc
:02/05/07 03:19
>>728
.NET がそもそも bad_alloc を返さないという
万が一の可能性を考えてチェックしただけです。
やっぱ流石になかったようですね。
730
名前:
デフォルトの名無しさん
:02/05/07 16:58
CとC+とC++は、初めてやるならどれから勉強したほうがいいでしょうか?
731
名前:
デフォルトの名無しさん
:02/05/07 17:00
730
ねたですか?
732
名前:
デフォルトの名無しさん
:02/05/07 17:00
C+++++++++++++++++++++++++++++++++++++++++++++++>>>>>C++
733
名前:
デフォルトの名無しさん
:02/05/07 17:03
>>728
> VC++は標準Cライブラリしか付属してないんで、
・・・・・嘘だろ・・・?
じゃあprintfとかstrcmpとかしか使えないのか?
734
名前:
デフォルトの名無しさん
:02/05/07 17:07
今の時代はCよりDだな。
735
名前:
デフォルトの名無しさん
:02/05/07 17:13
>>733
疑うなら試せよ。
assert.h conio.h ctype.h direct.h dos.h eh.h errno.h excpt.h fcntl.h
float.h fpieee.h gcroot.h headers io.h limits.h locale.h malloc.h math.h
mbctype.h mbstring.h memory.h minmax.h new.h process.h search.h setjmp.h
setjmpex.h share.h signal.h stdarg.h stddef.h stdexcpt.h stdio.h stdlib.h
string.h tchar.h time.h typeinfo.h useoldio.h varargs.h vcclr.h wchar.h xmath.h
sys/locking.h sys/stat.h sys/timeb.h sys/types.h sys/utime.h
付属しているヘッダ。
C++として使うためにどうしても必要なnew.hおよび、例外系のベースヘッダは
ついてるけど、それだけ。
736
名前:
デフォルトの名無しさん
:02/05/07 17:21
>>735
sys/*.hが標準Cライブラリかよ!
737
名前:
736
:02/05/07 17:24
dos.hもconio.hもあるじゃない(ワラ
738
名前:
デフォルトの名無しさん
:02/05/07 17:37
ActiveX(COM)からクライアントDDEを呼ぶを作っています。
DdeConnectでDMLERR_NO_CONV_ESTABLISHEDエラー
でクライアントとの対話に失敗してしまいます。
COMからの呼び出しですと、何かDDEへのアクセス権
が欠けるのでしょうか?
ご存じの方いらっしゃいましたらお願いします。
739
名前:
デフォルトの名無しさん
:02/05/07 17:40
C++初心者ですけど設計理念についてお聞きしたいです。
クラスって’機能’に注目して、変数や、その変数を扱う関数を単にまとめただけっていうのはありですか?
いわゆる汎用性のある、組込型の様な新たな’型’を設計するのでなければ上記のようなクラス設計ってかなり需要がありそうなんですが。
たとえばコンソールクラスは、テキストバッファやアトリビュートバッファ、それらを処理する関数を単にまとめただけ。
オブジェクトは一つで十分なのでコピーも代入演算子も書かない。そういうのってよくありますか?
740
名前:
デフォルトの名無しさん
:02/05/07 17:41
よくある。
そもそも クラス=型 としているC++が少し特殊なだけ
741
名前:
デフォルトの名無しさん
:02/05/07 17:45
C++初心者がいきなりクラス設計をするとは・・・
デザパタに当てはめて設計するのがいいかと。
742
名前:
デフォルトの名無しさん
:02/05/07 17:48
よくある勘違い。
そもそも 型≒バイト数と勘違いしてるやつが多いだけ
743
名前:
デフォルトの名無しさん
:02/05/07 17:50
>>742
ハァ?
744
名前:
デフォルトの名無しさん
:02/05/07 18:10
>>743
ハァ? ?
745
名前:
s
:02/05/07 18:23
>そもそも クラス=型 としているC++が少し特殊なだけ
けっこう勉強したつもりなんだけど未だにクラスと型の区別がつかぬ。
どゆいみ?
746
名前:
デフォルトの名無しさん
:02/05/07 18:25
>740-744
そうですか。実践の場では良くあるって事でよろしいでしょうか?
どうもありがとうございました。
747
名前:
デフォルトの名無しさん
:02/05/07 18:40
>>745
C#の struct と class の違いを考えてみな。
要は値型か参照型かと言うことなんだけど。
748
名前:
デフォルトの名無しさん
:02/05/07 18:42
目に見える(ソースに書いた)物はもちろん型だけど、
それ自体がインスタンスを表すかどうか、と言うことだね。
749
名前:
デフォルトの名無しさん
:02/05/07 18:50
>>739
つーか結局、クラスの設計をするって事は、新しい型の定義をするってことだ。
>>745
ってことで、クラスは型の一例。
750
名前:
s
:02/05/07 18:58
>747
ホンマに?(それなら余裕で分かるんだけど・)
>748
つまりstaticメンバのみのクラス(class/struct)や、
namespaceは型ではないということ?
(namespaceはもちろん型じゃないけど)
■過去ログ置き場に戻る■
1-
前250
次250
最新50
DAT2HTML
0.33f Converted.