[表示 : 全て 最新50 1-99 101- 201- 301- 401- 2chのread.cgiへ]
Update time : 01/28 12:32 / Filesize : 120 KB / Number-of Response : 460
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


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

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



1 名前:デフォルトの名無しさん mailto:sage [2006/12/30(土) 20:07:25 ]
スレを勃てるまでもない低俗なC/C++の質問はここでお願いします。

97 名前:デフォルトの名無しさん mailto:sage [2007/01/12(金) 11:35:58 ]
↓このあと、>95 の「釣れた」宣言

98 名前:偽95 mailto:sage [2007/01/12(金) 15:21:42 ]
Fish On!!
かかったかかったーー!!
ん?あっれぇ〜
根掛かりだ〜

99 名前:デフォルトの名無しさん mailto:sage [2007/01/12(金) 16:08:14 ]
わらたw

100 名前:デフォルトの名無しさん mailto:sage [2007/01/12(金) 16:58:50 ]
>>98=99
かわいそす

101 名前:デフォルトの名無しさん [2007/01/13(土) 14:28:22 ]
Microsoft Visual C++ 2005
で.cppのファイル開いてもビルトがでない。
どーやってコンパイルすればいいの!!

102 名前:デフォルトの名無しさん mailto:sage [2007/01/13(土) 16:07:57 ]
                ‖
           ___  ‖
       /    `ヽ‖
      ,:'      、ゑ
     ,'    ;  i  八、
     |,! 、 ,! |  ,' ,〃ヽ!;、
      |!| l川 l リへ'==二二ト、
     リ川 !| i′  ゙、    ', ',
     lルl ||,レ′   ヽ   ,ノ ,〉
       |川'、  ,,.,.r'"    ,,ン゙
        `T"  ! ,/ '.ノ,/|
         /   ,!´ !゙ヾ{ |
          /   ,'   i ゙ ! ,l゙
      ,r‐'ヽ-、!   ',  l|
      {    `ヽ   !  「゙フ
      ,>┬―/   ;  i,`{
     / /リ川'        ', ゙、
    / ,/            ゙、 ゙、
   ノ  /           ', `、
   \_/   ;          ゙、ヽ、
    l__   !        ___〕 ,、l
       ̄`‐┬―r┬‐r'´ `'‐'′
           |  .! |  |
           |  | .|  |

103 名前:偽95 mailto:sage [2007/01/13(土) 16:09:17 ]
新規作成→新しいプロジェクト→特にソリューションディレクトリが必要なければチェック消す
→プロジェクト名(好きな名前で結構)[OKを押せば勝手に指定した場所の所にプロジェクトフォルダが出来る]
→OKを押して次を押す→windowsアプリケーションじゃないならプリコンパイル済みヘッダーのチェックを消す
→コンソールアプリケーションチェック、空のプロジェクトチェック、そんで完了押す
→左のソースファイルフォルダ右クリック新しい項目追加
→C++ファイルを選んで名前を付けて追加(C言語なら拡張子を.cにする)
→ソース書いてコンパイルしてビルドしてデバッグなしで開始(デバッグするならデバッグで)

104 名前:デフォルトの名無しさん mailto:sage [2007/01/13(土) 21:06:16 ]
C++で文字列の先頭から、途中までの文字列が一致するか否かを判定する関数は
ありますか?
EX:
比較文字列  2ch

比較対象文字列(一致)
2ch close

比較対象文字列(不一致)
3ch open
こんな感じで判定できるような関数なのですが・・・・・?

Windows2000
VS2005 SDK

105 名前:デフォルトの名無しさん mailto:sage [2007/01/13(土) 22:03:36 ]
string



106 名前:デフォルトの名無しさん mailto:sage [2007/01/13(土) 22:52:02 ]
不可解なエラーに悩まされています。
原因はどの辺りにあるかわかりますか?

たとえば、グローバルで定義したint a、int bがあるとして、
プログラム中でa++したときに、なぜかbも一緒に++されてしまう。
aをaaaに変更してみたりその他の関係のない変数の変数名を変更してみたり、
int a=0;と定義するとエラーが出なくなることもある。
しばらくコーディングを進めると今度は違う変数同士が干渉し始める。

どの辺りに起因して同じ領域に違う変数が割り当てられてしまうのか、見当もつきません。

WinXP
gcc(cygwin)

107 名前:デフォルトの名無しさん mailto:sage [2007/01/13(土) 23:27:22 ]
>>106
gccなんてクソコンパイラ使ってるからだよ。m9(^Д^) プギャー

108 名前:デフォルトの名無しさん mailto:sage [2007/01/13(土) 23:36:02 ]
>>106
m9(^Д^) プギャー

109 名前:デフォルトの名無しさん mailto:sage [2007/01/13(土) 23:37:55 ]
>>106
よくわからんで作ってることが原因だな

110 名前:106 mailto:sage [2007/01/13(土) 23:48:16 ]
>>109
わかりました。基本から出直してきます。
ご返答ありがとうございました。

111 名前:デフォルトの名無しさん mailto:sage [2007/01/14(日) 00:00:46 ]
&b(a);
とか?

112 名前:デフォルトの名無しさん mailto:sage [2007/01/14(日) 13:25:42 ]
doubleの要素型で、要素数が5の配列の全要素に0.0を代入して表示するプログラムが分かりません。教えて下さい。C++です。

113 名前:デフォルトの名無しさん mailto:sage [2007/01/14(日) 14:06:06 ]
#include <iostream>

int main()
{
  double d[5] = {0.0};
  for(int i = 0; i < 5; i++)
    std::cout << i << " : " << d[i] << std::endl;
  return 0;
}

114 名前:デフォルトの名無しさん mailto:sage [2007/01/14(日) 15:00:16 ]
>>113
ありがとうございます!けど実行すると、0が表示されてしまいます....


115 名前:デフォルトの名無しさん mailto:sage [2007/01/14(日) 15:06:08 ]
確認のために0を表示するように書かれているからだ。



116 名前:デフォルトの名無しさん mailto:sage [2007/01/14(日) 15:06:50 ]
0というより、0になった配列の各要素と言うべきだな。

117 名前:デフォルトの名無しさん mailto:sage [2007/01/14(日) 16:12:23 ]
0 じゃなくて 0.0 を表示したいのではないかと esp

118 名前:デフォルトの名無しさん mailto:sage [2007/01/14(日) 16:15:03 ]
ほれ

#include <stdio.h>

int main()
{
double d[5] = {0.0};
for(int i = 0; i < 5; i++){
printf("%.1lf\n", d);
}
return 0;
}


119 名前:デフォルトの名無しさん mailto:sage [2007/01/14(日) 16:52:50 ]
>>117
そうです。

>>118
すいません。それはC++の場合はどうすればいいんでしょうか?

120 名前:デフォルトの名無しさん mailto:sage [2007/01/14(日) 16:57:39 ]
#include <cstdio> 

int main() 

double d[5] = {0.0}; 
for(int i = 0; i < 5; i++){ 
printf("%.1lf\n", d); 

return 0; 




121 名前:デフォルトの名無しさん mailto:sage [2007/01/14(日) 16:58:12 ]
>>120
ありがとうございます。

122 名前:デフォルトの名無しさん mailto:sage [2007/01/14(日) 17:08:17 ]
d[i]

123 名前:デフォルトの名無しさん mailto:sage [2007/01/14(日) 17:44:48 ]
Cプラプラで0.0から1.0まで0.001おきに、その値と、その値の2乗を表示するプログラムって、どう作ればいいんですか?

124 名前:デフォルトの名無しさん mailto:sage [2007/01/14(日) 17:48:56 ]
>>123
まずはC++のコンパイラを入手し、お前が使ってるPCにインストールする。

125 名前:デフォルトの名無しさん mailto:sage [2007/01/14(日) 20:08:02 ]
C++なら_asmが使えるからアセンブリで書いてやろうと思ったけどやめた



126 名前:デフォルトの名無しさん mailto:sage [2007/01/14(日) 22:47:07 ]
int data[10]={0};//dataの中身を全部0で初期化
これをクラスで記述する方法ってあるんでしょうか
struct a{
int data[10];
a():??{}
};

127 名前:デフォルトの名無しさん mailto:sage [2007/01/14(日) 23:44:50 ]
a() : data() {}でできない?
できないならおとなしく、コンストラクタのブロックの中でstd::fillでもするしかないな。

128 名前:デフォルトの名無しさん mailto:sage [2007/01/15(月) 00:37:06 ]
>>127
出来ました!こんな書き方があったとは
ありがとう

129 名前:デフォルトの名無しさん [2007/01/15(月) 04:20:32 ]
画像のピクセルサイズを取得したいのですが
どうすれば取得できますか?

130 名前:デフォルトの名無しさん mailto:sage [2007/01/15(月) 09:05:21 ]
画像ファイルの構造を知る

131 名前:デフォルトの名無しさん mailto:sage [2007/01/15(月) 15:38:57 ]
男ならwaveだろうがbmpだろうが黙ってバイナリfstream

132 名前:デフォルトの名無しさん mailto:sage [2007/01/15(月) 18:29:29 ]
>>129
BITMAPINFOを足がかりに

133 名前:Cはできた(過去形)人 [2007/01/15(月) 18:29:34 ]
BorandC++を使ってるんですが・・・        <iostream>ファイルをオープンできません      とでてコンパイルできません・・・          いったいどうすれば・・・

134 名前:デフォルトの名無しさん mailto:sage [2007/01/15(月) 18:34:02 ]
>>133
お前じゃどうしようもないから諦めろ

135 名前:デフォルトの名無しさん mailto:sage [2007/01/15(月) 18:46:29 ]
>>133
普通にググったら見落としに気づくかもよ。



136 名前:デフォルトの名無しさん [2007/01/15(月) 18:54:30 ]
分割コンパイルしたオブジェクトファイルをmain.oも含めて静的ライブラリに
まとめた場合、一般にそのライブラリのみで実行ファイルをビルドすることは
できるのでしょうか?
GCCだとできたのですがVCやBCCだとどうなんでしょう?
libfoo.aがmain.o, hoge.oで構成されている場合、GCCの例だと
gcc -o exefile libfoo.a
でexefileという実行形式を作成できました。

137 名前:デフォルトの名無しさん [2007/01/15(月) 18:57:51 ]
256*256の二次元配列を作りたいのですが、実行するとStack overflowとでてしまいます。
どうにか回避する方法はないでしょうか?

138 名前:デフォルトの名無しさん mailto:sage [2007/01/15(月) 19:06:23 ]
>>137
ヒープに割り当てる


139 名前:デフォルトの名無しさん mailto:sage [2007/01/15(月) 19:10:57 ]
mainを含んだ静的ライブラリってのは、
Win32のスクリーンセーバライブラリがそんな感じだな。

140 名前:137 [2007/01/15(月) 19:36:29 ]
>>138
すみません。
ヒープに割り当てる方法を教えてください。

141 名前:136 [2007/01/15(月) 19:39:26 ]
今vc8で試してみたのですができませんでした。
具体的には
cl /EHsc /c main.cpp lib.cpp
lib /out:library.lib main.obj lib.obj
cl /Feout library.lib
out.objが開けないとエラーがでてしまいます。

142 名前:デフォルトの名無しさん [2007/01/15(月) 19:46:55 ]
>>140
ヒープに割り当てるというのはmalloc(Cの場合)やnew(C++)などで
動的にメモリを確保することです。
あとは調べればわかるかと思います。

143 名前:デフォルトの名無しさん mailto:sage [2007/01/15(月) 21:39:29 ]
>>141
できたぞ。
cl /EHsc /Zl /c test.cpp
lib /out:hoge.lib test.obj
link /machine:x86 /entry:mainCRTStartup /out:HOGE.EXE msvcrt.lib hoge.lib
/entryの代わりに/subsystem:consoleでもうまくいった。
またcl経由でリンカを呼び出してもできる。
cl /MD hoge.lib /link msvcrt.lib /machine:x86 /subsystem:console
いずれにしてもLNK4001(オブジェクトファイルがない)という警告が出る。

144 名前:デフォルトの名無しさん [2007/01/16(火) 15:11:25 ]
home.hiroshima-u.ac.jp/~m052291/sdk/index.cgi?event=view&num=246
どこでなにやってるか全然ワカランので、中盤以降に説明つけてください!
あともう少し素人が作ったっぽくなりませんか?

145 名前:デフォルトの名無しさん mailto:sage [2007/01/16(火) 16:04:06 ]
>>144
それだけ素人丸出しなら充分だと思うが。



146 名前:デフォルトの名無しさん [2007/01/16(火) 22:33:51 ]
Windows上で動くプログラムには仮想メモリが割り当てられてて
プログラムからは仮想メモリしか見えないんだよね?
じゃあメモリエディタってどうやってんの?

147 名前:デフォルトの名無しさん mailto:sage [2007/01/16(火) 22:50:39 ]
適切な権限さえあればよそのプロセスのメモリだって読み書きできる(真っ先に思い浮かぶのはデバッグ用途)。
大抵は権限の設定なんてやっていないから、同じユーザのプロセスならだいたい読み書きできると思っていい。

148 名前:デフォルトの名無しさん mailto:sage [2007/01/17(水) 00:14:54 ]
Windowsカーネルは全部の仮想メモリを知ってるから、
API叩いて教えてもらうんだよ。

149 名前:デフォルトの名無しさん mailto:sage [2007/01/17(水) 11:27:50 ]
実際に物理的なメモリを書き換えているとは限らない
ひょっとするとあなたの書き換えた場所はディスク上の一部かも知れない



150 名前:デフォルトの名無しさん mailto:sage [2007/01/21(日) 00:10:28 ]
質問なんですが、C++の問題集でお勧めなのはないでしょうか?
参考にしたいのでお願いします。


151 名前:デフォルトの名無しさん mailto:sage [2007/01/21(日) 03:22:51 ]
>>150
C/C++問題集スレ
pc10.2ch.net/test/read.cgi/tech/1168663908/

152 名前:デフォルトの名無しさん mailto:sage [2007/01/21(日) 13:53:15 ]
>>151
ワロタ

153 名前:デフォルトの名無しさん mailto:sage [2007/01/22(月) 12:08:48 ]
Cの経験が少しあってC++をはじめた者です。
憂鬱なプログラマのためのオブジェクト指向開発講座(第2部第5章p116)で、
「コンストラクタを使って、定数メンバの初期化を行うことができます」
と書いてありました。定数の初期化って、定数はあらかじめ
定義されているものだと思うんですけど、
どういうことでしょう?


154 名前:デフォルトの名無しさん mailto:sage [2007/01/22(月) 12:21:08 ]
定数メンバと定数は違うだろ

155 名前:デフォルトの名無しさん mailto:sage [2007/01/22(月) 15:25:31 ]
static const double a=1;
じゃだめなのですか?



156 名前:デフォルトの名無しさん mailto:sage [2007/01/22(月) 16:04:03 ]
153は非静的メンバの話だと思う。

157 名前:デフォルトの名無しさん mailto:sage [2007/01/22(月) 17:09:46 ]
>>154
>定数メンバと定数は違うだろ
定数って
const int a;
とかですか?



158 名前:デフォルトの名無しさん mailto:sage [2007/01/22(月) 17:29:36 ]
憂鬱本↓

メンバ初期化の方法はLIST6のように考えるのが普通でしょう.
確かにこのように書くことは可能です.・・・しかし,これは進められる書き方ではありません.なぜならば,これでは定数のデータメンバを初期化することができないからです.
クラスのメンバデータには定数も使用することができます.その初期化を行うのも当然コンストラクタということになるでしょう.しかし,コンストラクタとはいえ,やはり関数です.その中で定数を書き換えることはやはりできません.
さてそれでは,別の方法で定数メンバを初期化することは出来るのでしょうか.そのような特別な方法が用意されているのでしょうか.
これはそのような方法が存在します.C++では,コンストラクタがメンバを初期化するために新しい構文が設けられています.メンバの初期化はLIST7のように行います.



159 名前:デフォルトの名無しさん mailto:sage [2007/01/22(月) 17:31:59 ]
LIST6:データメンバの初期化

Person :: Person () // コンストラクタの実装部
{
age = 0 ; // 年齢の初期化
name = NULL ; // ポインタの初期化
} // しかしこの方法は薦められない!

LIST7:コンストラクタでのメンバ初期化

Person :: Person ()
: age ( 0 ) , name ( NULL ) // 正しい方法
{
// 何もしない
}


160 名前:デフォルトの名無しさん mailto:sage [2007/01/22(月) 18:25:26 ]
  _, ._
(;゚ Д゚) …?

161 名前:デフォルトの名無しさん mailto:sage [2007/01/22(月) 18:38:24 ]
新版も出たことだし、Effective C++ くらい買いなさい。

162 名前:デフォルトの名無しさん mailto:sage [2007/01/22(月) 19:07:38 ]
>>158
>これはそのような方法が存在します
日本語でおk

163 名前:デフォルトの名無しさん mailto:sage [2007/01/24(水) 12:09:24 ]
(これ、Visual C++のスレで質問するべきなのかもしれませんが)
標準C++というのでしょうか、windowsコンソールアプリケーションの
文法で、Visual C++のよなwindowsプログラミング(ファイル[メニュー]や
ボタンを付けたいだけですが)をすることってできるでしょうか?
やはりそれはVisual C++でしかできないのでしょうか?

環境はVisual C++ 2005 Express Edition使っています。


164 名前:デフォルトの名無しさん mailto:sage [2007/01/24(水) 12:26:27 ]
>>163
Visualという単語で勘違いしたのかな?VC++でコンソールアプリも書けます。
VC++でコンソールアプリを書いてもWindowsアプリを書いても、VC++の文法は同じです。
Windowsアプリの開発環境はVC++だけではありません。VB、Delphi等々色々あります。

165 名前:デフォルトの名無しさん mailto:sage [2007/01/24(水) 12:53:02 ]
>>164
返信感謝します。
(私があまり理解していないので、言葉がうまく見つかりません)
普通(?)のC++(コンソールアプリ)は、やったことがあるんですが、
windowsアプリケーションのソースを見たところ、
“ハンドル”という言葉が出てきたりして、
私が今まで勉強したC++と少し違うと思いました。
文字列に関しても、宣言が下のように違うようです。
string word  @
   ↓
string^ word;  A
winwosアプリをする場合は、新たにAのような文法を勉強しなければ
ならないんですよね?



166 名前:デフォルトの名無しさん mailto:sage [2007/01/24(水) 15:42:41 ]
ないない

167 名前:デフォルトの名無しさん mailto:sage [2007/01/24(水) 16:20:59 ]
ルンゲ・クッタ法を用いてX-Y軸上に楕円運動の軌道を描く際の、各点においてのX軸Y軸方向への速度をV,Uとして時間T毎にファイルに書き込みたいのですが、どういった書き方ならば綺麗に描けますか?

168 名前:デフォルトの名無しさん mailto:sage [2007/01/24(水) 16:28:14 ]
>>166
どっちでしか?

169 名前:デフォルトの名無しさん mailto:sage [2007/01/24(水) 17:54:33 ]
>>165
「string^ word;」がエラーにならないとはちょっと思えない。

“ハンドル”はHANDLEのこと?ならそれはWindowsが定義してる型。typedef void *HANDLE;。
それともメッセージハンドラ?なら、イベント駆動という考え方を知る必要がある。
まぁ、まずはWinアプリの入門書か解説ページを読んで。

170 名前:165 mailto:sage [2007/01/24(水) 18:11:36 ]
返信ありがとうございました。

>“ハンドル”はHANDLEのこと?ならそれはWindowsが定義してる型。typedef void *HANDLE;。
>それともメッセージハンドラ?なら、イベント駆動という考え方を知る必要がある。

前者だと思います。
↓のように使用されていて、
文字列型のハンドル、オブジェクト方のハンドルがあると書いてありました。


private: System::Void buttonAdd_Click(System::Object^ sender, System::EventArgs^ e) {
Debug::WriteLine("追加ボタンをクリックしました");
// 品名、分類、金額を取得する
String^ name = textName->Text;
String^ kind = comboKind->Text;
String^ money = textMoney->Text;
String^ out;
out = String::Format("品名:{0} 分類:{1} 金額:{2}", name, kind, money );
Debug::WriteLine( out );
}

>まぁ、まずはWinアプリの入門書か解説ページを読んで。
普通のC++を知っているだけでは、windowsプログラミングは無理のようですね。
じっくりやってみようと思います。



171 名前:デフォルトの名無しさん mailto:sage [2007/01/24(水) 19:03:37 ]
>>170
あぁぁ、C++/CLIですね。だと文法も拡張されてるそうです。
新しいことをあまり知らないくせにレスつけました。すいません。

でもWinアプリを書くのにC++/CLIじゃないとダメってことはないですよ。

172 名前:デフォルトの名無しさん mailto:sage [2007/01/24(水) 20:38:23 ]
>>151
とりあえず、参考にしてみます。

173 名前:デフォルトの名無しさん mailto:sage [2007/01/24(水) 22:12:01 ]
>>170
そのハンドルは169の言っているものとは違う。
171も言っているが、それは.NET Frameworkを使って動くプログラムを書くために作られたC++/CLIという言語のプログラム。
普通のCもしくはC++を使ったWindowsプログラムはまた別物。


174 名前:デフォルトの名無しさん mailto:sage [2007/01/24(水) 22:38:23 ]
>>171,173
指摘していただき感謝します。
C++/CLIは別なんですね。知りませんでした。
私はC++/CLIでない普通のWindowsプログラミングをしたいのですが、
その場合は、普通のC++と同じ文法でやれるのでしょうか?

VC++2005Express使っているんですけど、
その場合、プロジェクトの作成の仕方は、
[ファイル]→[新規作成]→[プロジェクト]
から、[新しいプロジェクト]ダイアログで、
[プロジェクトの種類]で、[win32]で選ぶのかと思うんですが、
この時[テンプレート]で選択できるのが[win32コンソールアプリケーション]
だけになってしまいます。
やり方が違うと思うんですが、
教えていただけますか?


175 名前:デフォルトの名無しさん [2007/01/24(水) 23:13:41 ]
>>174
VC++2005ExpressEditionでwin32アプリケーションを作るには
www.microsoft.com/japan/msdn/vstudio/express/visualc/usingpsdk/
↑で環境をもうちょっと追加しなければならない。

ちなみに
.NETアプリってのはCLRとか書いてるやつね

win32のウインドウアプリも、コンソールアプリもC++でかけるんだけど、
window.hをインクルードしたり、スタートが WinMain関数だったり、ちとちがう。
www.kumei.ne.jp/c_lang/
↑のWindowsSDK編ってとこ読むといい。長いしめんどくさいけどね。
VC++2005ExpressEditionではちょっとメニューのエディタないからよけい大変

WindowsSDKでの開発がめんどくさいから
MFCだとか、VisualBasicとかもっと簡単にウインドウ出せるアプリ作れるものが出来てきたんだよ。
.NETアプリならVC++2005でも視覚的にウインドウアプリ作れるんだけどね。



176 名前:174 mailto:sage [2007/01/24(水) 23:45:24 ]
>>175
丁寧な説明ありがとうございます。

>VC++2005ExpressEditionでwin32アプリケーションを作るには
>www.microsoft.com/japan/msdn/vstudio/express/visualc/usingpsdk/
>↑で環境をもうちょっと追加しなければならない。
早速入れました。

>win32のウインドウアプリも、コンソールアプリもC++でかけるんだけど、
>window.hをインクルードしたり、スタートが WinMain関数だったり、ちとちがう。
>www.kumei.ne.jp/c_lang/
>↑のWindowsSDK編ってとこ読むといい。長いしめんどくさいけどね。
>VC++2005ExpressEditionではちょっとメニューのエディタないからよけい大変
>

やってみようと思います。

>WindowsSDKでの開発がめんどくさいから
>MFCだとか、VisualBasicとかもっと簡単にウインドウ出せるアプリ作れるものが出来てきたんだよ。
>.NETアプリならVC++2005でも視覚的にウインドウアプリ作れるんだけどね。
>

わかりました。
CLRも考えようかと思います。


177 名前:デフォルトの名無しさん mailto:sage [2007/01/25(木) 00:46:29 ]
質問です、以下の構造体があったとします↓
struct Test{
int nMem;
char strMem[20];
};
上記の構造体に、関数をひとつ追加します。
struct Test{
int nMem;
char strMem[20];
void Clear(){
nMem = 0;
strcpy(strMem, "");
}
};
そして両者のsizeofをとってみたのですが、両者とも24バイトとなりメンバ関数によるサイズの増大が見られません。
これは、コンパイラがTest::Clear()の呼び出しを該当するメモリアドレスに置換しているからなのでしょうか?
多分そうだと思うのですが、参考となるようなものが無く………詳しい方、宜しくお願い致します。

178 名前:177 mailto:sage [2007/01/25(木) 00:47:31 ]
追記です、実行環境はVS2003、VS2005、BCCです。

179 名前:デフォルトの名無しさん mailto:sage [2007/01/25(木) 02:54:53 ]
>>177
メンバ関数も、機械語のレベルにすれば単なる関数であることに変わりはない。
Cで擬似的に書けばこんな感じになる。
struct Test {
  int nMem;
  char strMem[20];
};
void Test_Clear(Test* this) {
  nMem = 0;
  strcpy(strMem, "");
}

180 名前:デフォルトの名無しさん mailto:sage [2007/01/25(木) 11:58:29 ]
C++の例外の使い方を解説した参考書で、オススメのものを教えてください。

文法自体の解説ではなく、使いこなしのテクニックなどについてです。


181 名前:デフォルトの名無しさん mailto:sage [2007/01/26(金) 01:00:56 ]
>>180
例外の落とし穴的なことなら Exceptional C++ にあるよ。

# もし持ってないんだったら C++ 使いとして C++ in-Depth Series は
# 揃えておくことをオススメするですよ。

182 名前:デフォルトの名無しさん mailto:sage [2007/01/26(金) 14:17:33 ]
>>181
ありがとうございます。

洋書には、知っておくべきノウハウの本があるのに、
和書には、言語仕様の解説本しかないんですよね。
洋書で足りてるから書く必要がないのかもしれないけど。

183 名前:177 mailto:sage [2007/01/26(金) 15:34:18 ]
遅れてしまいました、179さんありがとうございます。

184 名前:デフォルトの名無しさん [2007/01/28(日) 03:25:47 ]
メインで作ったポインタをオリジナル関数内で配列領域を宣言するときはどう関数を受け渡せばいいのでしょうか。

void o(int **mem)
{
int i;
mem=(int **)calloc(10, sizeof(int));
for(i=0; i<10; i++)
mem[i]=(int **)calloc(10, sizeof(int));
}

int main()
{
int **mem;
o( );//この部分
}

185 名前:デフォルトの名無しさん mailto:sage [2007/01/28(日) 04:06:30 ]
>>184
void o(int ***mem)
{
int i;
*mem=(int **)calloc(10, sizeof(int));
for(i=0; i<10; i++)
(*mem)[i]=(int **)calloc(10, sizeof(int));
}

int main()
{
int **mem;
o(&mem);//この部分
}



186 名前:デフォルトの名無しさん [2007/01/28(日) 04:11:30 ]
>>185
それはやったのですが、
o内で数値を代入して、
メイン側でその数値を使おうとすると反映されていないみたいでエラーが・・・。

187 名前:デフォルトの名無しさん [2007/01/28(日) 04:15:23 ]
>>185
後コンパイル時に引数が異なるというエラーが。

間接参照のレベルが 'int ***' と 'int ****__w64 ' で異なっています。
仮引数および実引数と異なります。

188 名前:デフォルトの名無しさん mailto:sage [2007/01/28(日) 04:16:17 ]
>>186
だったらここだろ

void o(int ***mem)
{
int i;
*mem=(int **)calloc(10, sizeof(int *));
for(i=0; i<10; i++)
(*mem)[i]=(int *)calloc(10, sizeof(int));
}

ちなみにどんなエラーが出たのか明記しないとわからん

189 名前:デフォルトの名無しさん mailto:sage [2007/01/28(日) 04:17:31 ]
>>187
メインで int ***mem; とやってるんじゃないか?

190 名前:デフォルトの名無しさん [2007/01/28(日) 04:22:36 ]
>>188
完走しました。
ありがとうございました。

>>189
それはなかったです。

191 名前:デフォルトの名無しさん mailto:age [2007/01/28(日) 06:52:30 ]
フリーウェアで、
クラス図を作れるものってありますか?

192 名前:デフォルトの名無しさん mailto:sage [2007/01/28(日) 08:24:55 ]
C/C++の質問しろよ
umlmemo

193 名前:デフォルトの名無しさん mailto:sage [2007/01/28(日) 08:29:20 ]
doxygen

194 名前:デフォルトの名無しさん mailto:sage [2007/01/28(日) 09:07:10 ]
JUDE Community

195 名前:デフォルトの名無しさん mailto:sage [2007/01/28(日) 11:33:04 ]
>>192-194
ありがとうございました。

>C/C++の質問しろよ
はい、すみません。



196 名前:デフォルトの名無しさん [2007/01/28(日) 17:09:42 ]
void qsort ( void* base , size_t nmemb , size_t size, int(*compar)(const void *, const void *) )

↑のを自作で作りたいのですが、誰かサンプルを作っていただけないでしょうか?
初心者でスマソorz

197 名前:デフォルトの名無しさん mailto:sage [2007/01/28(日) 17:14:38 ]
www.google.co.jp/search?q=qsort.c
好きなのを持ってけ






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

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

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