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


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

C++相談室 part69



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

前スレ
C++相談室 part66
pc12.2ch.net/test/read.cgi/tech/1231640498/

※part63, part66 が重複していたようですので part69 としました。

29 名前:デフォルトの名無しさん mailto:sage [2009/05/05(火) 10:39:31 ]
intとかについては T() の結果がマチマチじゃなかったかねえ

30 名前:デフォルトの名無しさん mailto:sage [2009/05/05(火) 10:40:13 ]
>>28
はい、それですと、
int型のクラスで言うところのデフォルトコンストラクタ
により0で初期化してくれるのですか?

たとえばstd::string str;だとデフォルトコンストラクタにより""になりますけど
int i;だと初期化されませんよね。

・・・と思いましたが、そう言えばint()で0が返るんでしたね
失礼しました。

31 名前:デフォルトの名無しさん mailto:sage [2009/05/05(火) 10:42:00 ]
>>29-30
組み込み型でもT()で全て初期化してくれるんじゃなかったか?
誰か有識者plz

32 名前:デフォルトの名無しさん mailto:sage [2009/05/05(火) 11:02:21 ]
8.5あたりに書いてあるな
イニシャライザが空の括弧(要するに()のこと)の場合はdefault-initializeされ、
PODに対してのdefault-initializeとはzero-initializeであって、
スカラー型に対してのzero-initializeとはその型での値0をセットすることである
と決められてる

だからint()は0初期化が保証されてると考えておk

ちなみにint i;みたいなのは「イニシャライザなし」であって()で初期化する場合とは区別される
イニシャライザなしの場合は非PODはdefault-initializeだが、PODの場合は不定値と決まっている

33 名前:30 mailto:sage [2009/05/05(火) 11:07:19 ]
>>32
理解出来ました!
ありがとうございました。

34 名前:デフォルトの名無しさん mailto:sage [2009/05/05(火) 11:41:15 ]
pimplのインターフェースクラスのメンバ関数の実装はどこに書くべき?

具体的には↓↓
pimplイディオムを使うことを想定してMyClassとMyClass_implを定義した。
class MyClass_impl;
class MyClass
{
boost::shared_ptr<MyClass_impl> pimpl;
public:
int foo();
//以下略
};
ここで、MyClassのpublicメンバ関数int foo()からMyClass_implのメンバ関数int foo()を呼び出すように
int MyClass::foo()
{return pimpl->foo();}
と定義しろと学んだんだが、これはどこに書くべきなの?
実装ファイル.cpp(MyClass_implの定義と実装が書かれている)に書くべきなのか、
それともMyClassクラスの定義されたヘッダファイル.hに書かないと意味ないの?

35 名前:34 mailto:sage [2009/05/05(火) 11:44:16 ]
ただしMyClassクラスの定義されたヘッダファイル.hは
変更されないように極力努めるが、
実装ファイル.cpp(MyClass_implの定義と実装が書かれている)が
しょっちゅう変更される物として。
お願いします。

36 名前:デフォルトの名無しさん mailto:sage [2009/05/05(火) 12:33:26 ]
>>35
MyClass.cppでfooの実装とMyClassImpl.hをインクルードすれば済むんじゃね?

37 名前:デフォルトの名無しさん mailto:sage [2009/05/05(火) 13:56:10 ]
別にimplがクラスである必要はネエ、PODでもOKと考えれば判ること。
cpp内でPOD*をキャッチボールしたりコンストラクタが役立たずになったりして
コンパイラの最適化お仕事の邪魔になるだろうけど



38 名前:34 mailto:sage [2009/05/05(火) 14:53:46 ]
ふむ、となると、
int MyClass::foo()
{return pimpl->foo();}
これはどこに書くといいのかい?


39 名前:デフォルトの名無しさん mailto:sage [2009/05/05(火) 15:17:54 ]
そもそもそれヘッダに書けるの?
MyClass_implの定義は実装ファイル.cppに書かれてるんでしょ?

40 名前:34 mailto:sage [2009/05/05(火) 15:26:33 ]
>>39
あ・・・そもそもMyClass_implが不完全型だから
fooを持っているかどうか分からないから書けないのか。

ごごごごごごごめん

 正直すまんかった。


41 名前:デフォルトの名無しさん mailto:sage [2009/05/05(火) 15:32:19 ]
>>38
cppに書けば実装を隠蔽できる

42 名前:デフォルトの名無しさん mailto:sage [2009/05/05(火) 15:33:02 ]
>>37
ん?ClassとPlain Old Data、どっちで_implを実装すべきだというのだい?
興味あるからその辺の話を聞かせてほしい。

43 名前:34 mailto:sage [2009/05/05(火) 15:35:27 ]
>>41
pimplには実装の隠蔽という役割もあったか。
よし、本気で勉強してみるわ。thx

44 名前:デフォルトの名無しさん mailto:sage [2009/05/05(火) 15:44:06 ]
POD*を丸々投げ返す様なローカル関数が無けりゃどっちでも良いんじゃないかな

45 名前:42 mailto:sage [2009/05/05(火) 15:46:08 ]
>>44
ほう、特にどちらでもおk、と。
どうも。

46 名前:42 [2009/05/05(火) 23:18:16 ]
しかし中々興味深いな。
明確な解ではないとはいえ、私の情報論理構成の範疇外の事象とは。
おっと、言葉が過ぎたようだ。また組織から小言をもらってしまう。
では。

47 名前:42 mailto:sage [2009/05/05(火) 23:28:50 ]
>>46
おい成りすますなよ
オレオレ詐欺かw



48 名前:42 mailto:sage [2009/05/06(水) 02:15:10 ]
私はバカです。

49 名前:42 mailto:sage [2009/05/06(水) 02:16:48 ]
釣れた!

50 名前:デフォルトの名無しさん mailto:sage [2009/05/06(水) 12:26:54 ]
std::cout << HOGE << ':' << PIYO << std::endl;
みたいに書く時って、
std::cout << HOGE << ":" << PIYO << std::endl;
とどっちがいいの?

51 名前:デフォルトの名無しさん [2009/05/06(水) 13:18:40 ]
どちらでもお好きに。

52 名前:デフォルトの名無しさん mailto:sage [2009/05/06(水) 13:20:44 ]
1バイトのみの出力であれば、「NUL文字までループ」しない分、前者の方がわずかながら速いだろう。
しかし気にするほどではない。

53 名前:デフォルトの名無しさん mailto:sage [2009/05/06(水) 13:24:50 ]
考え方によっては":"が何回も出て来るなら、
同じ文字列をマージする最適化をコンパイラが行うとかは考えられない?

54 名前:デフォルトの名無しさん mailto:sage [2009/05/06(水) 14:13:20 ]
考えたくない

55 名前:11 mailto:sage [2009/05/06(水) 14:19:35 ]
また来てすみません
 コンテナのa < b
 lexicographical_compare(a.begin(), a.end(), b.begin(), b.end())

sed::setの場合は格納している値を辞書式に比較すると言うことでしたが、
std::mapの場合はどうなるのでしょうか?
mapの格納している要素はkeyと値の組になっていますが
どちらで比較するのでしょうか?

サンプルソース
C++ code - 51 lines - codepad
ttp://codepad.org/XOdZ3Avt

mymap<yourmapがtrueとなるのは
 Rule1:mymapの最初のkey < yourmapの最初のkey の時。
 Rule2:(mymapの最初のkey == yourmapの最初のkey) ならば (mymap[key]で得られる値 < yourmap[key]で得られる値) の時。
 Rule3:最初のkeyも最初の値も同じなら、次の要素でRule1, Rule2を適用する。
 Rule4:Rule3にてmymapの方がyourmapより先に次の要素が無くなった時。
といった感じがするのですが、ご存じの方いらっしゃいますか?


56 名前:50 mailto:sage [2009/05/06(水) 14:20:47 ]
>>51-54
どうでも良い程度の差ってことか。
どうも。

57 名前:デフォルトの名無しさん [2009/05/06(水) 14:25:31 ]
VS2008をダウンロードして起動してみたのですが、
全くどう使っていいのかわかりません…
画像付きで解説してるサイトはありませんか?

とりあえずハローワールドすら出来ないと泣きそうです
VBAなら少しさわったことあります
よろしくお願いします




58 名前:デフォルトの名無しさん mailto:sage [2009/05/06(水) 14:28:56 ]
>>57
★初心者にVisual C++を教えるスレ★ Part33
ttp://pc12.2ch.net/test/read.cgi/tech/1235292263/


59 名前:デフォルトの名無しさん [2009/05/06(水) 14:29:25 ]
msdn.microsoft.com/ja-jp/library/szatc41e.aspx

60 名前:デフォルトの名無しさん [2009/05/06(水) 14:33:21 ]
>>58
おお、そんなスレがありましたか失礼しました
>>59
ありがとうございます!

61 名前:11 mailto:sage [2009/05/06(水) 15:31:33 ]
>>55
・・・な〜んか違うよーな。
コンテナの比較って相変わらず分からないです。

62 名前:デフォルトの名無しさん mailto:sage [2009/05/06(水) 15:39:41 ]
>>61
あってんじゃね?俺も知らんけど、見た感じそうなってると思う。

63 名前:デフォルトの名無しさん mailto:sage [2009/05/06(水) 15:56:35 ]
その理解でいいだろ。
lexicographical_compare(a.begin(), a.end(), b.begin(), b.end())
は対応するイテレータがそれぞれ参照している要素をoperator<で比較していく。
mapのイテレータが参照しているのはpair<key_type,mapped_type>。
pair<first_type,second_type> x,y に対して x < y が真になるのは
x.first < y.first または !(y.first < x.first) && x.second < y.second が真になるとき。

64 名前:デフォルトの名無しさん mailto:sage [2009/05/06(水) 15:58:48 ]
>>63
× !(y.first < x.first) && x.second < y.second
○ y.first == x.first && x.second < y.second

65 名前:64 mailto:sage [2009/05/06(水) 16:07:08 ]
あ、pairって等価ベースだったか。すまん。

66 名前:デフォルトの名無しさん mailto:sage [2009/05/06(水) 17:49:02 ]
本を買って通勤中や暇な時間に勉強しようと思うのですが、
オススメはありますか?
上の方のレス見たらそんな本は捨てた方がいいとか書いてあって怖くなりました(間違った知識がつくんじゃないかと)

とりあえず古本屋も見てみたのですが、10年ぐらい前のしかありませんでした…

67 名前:デフォルトの名無しさん [2009/05/06(水) 17:56:43 ]
やさしいC++ 第3版



68 名前:デフォルトの名無しさん mailto:sage [2009/05/06(水) 17:58:45 ]
ありがとー!
さっそく買ってきます

69 名前:デフォルトの名無しさん mailto:sage [2009/05/06(水) 19:11:35 ]
レビューとか読んでからにしろよ。

70 名前:デフォルトの名無しさん mailto:sage [2009/05/06(水) 19:36:39 ]
教えてください、以下のプログラムでいい方法がないものかと。
またはC++的にはこう書いた方が正しい等です。

//-------------------
class AA { int a1; };
//-------------------
class BB {
AA **app;
void setapp(int no) {
app = new (*AA)[no]; //<-ここが不明 エラーになる
}
};
//-------------------
int _tmain(int argc, _TCHAR* argv[])
{
BB dat;
dat.setapp(10);
}
1.<−−ここが不明の部分の書き方
2.こんなのは良くない、もっといい方法がある。
の2つです。お願いします。

71 名前:11 mailto:sage [2009/05/06(水) 20:30:32 ]
>>62-63
ありがとうございます。
最終的には、>>55の見解で良いとのことですが、
(pairが)等価ベースとはどういう事でしょうか?



72 名前:デフォルトの名無しさん mailto:sage [2009/05/06(水) 20:34:12 ]
>>70
エラーメッセージが読めるようになってからまたお越し下さい。

73 名前:デフォルトの名無しさん mailto:sage [2009/05/06(水) 20:37:40 ]
>>70
もしかして多言語の経験者かい?


74 名前:70 mailto:sage [2009/05/06(水) 20:43:33 ]
error C2226: 構文エラー : 'AA' 型指定子の前あるいは内部で構文エラーが発生しました。
エラーメッセージは上記です。 正直わからないから聞いているので。
答えられないのであればあきらめます。

75 名前:デフォルトの名無しさん mailto:sage [2009/05/06(水) 20:45:14 ]
>>74
> 答えられないのであればあきらめます。
ああそうか、じゃあ俺の頭じゃ答えられないわ。


76 名前:デフォルトの名無しさん mailto:sage [2009/05/06(水) 20:46:35 ]
app = new AA*[no];

77 名前:70 mailto:sage [2009/05/06(水) 20:52:41 ]
>>76
出来ました、ありがとうございます。
所で、クラスの配列を動的に作ってアクセスする場合。
この様なポインターの配列をnewしてクラスデーターを入れて管理するのは。
ごく普通のやり方でしょうか? どうもなんか、いまいちなような気がして・・・



78 名前:デフォルトの名無しさん mailto:sage [2009/05/06(水) 20:53:01 ]
>>70
> 2.こんなのは良くない、もっといい方法がある。
強いて挙げると
 newで得た配列はデフォルトコンストラクタでしか初期化されません。
 ポインタの(と言いますか組み込み型の)配列となると全く初期化されませんけど大丈夫ですか?
ということと
 setappがpublic:じゃいのでアクセスできませんよ。
ということと
 忘れずにdeleteしてくださいね
ということと
 もしかしたらnewで例外が発生するかもしれませんよ
ぐらいかな。

79 名前:デフォルトの名無しさん mailto:sage [2009/05/06(水) 20:57:12 ]
一応、std::vector を使うのがいいかなと思う。std::vector<AA*> って感じ。
これでも>>78の問題はほとんどそのままだが。

80 名前:78 mailto:sage [2009/05/06(水) 20:58:23 ]
>>77
そもそも>>70だとAAのインスタンスは一つも存在していないんだけど、
それは分かっている?分かっていない?


81 名前:70 mailto:sage [2009/05/06(水) 21:00:59 ]
public:忘れてました、すみません。 最終的に
//-------------------
class AA { int a1[10]; };
//-------------------
class BB {
public:
AA **app;
void setapp(int no) {
app = new AA*[no]; //<-ここが不明
}
};
//-------------------
int _tmain(int argc, _TCHAR* argv[])
{
BB dat;
dat.setapp(3);
dat.app[0] = new AA();
dat.app[1] = new AA();
dat.app[2] = new AA();
}
こんな感じでうまくいったのですが、本当にこのままでいいのだろうかという疑問が・・・

82 名前:70 mailto:sage [2009/05/06(水) 21:06:15 ]
std::vector 使ったことないです、調べて見ます。ありがとうございます

83 名前:デフォルトの名無しさん mailto:sage [2009/05/06(水) 21:08:14 ]
あとはboost::ptr_vector<AA>とか

84 名前:78 mailto:sage [2009/05/06(水) 21:10:22 ]
>>81
> こんな感じでうまくいったのですが、本当にこのままでいいのだろうかという疑問が・・・
>>78にあるとおり、良くない。
いつdeleteするかとか、newが4回あるうちのどこかで例外が発生しうるがその時はどうするかとかは?
たぶんboostないしstd::tr1のshared_ptrが必要になるのではないでしょうかね。

・・・ってstd::vector使ったこと無いのか。
じゃあまずSTLのお勉強だな。

85 名前:デフォルトの名無しさん mailto:sage [2009/05/06(水) 21:14:26 ]
STLの前にポインタの勉強からじゃ

86 名前:デフォルトの名無しさん mailto:sage [2009/05/06(水) 23:45:57 ]
構成上、どうしてもコンストラクタで例外を投げたいんだけど、
良いんだよね?別に。
そう言うこともあるよね?


87 名前:デフォルトの名無しさん mailto:sage [2009/05/06(水) 23:50:53 ]
某サイトで「コンストラクタで例外を投げるな」なんて書いた人がいたけど
基本的には問題ないし、コンストラクタで正常にオブジェクトの構築が出来ないときは
例外を投げるのが最も適切。

もし、気になっている問題があるなら、具体的に書いてもらってもいいけど。



88 名前:デフォルトの名無しさん [2009/05/07(木) 00:05:27 ]
>>86
全く問題ないよ。

89 名前:デフォルトの名無しさん mailto:sage [2009/05/07(木) 00:13:08 ]
>>71
> (pairが)等価ベースとはどういう事でしょうか?
その元レスは直前のレスに対する独り言のようなものだろうから文面をそのまま受け取っては駄目。
おそらく以下の説明のようなことを踏まえての発言。

pairのoperator<はまずfirst同士を比較して、それが等しければsecond同士を比較するという流れ。
ここで等しければを判定するのに等値かどうかで判定するのではなく等価かどうかで判定する。

90 名前:デフォルトの名無しさん mailto:sage [2009/05/07(木) 00:21:12 ]
>>86
後始末が必要なものをしっかりかたづけてればおk。

A(){
 h = gethandle(); // 後で明示的に解放する必要あり
 /* このあとに例外投げるかもしれない処理を行う */
}

~A(){
 releasehandle(h);
}

みたいな場合、例外をコンストラクタの外に投げる前に後始末が必要。

91 名前:デフォルトの名無しさん mailto:sage [2009/05/07(木) 00:32:28 ]
「解放すべきもの(newで確保されたメモリや、その他のリソースなど)を保持してデストラクタで解放する」
という仕事をするためのクラスを利用すると、例外に対処しやすい。

そういうクラス自体の設計時は例外安全に注意する必要がある(コンストラクタでうかつに例外を投げてはならない)
が、そういうクラスの利用者のほうは適当に例外を投げてもリソースリークが起こらないようになる。

92 名前:デフォルトの名無しさん mailto:sage [2009/05/07(木) 00:44:59 ]
日本語でおk

93 名前:91 mailto:sage [2009/05/07(木) 01:02:48 ]
>>92は俺に言ってる?

例えばスマートポインタを使う場合が最も分かりやすい。
次のようなクラス MyClass があったとする。

class MyClass {
public:
 MyClass();
 ~MyClass();
private:
 MyAnotherClass* p;
};

で、MyClass::MyClass() の内部で p = new MyAnotherClass(); などとして、
MyClass::~MyClass() で delete p; しているとする。この場合、MyClass::MyClass() が迂闊に例外を
スローすると、MyClass::~MyClass() が実行されないためにpが解放されない場合があるから、
例外をスローする場合はpの解放がきちんとされるように、注意深くコードを書かなければならない。

ただし、メンバ変数 p をポインタではなくスマートポインタとすると、そのような注意は不要となる。
例えば std::auto_ptr<MyAnotherClass> p; となっていて、MyClass::MyClass() の内部で
p(new MyAnotherClass()); とした場合、たとえMyClass::MyClass()が例外をスローしても
newされたものはちゃんと解放されるから、神経質にならなくて済む。

忘れてはならないのは、スマートポインタのコンストラクタが迂闊に例外をスローしてしまうと、
結局、リソースリークの可能性は消えないということだ。まあ自分でスマートポインタを書いて使うことは
普通の人はないと思うけど、実際 boost::shared_ptr 等はコンストラクタで例外を投げる場合があり、
その場合でもリソースリークが起こらないようにちゃんと配慮されている。

94 名前:91 mailto:sage [2009/05/07(木) 01:08:31 ]
ごめん、std::auto_ptr 使って p(new MyAnotherClass()); は無いね。
コンストラクタのメンバ初期化子に書いたと思ってくれ。

95 名前:デフォルトの名無しさん mailto:sage [2009/05/07(木) 08:24:20 ]
>>91
「そういうクラス」「そういうクラスの利用者」って何?

「そういうクラスの利用者『のほう』」って何と比べてるの?

96 名前:デフォルトの名無しさん mailto:sage [2009/05/07(木) 10:34:03 ]
>>95
文脈から明らかでないか?



97 名前:デフォルトの名無しさん mailto:sage [2009/05/07(木) 11:10:34 ]
明らかじゃないから聞いてるんだろ。
明らかだと思うなら、どう明らかか書けばいい。



98 名前:デフォルトの名無しさん mailto:sage [2009/05/07(木) 11:16:18 ]
例えば、>>93>>91の説明であるならば、
>>93に登場するクラスのどれが、「そういうクラス」に相当するのか?

99 名前:11 mailto:sage [2009/05/07(木) 11:35:51 ]
>>89
等値(equality)
a == b
等価(equivalence)
!(a < b) && !(b < a)
これの事ですね。
ありがとうございました。

100 名前:デフォルトの名無しさん mailto:sage [2009/05/07(木) 11:36:10 ]
>>98
std::auto_ptr とか boost::shared_ptr とかが「そういうクラス」。

101 名前:100 mailto:sage [2009/05/07(木) 11:37:50 ]
まあクラスじゃなくてクラステンプレートか。
std::auto_ptr<MyAnotherClass> とかが「そういうクラス」だと思ってもらえれば。

102 名前:86 mailto:sage [2009/05/07(木) 11:51:26 ]
>>87-101
サンクス。
でかいクラスじゃなく、リソース漏れも起こすことはないハズのコーディングにしてあるので
大丈夫だ。どうも!

103 名前:デフォルトの名無しさん mailto:sage [2009/05/07(木) 15:40:22 ]
>>101
thx


104 名前:デフォルトの名無しさん [2009/05/09(土) 16:12:48 ]
std::vector< std::pair< key_t, value_t > > v;
for( std::vector< std::pair< key_t, value_t > >::iterator i = i.begin();....

というコードがあるとして、for文の「std::vector< std::pair< key_t, value_t > >」のように
長いテンプレート型書く必要が多々あり、それが面倒に感じます。
「v.self_type」のような、変数名から型を引っ張ってくるような
仕組みは出来ないものでしょうか?

105 名前:デフォルトの名無しさん mailto:sage [2009/05/09(土) 16:15:39 ]
typedef すれば?

106 名前:デフォルトの名無しさん mailto:sage [2009/05/09(土) 16:22:02 ]
次期規格でdecltypeというのが出来るが今は無理

107 名前:デフォルトの名無しさん mailto:sage [2009/05/09(土) 16:25:10 ]
typedef しとけ



108 名前:デフォルトの名無しさん mailto:sage [2009/05/09(土) 16:32:54 ]
>>105-107
承知しました。
ありがとうございました。

109 名前:デフォルトの名無しさん mailto:sage [2009/05/09(土) 17:09:32 ]
decltype よりゃ auto じゃね

110 名前:デフォルトの名無しさん mailto:sage [2009/05/09(土) 17:10:34 ]
>>107
だからC++03ではtypmlateのtypedefは無理だっつーに

111 名前:デフォルトの名無しさん mailto:sage [2009/05/09(土) 17:11:17 ]
×typmlate
○template

112 名前:デフォルトの名無しさん mailto:sage [2009/05/09(土) 17:16:55 ]
>>110
部分特殊化のような形の typedef は無理だが
>>104 みたいなのは全く問題ないっつーか、常套手段だろ

113 名前:デフォルトの名無しさん mailto:sage [2009/05/09(土) 17:17:48 ]
>>110
パラメータが確定してるテンプレートクラスならできるぞ
できないのはtypedefのテンプレート

114 名前:デフォルトの名無しさん mailto:sage [2009/05/09(土) 17:17:57 ]
>>110
・・・まさかやったこと無いわけじゃないよな?

115 名前:デフォルトの名無しさん mailto:sage [2009/05/09(土) 17:21:48 ]
typedef typename std::vector< std::pair< key_t, value_t > > hoge;

通りませんでしたよ^^
VC2008

116 名前:デフォルトの名無しさん mailto:sage [2009/05/09(土) 17:30:40 ]
typename要らない

117 名前:デフォルトの名無しさん mailto:sage [2009/05/09(土) 17:55:02 ]
釣り臭いな



118 名前:デフォルトの名無しさん mailto:sage [2009/05/09(土) 18:03:04 ]
>>115
using alias使うんだよ
using hoge = std::vector< std::pair< key_t, value_t > >;

119 名前:デフォルトの名無しさん mailto:sage [2009/05/09(土) 18:19:02 ]
素だろ
また的外れてるし。

120 名前:デフォルトの名無しさん mailto:sage [2009/05/09(土) 18:48:32 ]
>通りませんでしたよ^^
これは釣りだろ

121 名前:デフォルトの名無しさん mailto:sage [2009/05/09(土) 23:06:38 ]
VC++の学習用にサブPCを導入しようと思うのですが、
atom330でも問題なさそうでしょうか
あまりに重そうならE1400辺りで自作しようと思います

122 名前:デフォルトの名無しさん mailto:sage [2009/05/09(土) 23:46:34 ]
別に問題ないだろ
IDE使いたいなら話は別だが

123 名前:デフォルトの名無しさん mailto:sage [2009/05/10(日) 00:12:43 ]
>>121
全く問題ないよ。
IDE使ったところで問題なんて起きないから大丈夫。

124 名前:デフォルトの名無しさん mailto:sage [2009/05/10(日) 00:20:19 ]
VC++2008EE使っていますが、
変数の値を常に表示する方法はありますか?
現在はcout<<hoge;みたいなものを随所に入れています
VBにあったウォッチウィンドウみたいな奴が欲しいです・・

125 名前:デフォルトの名無しさん mailto:sage [2009/05/10(日) 00:34:37 ]
メニューの
デバッグ|ウィンドウ|ウォッチ
デバッグ|クイックウォッチ

126 名前:デフォルトの名無しさん mailto:sage [2009/05/10(日) 00:34:47 ]
>>124
無いわけ無い。
それともEEだと存在しないとか??

127 名前:デフォルトの名無しさん mailto:sage [2009/05/10(日) 00:44:28 ]
>>125-126
ttp://www1.axfc.net/uploader/Img/so/45753.jpg
ないっぽいです・・
イミディエイトウィンドウならあるんですが、無料だとこんなものかもしれません



128 名前:デフォルトの名無しさん mailto:sage [2009/05/10(日) 00:51:16 ]
>>127
メニューにはデバッグ実行中でないと出てこないはず
というか、初期状態でデバッグ実行したら下に自動変数とかローカル変数のタブ出てこない?

129 名前:デフォルトの名無しさん mailto:sage [2009/05/10(日) 00:53:32 ]
確かに間違って閉じちゃうと探すのに苦労するね







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

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

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