【初心者歓迎】C/C++室 Ver.55【環境依存OK】
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2008/06/15(日) 03:03:42ただしその場合、質問者は必ず環境を書きましょう。
※sage禁止です(と代々スレに書いてありますが自己判断で)。
【前スレ】
【初心者歓迎】C/C++室 Ver.54【環境依存OK】
http://pc11.2ch.net/test/read.cgi/tech/1210694402/l50
【アップローダー】(質問が長い時はココ使うと便利)
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/joyful.htm
0002デフォルトの名無しさん
2008/06/15(日) 03:04:160003デフォルトの名無しさん
2008/06/15(日) 03:08:010004デフォルトの名無しさん
2008/06/15(日) 03:23:260005デフォルトの名無しさん
2008/06/15(日) 03:25:080006デフォルトの名無しさん
2008/06/15(日) 08:42:21俺はどっちでもおk派。VCに貼り付けてCtrl + spaceで一発解決w
0007デフォルトの名無しさん
2008/06/15(日) 11:24:40 は思いつかなかったな〜
ちょっとてst
>>6
まぁでもコピペすらしない人多いと思うよw
00087
2008/06/15(日) 11:30:45f();  
f();
f(); 	
0009デフォルトの名無しさん
2008/06/15(日) 11:40:370010デフォルトの名無しさん
2008/06/15(日) 11:54:36   f();  
f();  
	f(); 	
■>>8を素のIE/禁断の壷+IEで表示及びコピペした場合
の部分が潰れずに空白になる。コピペしても通常の半角空白。
他は潰れて消える。
■>>8をjaneで表示及びコピペした場合
 の部分が潰れずに空白になる。コピペしても通常の半角空白。
の部分はjane上では潰れずに空白になるけど、
コピペすると空白にならず、  になる。
&am;#9;は潰れて消える。
通常/専用ブラウザで読みやすくするのは全角スペースしかなさげ。
コピペしてすぐコンパイル出来るのも含めると、アップローダーしか無いね〜
0011デフォルトの名無しさん
2008/06/15(日) 12:01:42そういうスレを見てきた立場からすると「どうでもいいじゃん」って思ってしまう。
0012デフォルトの名無しさん
2008/06/15(日) 12:19:05見てきたけど、Haskellスレでは全角スペース推奨、
Python宿題スレはロダ推奨で、全角スペースが使われてて、
Python初心者スレでは全角スペース(主に質問者)と が使われてるね。
0013デフォルトの名無しさん
2008/06/15(日) 12:43:48乙
> 通常/専用ブラウザで読みやすくするのは全角スペースしかなさげ。
も表示だけなら潰れない、と読めたのだが気のせい?
> コピペしてすぐコンパイル出来るのも含めると、アップローダーしか無いね〜
これはそのようだね
0015デフォルトの名無しさん
2008/06/15(日) 14:46:16メール欄に pre と書くと pre タグが使われるようにする奴。
0016デフォルトの名無しさん
2008/06/15(日) 14:53:460017デフォルトの名無しさん
2008/06/15(日) 15:40:57b=a;
と
a=b=c;
って同じことですか?
0018デフォルトの名無しさん
2008/06/15(日) 15:45:130019デフォルトの名無しさん
2008/06/15(日) 15:48:08b=a=c;だな
0020デフォルトの名無しさん
2008/06/15(日) 15:54:450021デフォルトの名無しさん
2008/06/15(日) 16:10:05b=a=c;⇔b=(a=c);
でも
a=cが、aにcを代入した後のものを返すか、それ以前のaを返すかは未定。
0022デフォルトの名無しさん
2008/06/15(日) 16:13:30どう違うのか教えて欲しいです
0023デフォルトの名無しさん
2008/06/15(日) 16:15:14基本的には同じと思っていいよ
ただ、それに囚われていちゃダメ
C++ならoperatorでやりたい放題だし
0024デフォルトの名無しさん
2008/06/15(日) 16:15:3820じゃないけど、
「ユーザー定義型のoperator=()の戻り値が、必ずしも*thisになってるとは限らない」
というのを考慮してるのでは。
0025デフォルトの名無しさん
2008/06/15(日) 16:16:570026デフォルトの名無しさん
2008/06/15(日) 16:34:24a=c; b=a; はaに対してwriteとreadが1回ずつ発生するが、
b=a=c; はaからreadする保証が無い。
ってことか?
0027デフォルトの名無しさん
2008/06/15(日) 17:42:390028デフォルトの名無しさん
2008/06/15(日) 17:46:39できるよ。
以上。
↓次の方どうぞ
0029デフォルトの名無しさん
2008/06/15(日) 17:47:38何を言っとるんだお前は
0030デフォルトの名無しさん
2008/06/15(日) 17:51:54代入した値、つまりはcと同じ
を返すに決まってるだろ個の貸す
0031デフォルトの名無しさん
2008/06/15(日) 18:08:16CかC++ベースでGUIプログラムを作るにはどうすればいいのでしょうか?
幅広く使用されている方法が望ましいです。
0032デフォルトの名無しさん
2008/06/15(日) 18:10:03directXのラッパーライブラリあたりでも使えばいいんじゃない?
dxlibとかyanesdkとか
あとSDLとかでも
0033デフォルトの名無しさん
2008/06/15(日) 18:30:44論理上保障されないという事態が起きるのは、
bがスタティックな変数でかつ割り込みが発生してaを書き換えた場合だけ。
スレッドが絡むとさらにカオスになるから触れないでおこう。
それ以外では気にすることではない。
0034デフォルトの名無しさん
2008/06/15(日) 18:31:51aがスタティックな変数でかつ割り込みが発生してaを書き換えた場合だけ。
ミスった
0035デフォルトの名無しさん
2008/06/15(日) 18:43:22組み込み系の話だけど。
0036デフォルトの名無しさん
2008/06/15(日) 18:46:45実現できない場合があるな
0037デフォルトの名無しさん
2008/06/15(日) 18:47:03VC++2008の場合はvolatile bでbからロードしなおしていた
0038デフォルトの名無しさん
2008/06/15(日) 18:58:25どもども、調べてみます。DirectXが王道ですかね
0039デフォルトの名無しさん
2008/06/15(日) 19:06:230040デフォルトの名無しさん
2008/06/15(日) 19:12:25今はまだ皆さんの回答の意味が理解できなさそうなのでとりあえず
a=b=cじゃなくてb=a=cだったら
同じことではないけどだいたい同じ
とだけ覚えておきます
ありがとうございました
0041デフォルトの名無しさん
2008/06/15(日) 19:19:210042デフォルトの名無しさん
2008/06/15(日) 19:23:01まー、俺は=演算子を1行に複数に書くこと自体やらないが
0043デフォルトの名無しさん
2008/06/15(日) 19:42:15環境はWindowsXP,言語はCです.
system関数(またはそれに近い関数)を使って別のプログラムを時間制限付きで起動させたいです
例えば,a.exeというプログラムを実行させて,30秒たっても処理が完了していなかったらa.exeを強制終了させたいです.
なにか良い方法はありますか
0044デフォルトの名無しさん
2008/06/15(日) 19:50:17CreateProcess / TerminateProcess
0045デフォルトの名無しさん
2008/06/15(日) 20:56:40内容にもよるけど、行儀のいい方法では無いな。
0046デフォルトの名無しさん
2008/06/15(日) 21:40:580047デフォルトの名無しさん
2008/06/15(日) 21:43:400049デフォルトの名無しさん
2008/06/15(日) 22:25:59強制終了って前提条件が既に行儀悪いからな。
0050デフォルトの名無しさん
2008/06/15(日) 23:16:20俺はそう思ったけど。
0051デフォルトの名無しさん
2008/06/15(日) 23:18:47少しはマシかな。
0052デフォルトの名無しさん
2008/06/16(月) 02:23:19このポインタについてなんですが
p->nextには何のアドレスも入ってないのに
何で次の人のアドレスを指し示すことができるんでしょうか?
あるいはどこかでp->nextに何かの値が入ってるんでしょうか?
0053デフォルトの名無しさん
2008/06/16(月) 02:23:19このマクロの(type*)0->memberはどういう意味なのでしょうか?
0番地のtype型のメンバ変数memberでよいのでしょうか?
0054デフォルトの名無しさん
2008/06/16(月) 02:28:41そのとおりなんだけど、実際にはそんなものは存在しなくて、直後にアドレスを size_t に
無理やり変更することで offsetof() が返すべき値を取り出している、というところまで
合わせて意味を持つ。コンパイラの実装を知っている立場でなければ、真似しちゃいけない。
0055デフォルトの名無しさん
2008/06/16(月) 02:35:18よく読んでないけど last->next=p で入れてるんじゃね
0056デフォルトの名無しさん
2008/06/16(月) 03:40:04last->next=p;
last=p;
と分ければわかりやすいでしょうか。
0057デフォルトの名無しさん
2008/06/16(月) 11:50:32ありがとうございます
もう少しで分かりそうなんでもうちょっと頑張ります
0058デフォルトの名無しさん
2008/06/16(月) 16:11:09ヘッダで宣言したメンバ関数を.ccで実装するとき、いくつかの関数でmultiple definitionと言われてコンパイルできません。
インクルードガードはもちろんかけています。例えば、
[foo.h]
#ifndef _FOO_H_
#define _FOO_H_
class foo{
private:
int a,b,c;
pulic
int getA();
int getB();
int getC();
}
#endif
[foo.cc]
#include "foo.h"
int foo::getA(){return a;}
int foo::getB(){return b;}
int foo::getC(){return c;}
とかなっているときに、getAはOKなのにgetBとgetCのみmultiple definitionと言われるような状況です。
他にも、引数なしのコンストラクタはOKなのに、引数付きでオーバーロードしたコンストラクタのみ
mutiple definitonと言われたりします。
これらの現象は全て、問題の関数実装時にinline宣言すると消えます。これはどういう問題なのでしょうか。
005958
2008/06/16(月) 16:12:37public
のあとに:が抜けてました。
実際のコードではそういったミスはありません。
0060デフォルトの名無しさん
2008/06/16(月) 16:17:19現象を再現できる最低限の断片を作って張ってくれ。
尤も、その過程で原因が判ることもしばしばだが。
例えば、getA()がエラーにならないのは使ってないからじゃないかと思うが>58だけでは判断できん。
006158
2008/06/16(月) 16:33:55すみませんが今すぐは作れないので、後でまた張りに来たいと思います。
0062デフォルトの名無しさん
2008/06/16(月) 17:23:38が発生した場合、それをC側から補足できますでしょうか?
例外が発生したことを上の関数に返したいのですが
難しいでしょうか?
よろしくお願いいたします。
0063デフォルトの名無しさん
2008/06/16(月) 17:42:36Windowsの話なら、WinAPIスレで過去に話題になってたかと。
0064デフォルトの名無しさん
2008/06/16(月) 17:48:36ありがとうございます。APIスレにいってきます。
006558
2008/06/16(月) 19:27:04色々やってたら解決しました。
どうも元々ひとつだったヘッダファイルを細分化したときに、makefileの方で変なことをやってしまったのが原因ぽいです。
どうもありがとうございました。
0066デフォルトの名無しさん
2008/06/16(月) 20:05:22なにかの略なんですか?
0067デフォルトの名無しさん
2008/06/16(月) 20:07:000068デフォルトの名無しさん
2008/06/16(月) 20:10:530069デフォルトの名無しさん
2008/06/16(月) 20:13:030070デフォルトの名無しさん
2008/06/16(月) 20:15:12ユーザーが自由に使えるものがiからしかなかったのがそもそもの由来。
0071デフォルトの名無しさん
2008/06/16(月) 20:17:04n
Σa_i
i=1
とか数学で使う際の i って
FORTRAN 以降で広まったものなのか?
0072デフォルトの名無しさん
2008/06/16(月) 20:22:38I,J,K,L,M,Nあたりが宣言なしで整数、
それ以外が宣言なしで実数だった。
0073デフォルトの名無しさん
2008/06/16(月) 20:24:290074デフォルトの名無しさん
2008/06/16(月) 20:56:52まさか。
もっと昔から使われてるよ。
0075デフォルトの名無しさん
2008/06/16(月) 20:57:14そもそも整数がその範囲に割り当てられた理由もあるんじゃね?
0076デフォルトの名無しさん
2008/06/16(月) 20:57:48ですよねー。
0077デフォルトの名無しさん
2008/06/16(月) 20:58:55イテレーションによく使われていた i から始まり、
整数値としてよく使われていた n までを整数にした、
と考えるのが自然な気がするよ。
0078デフォルトの名無しさん
2008/06/16(月) 22:10:580079デフォルトの名無しさん
2008/06/16(月) 22:16:350080デフォルトの名無しさん
2008/06/16(月) 22:17:570081デフォルトの名無しさん
2008/06/16(月) 22:24:200082デフォルトの名無しさん
2008/06/17(火) 01:00:56- /usr/local/lib/libFOO.a
- bar.cxx
の2つがあり、bar.oとlibFOO.aを合体させて、
libbar.soというのを作りたいと思っています。
(libFOO.aも共有ライブラリの中に組み込んでしまいたい)
この場合、
$ g++ bar.cxx -o bar.o
したあとに、どのようにすれば良いのでしょうか。
0083デフォルトの名無しさん
2008/06/17(火) 01:23:06008482
2008/06/17(火) 01:23:16色々なライブラリを必要に応じて読み込むソフトがありまして、
そいつに自作のライブラリを読み込ませるためには、
必ず共有ライブラリじゃないと駄目なんです。
なので、libFOO.aを読み込ませる場合には、
一回自分で共有ライブラリを作らないといけない、と。
0085デフォルトの名無しさん
2008/06/17(火) 01:32:25分かりました、マニュアルを読んでくさい
0086デフォルトの名無しさん
2008/06/17(火) 04:26:59http://www.google.com/search?q=共有ライブラリ gcc
0087デフォルトの名無しさん
2008/06/17(火) 08:39:42HしてもIがなかったらJuniorが生まれてこないとは考えんのかね。
0088デフォルトの名無しさん
2008/06/17(火) 12:57:29望まれないJuniorっていう不幸もあるからなぁ
0089デフォルトの名無しさん
2008/06/17(火) 13:19:320090デフォルトの名無しさん
2008/06/17(火) 13:21:140091デフォルトの名無しさん
2008/06/17(火) 19:06:29あるクラスのメンバ関数を実装するとき、内部の処理をベタ書きすると
長くなるので、関数化したいことは良くあると思います。
このとき、その関数化したい処理そのものは、もとのメンバ関数の処理に比べて
低級な処理なので、同じクラスのメンバ関数として定義するのには違和感があります。
かといって、専用のクラスを作るほどではないと感じる場合があります。
こういう場合、どういった形で関数を定義するべきでしょうか。
例えば、積分をするためのループ処理1ステップ分を関数化して切り出したい場合などです。
0092デフォルトの名無しさん
2008/06/17(火) 19:07:380093デフォルトの名無しさん
2008/06/17(火) 19:09:350094デフォルトの名無しさん
2008/06/17(火) 19:14:420095デフォルトの名無しさん
2008/06/17(火) 19:31:17C言語の本を買ったのですがサンプルソースのあるページにアクセスできません?
アク禁になっているのか知りたいので他の人アクセスできるか試してもらえませんか;;
0096デフォルトの名無しさん
2008/06/17(火) 19:42:58自分専用ライブラリを放り込んでおく場所を決めておくと良いよ。
0097デフォルトの名無しさん
2008/06/17(火) 19:43:160098デフォルトの名無しさん
2008/06/17(火) 19:47:50こんなときこそあれだ
http://web.archive.org/web/20060423121809/www.cmagazine.jp/src/index.html
0099デフォルトの名無しさん
2008/06/17(火) 20:01:15そのサイトもアクセスできません・・・。
スレ違いですが質問させてください。
代わりにソースプログラムを配布しているサイトご存じないですか?
0100デフォルトの名無しさん
2008/06/17(火) 20:03:59文字コードは EUC な。
0101デフォルトの名無しさん
2008/06/17(火) 20:10:42ダウンロードできました!!
ありがとうございます><
■ このスレッドは過去ログ倉庫に格納されています