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


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

【初心者歓迎】C/C++室 Ver.64【環境依存OK】



1 名前:デフォルトの名無しさん mailto:sage [2009/02/10(火) 00:25:51 ]
エスケープシーケンスやWin32APIなどの環境依存なものでもOK。
ただしその場合、質問者は必ず環境を書きましょう。
※sage禁止です(と代々スレに書いてありますが自己判断で)。

【前スレ】
【初心者歓迎】C/C++室 Ver.63【環境依存OK】
pc11.2ch.net/test/read.cgi/tech/1231499251/

【アップローダー】(質問が長い時はココ使うと便利)
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/joyful.htm

◆ソースのインデントについて
半角やTABでのインデントはスレに貼ると無くなります。
そのため、アップローダーに上げるのが最も良いですが、
直接貼るのであれば、全角空白か に置換しておくことをお勧めします。


229 名前:デフォルトの名無しさん mailto:sage [2009/03/01(日) 18:49:47 ]
反復処理とか繰り返し処理とか

230 名前:デフォルトの名無しさん mailto:sage [2009/03/01(日) 20:00:35 ]
繰り返し処理のことを何ていいますか?
専門的にお願いします。

231 名前:デフォルトの名無しさん mailto:sage [2009/03/01(日) 20:01:14 ]
反復処理とか繰り返し処理とか

232 名前:デフォルトの名無しさん mailto:sage [2009/03/01(日) 20:38:29 ]
>>210
メモリのサイズを入れる型ってsize_t以外になんかなかった?

233 名前:デフォルトの名無しさん mailto:sage [2009/03/01(日) 20:50:58 ]
繰り返し処理のことを何ていいますか?
専門的にお願いします。

234 名前:デフォルトの名無しさん mailto:sage [2009/03/01(日) 20:55:57 ]
ループ処理じゃね?w
反復も繰り返しだろうけど、お前は違い分からないだろう

235 名前:デフォルトの名無しさん mailto:sage [2009/03/01(日) 21:26:00 ]
ぶっちゃけC/C++の話じゃないからスレ違い

236 名前:デフォルトの名無しさん mailto:sage [2009/03/01(日) 21:29:11 ]
>>234>>231>>229
もうちょっとかっこいい言い方あるだろ
それを教えろ

237 名前:デフォルトの名無しさん mailto:sage [2009/03/01(日) 21:31:09 ]
>>236
死ねハゲ



238 名前:デフォルトの名無しさん mailto:sage [2009/03/01(日) 21:31:47 ]
反復処理とか繰り返し処理とか

239 名前:デフォルトの名無しさん mailto:sage [2009/03/01(日) 21:47:20 ]
リピート

240 名前:デフォルトの名無しさん mailto:sage [2009/03/01(日) 22:14:30 ]
>>228-231
見事な繰り返し処理
>>232は空気嫁

241 名前:デフォルトの名無しさん mailto:sage [2009/03/01(日) 22:19:39 ]
>>232
ssize_tとか、でもCでもC++でも標準ではないけど。

242 名前:デフォルトの名無しさん mailto:sage [2009/03/01(日) 22:24:27 ]
>>232
ptrdiff_tのこと?ポインタ同士の引き算の型だからちょっと違うが

243 名前:デフォルトの名無しさん mailto:sage [2009/03/01(日) 22:34:14 ]
>>241 >>242
そうだな。size_tでよかった。


244 名前:デフォルトの名無しさん mailto:sage [2009/03/03(火) 05:50:11 ]
まだ初心者なのですが、batファイルをC++builder6で
ボタンを押したら実行するようにしたいので

ShellExecute(Handle,"open",ファイル名.c_str,NULL,NULL,SW_SHOW);

と書いたのですが、うまくいきません・・・どなたか教えてくださいOTL

245 名前:デフォルトの名無しさん mailto:sage [2009/03/03(火) 06:13:52 ]
>>244
何故、どう巧くいかないのか書かないのですか?

246 名前:デフォルトの名無しさん mailto:sage [2009/03/03(火) 06:28:56 ]
実行はされるのですが(コマンドプロントが一瞬表示される)
バッチファイルの中身自体が実行されません;;

247 名前:デフォルトの名無しさん mailto:sage [2009/03/03(火) 06:39:59 ]
batの最後に

pause

入れとけ




248 名前:デフォルトの名無しさん mailto:sage [2009/03/03(火) 07:00:46 ]
>>247
ありがとうございます。

やってみたところ指定されたパスがありませんとのことでした。
普通にbatファイルを起動すると何も問題がないのですが・・・
原因などわからないでしょうか?

249 名前:デフォルトの名無しさん mailto:sage [2009/03/03(火) 07:08:14 ]
ファイルパスをちゃんと指定すればいいじゃん・・・

250 名前:デフォルトの名無しさん mailto:sage [2009/03/03(火) 07:12:19 ]
できました!
こんな時間に、質問に答えてくださりありがとうございました
大変助かりました。

251 名前:デフォルトの名無しさん [2009/03/03(火) 18:34:32 ]
以下のような感じで「*」の前後にスペースが
入っている場合もポインタの宣言なんでしょうか?

static unsigned int * ADDR;

スペースが、後だけのもは参考書にも紹介されていますが
前後両方ともスペースのものは見つかりませんでした。

よろしくお願いいたします。

252 名前:デフォルトの名無しさん mailto:sage [2009/03/03(火) 19:01:49 ]
vector<string> * const (&u)[buf]; // こんな感じですか?

253 名前:デフォルトの名無しさん mailto:sage [2009/03/03(火) 19:06:04 ]
>>251
おんなじ。空白類がいくらあろうと関係ない。

254 名前:デフォルトの名無しさん [2009/03/03(火) 19:47:28 ]
>>252
static unsigned int * ADDR;

全くこのままのコードです。

>>253
ご回答有難う御座いました。
もやもやしていましたが、これですっきりしました。

255 名前:デフォルトの名無しさん [2009/03/04(水) 03:11:45 ]
VC++9の質問です。Unicode環境で
Void Func(LPCSTR pMsg);
みたいな関数があって、ここに文字列を渡すのですが、
Func("xxx");
というように普通に書くと問題ないのですが、
Func(_T("xxx"));
とやると、
const wchar_t[3] から LPCSTRに変換できません、みたいなエラーが出ます。
全ての文字列を_T("") で括ればいいのかと思ってたのですが、違うのでしょうか?


256 名前:デフォルトの名無しさん mailto:sage [2009/03/04(水) 03:14:42 ]
>>255
_Tで括るのはLPC"T"STRのとき。
LPCSTRはconst char*のtypedefだから_Tは要らない。

257 名前:デフォルトの名無しさん [2009/03/04(水) 03:25:58 ]
>>256
なるほど、ありがとうございました。



258 名前:デフォルトの名無しさん [2009/03/04(水) 13:36:24 ]
初歩的過ぎてすいませんが...

すでに宣言してある配列の配列数を求めて
それと同じ配列数の配列を宣言するには
どうすればいいですか?

よろしくお願いします。

259 名前:デフォルトの名無しさん mailto:sage [2009/03/04(水) 13:39:38 ]
>>258
配列数はプログラム書いた人しか知らないから無理
それができたら配列のオーバーフロー管理も楽なんだけど


260 名前:デフォルトの名無しさん mailto:sage [2009/03/04(水) 13:44:40 ]
>>258
状況がよくわからん

261 名前:259 mailto:sage [2009/03/04(水) 13:44:42 ]
sizeof(配列) / sizeof(型)
でいいか
マクロで定義して同じマクロ使うとか


262 名前:デフォルトの名無しさん mailto:sage [2009/03/04(水) 13:49:06 ]
char a[]={10, 10, 10};
char b[sizeof(a)];
int c[(sizeof(a)-1+sizeof(int))/sizeof(int)]

263 名前:258 mailto:sage [2009/03/04(水) 13:53:28 ]
すいません言葉が足りなすぎました。。

int a[]= {1,2,...};

size=sizeof(a)/sizeof(a[0]);

int b[size];

として同じ配列数の新しい配列を宣言しようとしてもできません。

264 名前:デフォルトの名無しさん mailto:sage [2009/03/04(水) 13:56:39 ]
C++ なら const int size
Cなら int b[sizeof(a)]

265 名前:デフォルトの名無しさん mailto:sage [2009/03/04(水) 13:57:14 ]
>>263
size の型は何か

言語をいえ言語を
C か C++どっちだ
あとCならC89かC99なのか

266 名前:デフォルトの名無しさん mailto:sage [2009/03/04(水) 13:57:33 ]
>>263
コンパイラも

267 名前:デフォルトの名無しさん mailto:sage [2009/03/04(水) 14:03:12 ]
>>265
C++です。
size の型はintです
>>266
gccです。



268 名前:258 mailto:sage [2009/03/04(水) 14:08:43 ]
const int size = sizeof(a)/sizeof(a[0]);

int b[size];

として宣言できました。

ありがとうございました。

269 名前:デフォルトの名無しさん mailto:sage [2009/03/04(水) 15:03:27 ]
配列の要素に変数が使える規格って無かったっけ


270 名前:デフォルトの名無しさん mailto:sage [2009/03/04(水) 15:30:51 ]
>>269
C99だろ

271 名前:デフォルトの名無しさん mailto:sage [2009/03/04(水) 17:19:24 ]
連立方程式のを渡したら戻ってくる関数ってありますか?

272 名前:デフォルトの名無しさん mailto:sage [2009/03/04(水) 17:20:51 ]
>>271
標準にはない
標準じゃなくていいならある

273 名前:デフォルトの名無しさん mailto:sage [2009/03/05(木) 09:53:35 ]
assert()と_ASSERT()ってなにか違いがあるのでしょうか?

274 名前:デフォルトの名無しさん mailto:sage [2009/03/05(木) 10:11:11 ]
assertはC/C++標準
結果としてabort()
_ASSERTはVC++独自
_CrtSetReportMode等で動作の調整が可能

275 名前:デフォルトの名無しさん mailto:sage [2009/03/05(木) 18:14:15 ]
メンバ関数のポインタの宣言はCxxx::*funcなのに
取得はCxxx::&funcでなく&Cxxx::funcなの?
&がなんで宣言の時の*の位置より移動するの?

276 名前:デフォルトの名無しさん mailto:sage [2009/03/05(木) 18:40:47 ]
>>275
発想としては、Cxxx::という修飾が
メンバへのポインタ型では*にかかっていて、
メンバへのポインタを得るときには、メンバ名funcにかかっている
ということのようだ。

277 名前:デフォルトの名無しさん mailto:sage [2009/03/05(木) 18:51:32 ]
俺としては逆なんだが
なんでCxxx::&funcなの?
どこのクラスのメンバ関数のアドレスか分からんが



278 名前:デフォルトの名無しさん [2009/03/05(木) 20:41:28 ]
大変だー
さっぱりわからん

279 名前:デフォルトの名無しさん mailto:sage [2009/03/05(木) 20:43:44 ]
>>278
何が分からないんだかさっぱり分からないぞ

280 名前:デフォルトの名無しさん mailto:sage [2009/03/05(木) 20:44:43 ]
>>275
単に文法的な曖昧さを除いた結果そうなっただけ。

class A {
public:
 static void (*A::func)();
};

としてしまうと、static メンバ変数の実体定義がこうなってしまう。

void (*A::A::func)();

どっちがどっちの A:: やら分からん。

281 名前:デフォルトの名無しさん mailto:sage [2009/03/05(木) 21:16:46 ]
もうクラスのメンバ関数のポインタは無しで

282 名前:デフォルトの名無しさん mailto:sage [2009/03/05(木) 22:09:09 ]
9割くらいBoostやTR1のbind(暗黙のmem_fun)と一緒にしか使わない。

283 名前:デフォルトの名無しさん mailto:sage [2009/03/05(木) 22:41:19 ]
delegate パターンで使うね

284 名前:デフォルトの名無しさん mailto:sage [2009/03/06(金) 01:31:13 ]
じゃあdeleteパターンで

285 名前:276 mailto:sage [2009/03/06(金) 19:49:52 ]
>>276, >>280
すみません、レス読んでも、それが
取得はCxxx::&funcでなく&Cxxx::funcなの?
の回答になるのか、さっぱり理解できないですが><

あと、&Cxxx::funcは&(Cxxx::func)としては良くないと本に書いてあるんですが
なんで良くないんですか?

286 名前:デフォルトの名無しさん [2009/03/06(金) 20:12:15 ]
なんか抽象クラスをインスタンス化できないらしいのですがどうすればいいですか?
派生クラスは無いのですが
その派生クラスの無い抽象クラスが型な引数をとる関数を使いたいのですが初期化?の方法がわかりません

287 名前:デフォルトの名無しさん mailto:sage [2009/03/06(金) 20:16:31 ]
>>286
まずは、その抽象クラスへのポインタ型か参照型を引数にしている?



288 名前:デフォルトの名無しさん mailto:sage [2009/03/06(金) 20:24:22 ]
>>287
ポインタ型を宣言してます、いろいろ上手くいかなかったのでポインタで宣言、元の抽象型で宣言、アドレスをポインタ型に代入→引数に
としてます、エラーメッセージはメンバが抽象型です、宣言を確認してください、です

289 名前:デフォルトの名無しさん mailto:sage [2009/03/06(金) 20:27:48 ]
>>286
派生クラスがない、ではなく、派生クラスは自分で作れということでは?

290 名前:デフォルトの名無しさん mailto:sage [2009/03/06(金) 20:29:59 ]
ああ、そうかもしれない

291 名前:デフォルトの名無しさん mailto:sage [2009/03/06(金) 20:43:25 ]
"派生クラスの無い抽象クラスが型な引数をとる関数"
これ、抽象クラスのインターフェイスを使って新しいクラスを作れということ

292 名前:デフォルトの名無しさん mailto:sage [2009/03/06(金) 20:56:18 ]
覚えておきます、ありがとうございました






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

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

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