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


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

スレを勃てるまでもないC/C++の質問はここで 2



1 名前:デフォルトの名無しさん mailto:sage [2007/05/07(月) 11:02:46 ]
スレを勃てるまでもない低俗なC/C++の質問はここでお願いします。

スレを勃てるまでもないC/C++の質問はここで
pc11.2ch.net/test/read.cgi/tech/1167476845/


820 名前:810 [2007/08/11(土) 09:46:02 ]
おはようございます。
3時過ぎまで頑張っていました。

>>817
そうです。分けたらおかしくなりました。

>>818
Global.h に extern class cHoge *p[4]; と書き、どこでも良いので関数内で
cHoge *p[4]; p[0] = new cHoge; は上手く行きました。

所で、extern class cHoge ではなく、extern cHoge なのですか?
そう書くとずらずらエラーがでるのですが……
ちなみに、他にもextern class hogehoge *tmp; という書き方でグローバルな
インスタンスを3つほど作っていて、そちらは問題なく動いているのですが、
これはexternに対する私の理解が根本的に間違っているのでしょうか?

>>819
えっと、その通りです。global.cppは、関数を含まないソースファイルです。
Global.hでextern宣言したものに実体を与えてグローバルクラスとして使うための
ものです。
上記の通り、トップから外して関数ないで宣言したら普通に使えました。
やはり、根本的に何か間違っていますか?


821 名前:デフォルトの名無しさん mailto:sage [2007/08/11(土) 10:27:14 ]
>>820
何というか・・・

まず1つ目
グローバルなオブジェクトには、どこかに実体が必要だが、
その実体というのは、cHoge*なのであってcHogeではない。
グローバルスコープでnewするのは行儀が悪いのでやるべきではない。

2つ目
クラスの定義が既に済んでいるのであれば、class は書く必要がない。
もしclassを書かないと具合が悪いのであれば、クラスの定義が済んでいない。

3つ目
グローバルなオブジェクトは気軽に作るべきではない。

822 名前:810 [2007/08/11(土) 10:53:07 ]
>>821
実はいま、グローバルを極力廃止して書き直してます。
そちらでは問題なく動いています。

「よく使うのはもう纏めてグローバルにしたら?」って言われてやってみたのですが、
確かに初動は早いけどひとたびエラー起こったらわけ分からなくなりました。

>その実体というのは、cHoge*なのであってcHogeではない。
!!!
class書かないとエラーでるので、仰るとおり、定義されてないようです。
そうか、そういうことだったのか……

グローバルスコープでのnewもやめます。
ありがとうございました。


823 名前:デフォルトの名無しさん mailto:sage [2007/08/11(土) 22:17:31 ]
最近C++を始めて、静的配列のdelete[]クラッシュにはまったんですが、疑問があったので質問

以下のコードでクラッシュしないのはなぜ?
#include <string>
int main(){
int is=0; //これが無いとクラッシュ
std::string array[2] = {"hoge", "fuga"};
delete[] array;
return 0;
}

コンパイラはMS製です

824 名前:デフォルトの名無しさん mailto:sage [2007/08/11(土) 22:18:44 ]
そもそもdeleteなんているのか?newがみえないんだが・・・

825 名前:デフォルトの名無しさん mailto:sage [2007/08/11(土) 22:26:43 ]
new[] してないものを delete[] してはいけません。
new[] と delete[] は1対1

826 名前:823 mailto:sage [2007/08/11(土) 22:27:30 ]
いらないことは分かってますけど、ただ疑問に思ったので…
上記のエラーを探ってた時に、変数の有り無しでプログラムのクラッシュするしないが変わるものかなと…

827 名前:デフォルトの名無しさん mailto:sage [2007/08/11(土) 22:29:22 ]
スタック破壊。

828 名前:デフォルトの名無しさん mailto:sage [2007/08/11(土) 22:31:41 ]
>>826
たまたま使ってるコンパイラではクラッシュしなかっただけの話だろ。
他のコンパイラだと鼻から悪魔が出てきても文句は言えない。



829 名前:デフォルトの名無しさん mailto:sage [2007/08/11(土) 22:36:29 ]
>>826
その手の行為で、どんなことが起きるかは、基本的に予測できない。
間違ったことをした、ずーーーーーっと後で落ちる、っていうことも多い。
知らないうちに関係ない変数が書き換わってる、とかいう現象になることもある。

830 名前:デフォルトの名無しさん mailto:sage [2007/08/11(土) 23:38:38 ]
サンクス、何となく理解した

831 名前:デフォルトの名無しさん mailto:sage [2007/08/11(土) 23:40:09 ]
>>810=>>822
1〜2KByte以下のRAMの少ないマイコンならそういうテもあるが、
そうでもなければグローバルにまとめるのはやめとけ。

PCのプログラミングならグローバル変数を使わなくてはならない状況はまず考えつかない。
仮にあったとしても、保守erが苦労するだけなので使わないようにしている。

ちなみに、
hoge_type *p[10];

みたいな用例は時折あると思うが、演算子の評価順と同じで、この p は、
hoge_type *p;
が10個ある配列になる。だから、通常は

ヘッダファイル
extern hoge_type *p[10];
か、
extern hoge_type *p[];
になる。

時々間違えるのは、ちょっとうまい使い方を覚えたC/C++言語erが

hoge_type *p[10];
という定義に対して

extern hoge_type **p;
または
extern hoge_type p[][10];
などとしてしまうことであり、これは正常に働かない。




832 名前:デフォルトの名無しさん mailto:sage [2007/08/11(土) 23:54:09 ]
>>823
ちょっと論点をずらすが、

std::string array[2] = {"hoge", "fuga"};

これは、std::stringの定義を理解した上での記法であり、
std::stringは引数が空のコンストラクタを持っているので、

std::string array[2];
array[0] = "hoge";
array[1] = "fuga";

とした方が安全。


833 名前:デフォルトの名無しさん [2007/08/12(日) 00:14:06 ]
VC++2005 Express Editionでは、atoi()やstrtok()といった古い関数は使えないのでしょうか?
VC6で作ったソースを読み込んでコンパイルしたら、コンパイルは通るのですがリンカエラーがでます。
必要なヘッダのincludeはしています。
”LNK2019: 未解決の外部シンボル __imp__strtok が関数 _main で参照されました。”
というリンカエラーやLNK2001がでます。

#include <stdio.h>
#include <string.h>

int main(void)
{
char str[] = "ABCD ef.1234.G";
char *tp;
tp = strtok( str, " ." );
puts( tp );
while ( tp != NULL ) {
tp = strtok( NULL," ." );
if ( tp != NULL ) puts( tp );
}
return 0;
}

例えばこれだと、putsにもstrtokにも同じ上記リンカエラーがでます。
お手上げです。よろしくおねがいします。


834 名前:デフォルトの名無しさん [2007/08/12(日) 00:30:30 ]
板違いかもしれません。ですが質問します。
同じ質問をVBスレでしたのですが、
私の聞いた事がレベルが低いのか、書き方が悪いのか、
回答が得られなかったので書きます。

C#.NETとVB.NETの違いって何ですか?

調べてみると、(触り程度)
C#.NETにメモリーを切る(確保)概念が無くなったと。
だったら、方言とコンパイルの速度だけの違いになりますか?

835 名前:デフォルトの名無しさん mailto:sage [2007/08/12(日) 00:33:36 ]
>>834
言語が違うってだけじゃ不満?

836 名前:デフォルトの名無しさん mailto:sage [2007/08/12(日) 00:35:57 ]
C#.NET と VB.NET の違い・・・ 言語が違います。以上。

メモリーを切るって意味不明

837 名前:デフォルトの名無しさん mailto:sage [2007/08/12(日) 00:38:45 ]
ふと、疑問に思った。
.NET自体触ったことないんだけど、VB.NETってインタプリタじゃないの?

838 名前:デフォルトの名無しさん mailto:sage [2007/08/12(日) 00:45:30 ]
ない
JITでネイティブコードにコンパイルされる



839 名前:デフォルトの名無しさん [2007/08/12(日) 00:47:01 ]
ちょっと、この話は興味ある。
言語が違うだけって、書き方が違うだけなの?
C#の方が、いろいろ出来るイメージがあるけど。

840 名前:デフォルトの名無しさん mailto:sage [2007/08/12(日) 00:47:50 ]
やっぱそうなのか・・・
C#とVBでネイティブコードレベルで違いって大きくでたりするもの?
って、違いがあったら.NETの意味がなくなるからそんなことない?

841 名前:デフォルトの名無しさん [2007/08/12(日) 00:53:04 ]
人から聞いた話。
C#の方が早いって聞いた。(アプリの動き)
あと、マイクロソフトがVBよりC#に重きを置いてるとも。

842 名前:デフォルトの名無しさん mailto:sage [2007/08/12(日) 00:53:27 ]
>>840
ない。前にMSがC#でもVB.NETでも同じコードをコンパイルしたら、
同じIL(中間言語)になると宣伝していた覚えもある。
(ただしデフォルトではオプションが異なるので、そのままでは全く同じILにならないという註付きで)

>>834
記憶域を確保するという概念がなくなったというより、
それを解放する操作を明示する必要がなくなったというのがより正確。
そして、それは.NETの特徴なので、これはC#でもVB.NETでも同じ。

843 名前:デフォルトの名無しさん mailto:sage [2007/08/12(日) 00:54:30 ]
つまりは慣れてる言語で書くのがいいってことでFA?

844 名前:デフォルトの名無しさん [2007/08/12(日) 00:56:43 ]
>>842
ありがとうございます。

う〜ん、あまり、VBとC#の差異が見えませんね。
調べてみたら、C#の方が開発期間が長くなるとありました。


845 名前:デフォルトの名無しさん mailto:sage [2007/08/12(日) 01:07:57 ]
VB.NET だと unsafe コードが書けない、っていうのはある

846 名前:デフォルトの名無しさん mailto:sage [2007/08/12(日) 01:30:13 ]
どうでも良いが、なんでこのスレで質問したんだろう・・・。
C#もVB.NETも、C/C++とはほとんど関係ないと思うんだが。

847 名前:デフォルトの名無しさん mailto:sage [2007/08/12(日) 03:53:27 ]
「スレ立てるまでもない質問はここで」と見間違えたとかかな?

848 名前:デフォルトの名無しさん mailto:sage [2007/08/12(日) 07:14:32 ]
>>823
「クラッシュ」と一言で片付けるあたりがダメぽ。
せっかくランタイムライブラリやOSが情報をくれているのにね。

ちなみにdelete[]の実装を見てみ。



849 名前:デフォルトの名無しさん mailto:sage [2007/08/12(日) 07:23:19 ]
>>833
「エラーが出ます」と言って思考停止するなよ。

エラーメッセージは読むこと。
意味がわからなければ、リンカのマニュアルのエラーの解説を読むこと。

850 名前:デフォルトの名無しさん mailto:sage [2007/08/12(日) 07:30:35 ]
>>844
VB.NETとC#は当初、機能に違いがなく、字面だけの違いで、機械的に相互にコンバート可能だった。
ぶっちゃけ、VB.NETにはVB風の字面という存在価値しかなかった。

ところが、VB専門の連中が、
VB.NETへの移行のために勉強すべきことが多すぎて嫌だと拒否したので、
しかたなく、VB.NETはVBに近くなるように、C#と機能に違いを持たせることになった。

そういう経緯なので、C#に何の抵抗も無い人は、C#とVB.NETで開発期間は違わない。
VB.NETを使ったほうが便利な部分があれば、そこだけピンポイントでVB.NETで書けばいい。


851 名前:デフォルトの名無しさん mailto:sage [2007/08/12(日) 08:26:46 ]
鼻から悪魔なんて久しぶりに

852 名前:デフォルトの名無しさん mailto:sage [2007/08/12(日) 08:37:28 ]
>>844
ぶっちゃけ、セミコロンがあるかないかの違い。
VBしか書けないダメ派遣はどうやってもセミコロンが書けないらしいよ。

853 名前:デフォルトの名無しさん [2007/08/12(日) 10:19:37 ]
自前の構造体で、
その構造体の中で入力の>>演算子をオーバライドしようとしても上手くいきません。。。

struct {
 int x;
 istream& operator>>(istream& s) {
  s >> x;
 }
}

こうじゃないんですか?



854 名前:デフォルトの名無しさん mailto:sage [2007/08/12(日) 10:39:05 ]
>>853
それは演算子の左辺が構造体で右辺が istream の >> を定義していることになる

855 名前:デフォルトの名無しさん [2007/08/12(日) 11:01:31 ]
>>854
左辺はistreamじゃないんですかね。。。
勉強不足みたいなんで出なおしてきます。
ありがとうございました。


856 名前:デフォルトの名無しさん mailto:sage [2007/08/12(日) 11:18:12 ]
int main(void)
{
String s1;
String s2;
String s3("CCC");
String s4("DDD");
s1.set("AAA");
s2.set("BBB");
s2.add(s3);
s4.add("EEE");
printf("s1:[%s](%d)\n", s1.get(), s1.getLength());
printf("s2:[%s](%d)\n", s2.get(), s2.getLength());
printf("s3:[%s](%d)\n", s3.get(), s3.getLength());
printf("s4:[%s](%d)\n", s4.get(), s4.getLength());
cout << "s1:[" << s1.get() << "](" << s1.getLength() << ")" << endl;
cout << "s2:[" << s2.get() << "](" << s2.getLength() << ")" << endl;
cout << "s3:[" << s3.get() << "](" << s3.getLength() << ")" << endl;
cout << "s4:[" << s4.get() << "](" << s4.getLength() << ")" << endl;
return 0;
}
結果:
s1:[AAA](3)
s2:[BBBCCC](6)
s3:[CCC](3)
s4:[DDDEEE](6)
s1:[AAA](3)
s2:[BBBCCC](6)
s3:[](3)
s4:[DDDEEE](6)
s3の値がcoutで出したときおかしいのだが、bcc55ってこんなに馬鹿なのか?
それともおれが馬鹿?

857 名前:デフォルトの名無しさん mailto:sage [2007/08/12(日) 11:26:57 ]
>>851
鼻から悪魔が出るは、何の例えになるのでしょうか?

858 名前:デフォルトの名無しさん mailto:sage [2007/08/12(日) 11:37:57 ]
i = i++; のような未定義のコードは何が起きるか分からないという話
未定義のコードを実行をした結果、たとえ鼻から悪魔が出てきたとしても、その処理系は規格に反してはいない

まぁ現実問題、そんなことで悪魔を呼び出せるんならすでに世の中は悪魔だらけだ



859 名前:デフォルトの名無しさん mailto:sage [2007/08/12(日) 11:47:24 ]
>>856
bccのStringクラスの仕様が判らんからなんとも言えんが、どうも挙動が不自然だね。

860 名前:デフォルトの名無しさん mailto:sage [2007/08/12(日) 11:52:56 ]
>>858
ワクワクしますね、何処かに冒険家いませんかね?
ありがとうございました

861 名前:デフォルトの名無しさん mailto:sage [2007/08/12(日) 11:55:03 ]
>>859
Stringクラスは自前なんですが。。
どうやら、cout時点でs3の中のchar*pが""になってるみたいです。
coutの後でprintfしても出ませんでした。
C++初心者状態なのでclassの作り方に失敗してるのかもしれませんね。
coutにバグがあるとも考えにくいですから。。。

862 名前:デフォルトの名無しさん mailto:sage [2007/08/12(日) 12:44:25 ]
>>861
んじゃ、領域破壊をしているに一票。
add()の辺りが怪しいと見た。

863 名前:デフォルトの名無しさん mailto:sage [2007/08/12(日) 14:09:48 ]
バイナリハックに一票です

864 名前:デフォルトの名無しさん mailto:sage [2007/08/12(日) 14:30:42 ]
BCCは3.0から4.5まで愛用したクチだが、いまどきBCCはないだろう。

マイクロソフトのVC++なら、メモリ破壊を(ある程度)検出する機能が付いているよ。

865 名前:デフォルトの名無しさん mailto:sage [2007/08/12(日) 14:33:38 ]
自分も昔はBCC愛用してましたが、VC++Expressが出たからもう使ってない

866 名前:デフォルトの名無しさん mailto:sage [2007/08/13(月) 03:14:05 ]
僕は自分でC++コンパイラ作って使ってますけど

867 名前:デフォルトの名無しさん mailto:sage [2007/08/13(月) 03:18:34 ]
iccやmsvc、gccには一生かかっても勝てません

868 名前:デフォルトの名無しさん [2007/08/13(月) 03:19:19 ]
これからC++を勉強しようとしている者ですが
なにか良い勉強ツールはないでしょうか?
できれば「Study C」のようなプログラムをコンパイルせずに実行できるようなものがいいんですが...



869 名前:デフォルトの名無しさん mailto:sage [2007/08/13(月) 03:22:32 ]
開発環境ってこと?

870 名前:デフォルトの名無しさん mailto:sage [2007/08/13(月) 03:23:51 ]
VC++でも使ってろ

871 名前:デフォルトの名無しさん mailto:sage [2007/08/13(月) 03:25:15 ]
VC++Expressがいいんじゃないの?無料だし



872 名前:デフォルトの名無しさん mailto:sage [2007/08/13(月) 03:25:45 ]
昔Macintosh使って悪魔を呼び出すって映画があったよな。

>>868
コンパイルをせずにというのが何を意味しているのかよく分からないんだけど、
正直、自分でコードを書かずに言語が身につくとはとても思えない。
コマンドラインからのコンパイルが面倒だというなら
Visual C++ 2005 Express Edition を落として使えばいいんじゃないかと。

873 名前:デフォルトの名無しさん mailto:sage [2007/08/13(月) 03:26:42 ]
インタプリタってことだろ

874 名前:デフォルトの名無しさん mailto:sage [2007/08/13(月) 03:27:33 ]
あるいはアセンブリャか

875 名前:デフォルトの名無しさん mailto:sage [2007/08/13(月) 03:30:43 ]
あのう

PIC使って自動あえぎ声再生機能付きダッチワイフを作りたいんですけど
何から始めたらよかですか?

876 名前:デフォルトの名無しさん mailto:sage [2007/08/13(月) 03:32:40 ]
この人何いうとっと?

877 名前:デフォルトの名無しさん mailto:sage [2007/08/13(月) 03:33:02 ]
完全防水型圧力センサー

878 名前:868 [2007/08/13(月) 03:36:43 ]
的確な言葉がいえずすいません
プログラム文を書いてワンボタンでそのプログラムの実行結果が確認できるようなツールがほしいのです.
以前C言語の勉強をしていたときに使っていた「Study C」がそういうものだったんでC++でも似たものがないかと思い質問してみました.



879 名前:デフォルトの名無しさん mailto:sage [2007/08/13(月) 03:36:46 ]
せがらしか

880 名前:デフォルトの名無しさん mailto:sage [2007/08/13(月) 03:39:53 ]
CINT

881 名前:デフォルトの名無しさん mailto:sage [2007/08/13(月) 03:57:32 ]
>>876>>879
九州人じゃなかごたんね
無理して九州弁ばしゃべらんでよかよ

882 名前:デフォルトの名無しさん mailto:sage [2007/08/13(月) 04:02:09 ]
ばってん

883 名前:デフォルトの名無しさん mailto:sage [2007/08/13(月) 04:10:27 ]
ばってん何ね?

884 名前:デフォルトの名無しさん mailto:sage [2007/08/13(月) 04:12:11 ]
九州男児を舐めん方がよかね

885 名前:デフォルトの名無しさん mailto:sage [2007/08/13(月) 04:14:04 ]
残念
格助詞の「を」は「ば」になるんだ

886 名前:デフォルトの名無しさん mailto:sage [2007/08/13(月) 04:15:38 ]
ばりちろ

887 名前:デフォルトの名無しさん mailto:sage [2007/08/13(月) 04:16:37 ]
そがどないしたと

888 名前:デフォルトの名無しさん mailto:sage [2007/08/13(月) 04:18:34 ]
創作方言やろうぜ



889 名前:デフォルトの名無しさん mailto:sage [2007/08/13(月) 04:18:51 ]
どない→どげん/どがん

890 名前:デフォルトの名無しさん mailto:sage [2007/08/13(月) 04:20:33 ]
「どぎゃん」とは言わんと?

891 名前:デフォルトの名無しさん mailto:sage [2007/08/13(月) 04:20:41 ]
(#^ω^)ピキピキ

892 名前:デフォルトの名無しさん mailto:sage [2007/08/13(月) 04:24:02 ]
>>890
言う

893 名前:デフォルトの名無しさん mailto:sage [2007/08/13(月) 05:01:36 ]
せからしか!

894 名前:デフォルトの名無しさん mailto:sage [2007/08/13(月) 05:26:22 ]
そうかしら!

895 名前:デフォルトの名無しさん [2007/08/13(月) 05:40:05 ]
なんでこんな流れに?

896 名前:デフォルトの名無しさん mailto:sage [2007/08/13(月) 05:41:10 ]
暇な学生が多い
暇な社会人も(もしかしたら普段より)多い(かもしれない)

897 名前:デフォルトの名無しさん [2007/08/13(月) 05:48:12 ]
夏ですな蝉も鳴き始めた時間です

898 名前:デフォルトの名無しさん mailto:sage [2007/08/13(月) 05:48:39 ]
お前が上げるからじゃ!



899 名前:デフォルトの名無しさん mailto:sage [2007/08/13(月) 05:51:36 ]
さいでした

900 名前:デフォルトの名無しさん [2007/08/13(月) 06:17:36 ]
自演厨通報しますた

901 名前:デフォルトの名無しさん mailto:sage [2007/08/13(月) 06:28:31 ]
通報しないで|(●)ム(●)| 

902 名前:デフォルトの名無しさん mailto:sage [2007/08/13(月) 06:29:08 ]
いやんばか

903 名前:デフォルトの名無しさん mailto:sage [2007/08/13(月) 08:52:03 ]
>>878
> プログラム文を書いてワンボタンでそのプログラムの実行結果が確認できるようなツールがほしいのです.

それは目的ではなく手段だよね。

まず、
試行錯誤的にプログラムを書き換えて、「たまたま」目的の動作をするのを見つけ出す
というのは、やめたほうがいい。かえって遠まわりになる。

次に、
勉強段階の人ほど優秀なコンパイラ&デバッガを使ったほうがいい。
とくにデバッガの優劣は、勉強の効率に非常に大きく効いてくる。

というわけで、VC++を勧める。Express Editionで事足りるかはわからないが。

904 名前:903 mailto:sage [2007/08/13(月) 08:57:55 ]
それからもう一つ。

Webで無料で見られるサイト「だけ」で勉強しようとしているのなら、それは良くない。
良質なサイトはたくさんあるが、それでも、良質な本のほうがずっと優れている。

つまらないところで躓くのは、
・それに必要な知識が抜け落ちている
・間違った知識を取り込んでしまっている
・下手な解説に惑わされている
といったことが原因になりやすい。

本を買うのにはお金がかかるが、
人生の限られた時間を浪費するのに比べたら、
本を買うお金なんて安いものです。

905 名前:デフォルトの名無しさん mailto:sage [2007/08/13(月) 09:02:30 ]
ちゃんと勉強できる人にはデバッガは強力なツールになるが、
そういう人はデバッガがなくても自分で工夫して何とかできる。
また、デバッガに頼って結果第一主義になると規格に則った知識が身につかない。

従って、余り勧めない方がいいと私は思う。

906 名前:デフォルトの名無しさん mailto:sage [2007/08/13(月) 09:28:13 ]
できる・できない、ではなくて、効率の話なんだけどなぁ。

そりゃぁデバッガなくたってデバッグは可能さ。
でも無駄に労力使うでしょう?

907 名前:デフォルトの名無しさん mailto:sage [2007/08/13(月) 09:30:22 ]
少なくとも、この手のスレで、
自分が書いたプログラムがうまく動きません、何が悪いのかサッパリわかりません。教えてください。
なんていうような質問する人は、デバッガでステップ実行すらしてないのよ。


908 名前:デフォルトの名無しさん mailto:sage [2007/08/13(月) 09:53:08 ]
STL等のテンプレートを使うと、ステップ実行は非常に効率が下がるのだが。




909 名前:デフォルトの名無しさん mailto:sage [2007/08/13(月) 12:12:15 ]
だから、デバッガをきちんと役立てることができる人には、わざわざ勧める必要がないんだけどな。
勧められないと使えない人は、きちんと役立てることができないだろうからやはり、勧める必要がないんだ。

910 名前:デフォルトの名無しさん mailto:sage [2007/08/13(月) 12:14:06 ]
デバッガがなくても自分で工夫して何とかできる人ほど、デバッガを使うんだなこれが。


911 名前:デフォルトの名無しさん mailto:sage [2007/08/13(月) 12:27:42 ]
>>909
そんなことを言っていたら、
自力で習得できない人はプログラミングに向いてないから辞めたほうがいい
ということになってしまうぞ。

スレを見ていると、
デバッガでステップ実行しろ!
と言われて、素直にステップ実行して問題解決している人も、少しはいる。
どんなに能力や素質、やる気があっても、知るチャンスがなければどうにもならない。

残念ながらステップ実行しろと言われても無視しているような馬鹿のほうが多いけどな。

912 名前:デフォルトの名無しさん mailto:sage [2007/08/13(月) 12:30:03 ]
>>911
>自力で習得できない人はプログラミングに向いてないから辞めたほうがいい
私の主張したいところはまさしくそこです。

913 名前:デフォルトの名無しさん mailto:sage [2007/08/13(月) 12:36:56 ]
>>912
向いてる向いてないに関わらずやらにゃならん状況はあるわけで。

914 名前:デフォルトの名無しさん mailto:sage [2007/08/13(月) 12:41:05 ]
そんな香具師にデバッガ渡したら、「偶偶動いたからOK」的なプログラムを量産される羽目になりかねんが。

915 名前:デフォルトの名無しさん mailto:sage [2007/08/13(月) 14:11:38 ]
それはデバッガ使わないやつこそそうなるだろう。
デバッガに消極的な人は、便利なツールの無い環境でやってんの?

916 名前:デフォルトの名無しさん mailto:sage [2007/08/13(月) 15:15:39 ]
ステップ実行しない = 意図したとおりのパスを通っているか確認しない
ということなわけで、偶然動いているだけなのを見過ごしてしまいやすい。

917 名前:デフォルトの名無しさん mailto:sage [2007/08/13(月) 15:18:17 ]
うわぁ、イコールで結んじゃったよ。

918 名前:デフォルトの名無しさん mailto:sage [2007/08/13(月) 19:42:47 ]
>>916
趣味でのプログラムの話?仕事でのプログラムの話?
趣味のプログラムならPTなんかしないし(ていうかテスト自体しないけど)
仕事のPTでデバッガ使ってやるような個人に頼ったテストはほとんどしない。

まぁPTで通しにくいパスも確かにあるんで、
デバッガ使ってパス確認を全否定するつもりはないけども、
常にソレに頼るようなのはアホだと思うけどね。



919 名前:デフォルトの名無しさん mailto:sage [2007/08/13(月) 20:14:39 ]
>>918
自分は仕事でも趣味でも、程度の差はあるけれども、書いたコードは1度はステップ実行するよ。
PTではなくCDで。会社によってはCDとPTを一緒にしてCPTと呼んでいるかもしれないが。

趣味だとテストなんてしないに等しいから、なおさら、ステップ実行は大切だよ。


920 名前:デフォルトの名無しさん mailto:sage [2007/08/13(月) 20:18:41 ]
はいはい






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

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

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