[表示 : 全て 最新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/


792 名前:デフォルトの名無しさん mailto:sage [2007/08/09(木) 17:39:13 ]
>>790
WinMain や main は、それを呼び出すルーチンがあって
リンク時にそれをリンクしてるだけなんだぜ。
そのルーチンがどうなってるかは気にならないのか

793 名前:デフォルトの名無しさん mailto:sage [2007/08/09(木) 17:49:47 ]
>>791
>C言語で書かれた物が、全てmain()を持っているわけではありません。
そうなんですか・・。Cの全てのソフトがmainとかWinMainで始まると思っていました。

>main()はアプリケーションの入り口としての規格上の共通部であり、どう実装されるかは環境依存です。
つまり色んなOSのアプリケーションの入り口として〜mainなのですか。

>>792
>WinMain や main は、それを呼び出すルーチンがあって
>リンク時にそれをリンクしてるだけなんだぜ。
>そのルーチンがどうなってるかは気にならないのか

気になりますね。でも、そーゆーの気になりだすと
最終的には電気信号とかのレベルまで行かなくならなきゃならなそうです。。。
とりあえず今はC勉強します。お二方とも解答ありがとうございます。

794 名前:デフォルトの名無しさん mailto:sage [2007/08/09(木) 17:56:36 ]
アセンブラの勉強をしてみるといいかもね。

795 名前:デフォルトの名無しさん mailto:sage [2007/08/09(木) 18:06:10 ]
あ専ブラですか、分かりました。

796 名前:デフォルトの名無しさん mailto:sage [2007/08/09(木) 18:12:19 ]
俺の発言みたいにとられるようなレスしないでください。
どうでもいいけど。

797 名前:デフォルトの名無しさん mailto:sage [2007/08/09(木) 18:13:05 ]
crt0.asm とかね

798 名前:デフォルトの名無しさん mailto:sage [2007/08/09(木) 18:17:29 ]
>>796
お前の発言みたいにとらないでください。
どうでもいいならレスするな死ね。

799 名前:794=791 mailto:sage [2007/08/09(木) 18:29:29 ]
>>796
自己主張したいならコテでもつけとけ。

800 名前:デフォルトの名無しさん mailto:sage [2007/08/09(木) 18:32:30 ]
>>798
だって>>793のレスに対して>>794はレスされたのに
無関係のお前が>>795みたいなレスされたら誤解するだろ。

>>799
こんな馬鹿げた自演してどうすんだよ。しょーもない。
やっぱどの板でもID表示欲しいわ。とりあえず今日はROMる。



801 名前:デフォルトの名無しさん mailto:sage [2007/08/09(木) 18:34:36 ]
どうでもいいんだろ。
誤解されとけや

802 名前:デフォルトの名無しさん mailto:sage [2007/08/09(木) 18:45:21 ]
>>793
本題から少し脱線してしまうが・・・
Windowsのアプリケーションの入り口は、厳密には、WinMainではないよ。

Windowsがアプリの実行ファイル(EXE)をロードして実行する際の入り口は、
「エントリポイント」と呼ばれているが、それは特定の名前のC言語の関数ではない。
C言語に限定されていないし、ましてや、C言語の関数名でもない。

マイクロソフトのCコンパイラ・リンカを使っているのであれば、
リンカのマニュアルで/ENTRYオプションの説明を読むべし。


803 名前:デフォルトの名無しさん mailto:sage [2007/08/09(木) 18:46:53 ]
アセンブラの勉強しても仕方ないだろう。
マシン後とアセンブリー言語が理解できるようになってから、アセンブラを勉強したほうがイイ。


804 名前:デフォルトの名無しさん mailto:sage [2007/08/09(木) 18:54:11 ]
マシン「語」
アセンブリ「言語」
なんて使う必要がなければ、理解しなくていいよ。

基本的なコンピュータのアーキテクチャを知っていれば、それで十分。

805 名前:デフォルトの名無しさん mailto:sage [2007/08/09(木) 22:58:02 ]
いや、仕事で使うから覚えますた ってだけじゃぁなぁ
金にはならないかもしれないけどとことんやれば良いと思うよ

806 名前:デフォルトの名無しさん mailto:sage [2007/08/09(木) 23:11:36 ]
そういう人好き

807 名前:デフォルトの名無しさん mailto:sage [2007/08/10(金) 00:27:24 ]
>>790
初期のUNIXは確かに古いC言語や一部アセンブラで書かれていた。
だが、Windowsや旧MacOSやμiTRONやVxWorksや...(略)はC言語で書かれているのだろうか?

808 名前:デフォルトの名無しさん mailto:sage [2007/08/10(金) 00:41:43 ]
今でも一部アセンブラは当然として、
MacOSはObjectiveCかPascal、
他もCやC++、
字句解析などでは適宜別の言語、
などなど適材適所でしょ。

809 名前:デフォルトの名無しさん mailto:sage [2007/08/10(金) 08:02:59 ]
>>805
仕事かどうか、金になるかどうか以前に、
人生に許された時間は限られているんだよ。

>>807
WindowsはNT系はC言語で書かれたと聞いてる。
NT4.0の頃に聞いた話なので今は違うかもしれない。


810 名前:デフォルトの名無しさん [2007/08/10(金) 16:34:55 ]
低俗な質問でほんとすいません。
クラス型のポインタを持つ配列を作りたくて苦心していますが上手く行きません。

(global.h) extern class hoge *p[10];
(global.cpp) hoge *p[0] = new hoge;

と書いていまして、.cppのほうでエラーが出ます。
文法的に間違っていると思うのですが、どこが間違っているのでしょうか?

宜しくお願いします。




811 名前:デフォルトの名無しさん mailto:sage [2007/08/10(金) 17:19:31 ]
いろいろ違う気がするが・・・w
エラーメッセージ出して1つずつ解決しては。

class定義は見える位置にあると仮定して、
extern hoge *p[10];
p[0] = new hoge;
とやるかな。


812 名前:デフォルトの名無しさん mailto:sage [2007/08/10(金) 18:24:56 ]
>>810
問題の中身よく見てないけど、とりあえず上の方に出てるやつ数個でも良いからエラーの内容書け

813 名前:810 [2007/08/10(金) 18:43:28 ]
>>811
ありがとうございます。
なお、クラスを定義してる"Hoge.h" もGlobal.hにてインクルードしてます。
今、エラーコード全部ぐぐって内容見てる途中です。

>>812
error C2040: 'PC' : 'int []' は 'cHoge *[4]' と間接操作のレベルが異なります。
error C2440: '初期化中' : 'cHoge *' から 'int []' に変換できません。
error C2466: サイズが 0 の配列を割当てまたは宣言しようとしました。
error C2501: 'PC' : 識別名を宣言するのに、型が指定されていません。
(※クラス名だけはcHogeに書き換えています)

というエラーが出るんですが、ぐぐってみても今ひとつ要領を得ないのです。
「ああ、こういう間違った書き方してるから暗黙的にint型にされてるんだな」とは分かるんですが、では正しい書き方はどうなのかというのが分かりません。

普通にint型とかchar型のポインタ配列作る気持ちでやってたら、ちょっと勝手が違うようですね。手強いです。


814 名前:デフォルトの名無しさん mailto:sage [2007/08/10(金) 19:03:38 ]
>>813
>hoge *p[0] = new hoge;

hoge *p[0];
p[0] = new hoge;

hoge *p[0];
だと
>error C2466: サイズが 0 の配列を割当てまたは宣言しようとしました。
が出る。

だから
hoge *p[10];
p[0] = new hoge;

この辺はintやらcharでも変わらんと思うけど。

>>811のexternは書き間違いとちゃうかな。
勘違いだったらすんません。

815 名前:810 [2007/08/10(金) 19:15:13 ]
>>814
ありがとうございます。
いままさに、同じような感じで書いていました。
結果は×でした。エラー内容全く同じ……

(Global.h)
#include "HogeHoge.h"(クラス内容の書かれたヘッダ)
extern class cHoge *PC[4];

(Global.cpp)
cHoge *PC[4];
PC[0] = new cHoge;

という状態で、全く同じエラーでます。

どうやら、PC[0]が*PC[4]の一部と見なされてない感じです。
エディタ上でPC[0]の上にマウスカーソル乗せたら、
cHoge *PC[4]ってポップアップが出てるんで、余計にわけわかんない。
なんで暗黙的int扱いされるんでしょう?


816 名前:デフォルトの名無しさん mailto:sage [2007/08/10(金) 19:20:28 ]
ごめん。
全然違うわ。

extern cHoge PC[4];

cHoge PC[4];

こうじゃねぇ?

817 名前:デフォルトの名無しさん mailto:sage [2007/08/10(金) 19:23:15 ]
なんだよ、よそで配列定義してあってのexternじゃないのかよ。
ファイル1つでうまくいった上で、分けたらおかしくなってるのか
もともとやりかたがわかんないのかどっちだよ。

818 名前:デフォルトの名無しさん mailto:sage [2007/08/10(金) 19:28:08 ]
とりあえず、これでどうなる
(Global.h)
#include "HogeHoge.h"(クラス内容の書かれたヘッダ)
extern cHoge *PC[4];

(Global.cpp)
cHoge *PC[4];
PC[0] = new cHoge;

念のため言っておくけど、こっちではコンパイルできてるから
うまくいかないなら環境書いてね

819 名前:デフォルトの名無しさん mailto:sage [2007/08/10(金) 22:31:55 ]
なんか知らんが、トップレベルに
PC[0] = new cHoge;
を書いてるんじゃなかろうな。

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
言う






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

前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