トップページ⇒tech
1001コメント264KB

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

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん2013/04/28(日) 17:27:19.70
エスケープシーケンスやWin32APIなどの環境依存なものでもOK。
ただしその場合、質問者は必ず環境を書きましょう。
※sage禁止です(と代々スレに書いてありますが自己判断で)。

【前スレ】
【初心者歓迎】C/C++室 Ver.83【環境依存OK】
http://toro.2ch.net/test/read.cgi/tech/1363154865/
◆ソースのインデントについて
半角空白やTABでのインデントはスレに貼ると無くなります。
そのため、アップローダーに上げるのも手ですが直接貼る場合は、
全角空白か に置換すると見栄えだけはよくなります。

【アップローダー】(質問が長い時はココ使うと便利)
http://codepad.org/ (コンパイルもできるし出力結果も得られる[]privateをチェック)
http://ideone.com/ (時間帯によってはcodepadが重い事があるのでここも利用)
0002デフォルトの名無しさん2013/04/28(日) 18:02:07.74
NG推奨:半角にして登録してくだい
◆QZaw55cn4c
◆0lBZNi.Q7evd
/tech/1313183984/
0003デフォルトの名無しさん2013/04/28(日) 19:30:08.32
>>2に追加

NG必須:半角にして登録してくだい
hoge
片山
0004デフォルトの名無しさん2013/04/28(日) 20:25:38.66
hogeは日本の美しい表記です。それを否定するのは非国民
0005デフォルトの名無しさん2013/04/28(日) 21:29:44.13
HOGEってのはキモいウニユーザーの
イメージがあるな。
奴らは一般人と会話するときにもHOGEを
使うから困ったものだ。
0006デフォルトの名無しさん2013/04/28(日) 21:39:25.63
大昔、日常会話の中で「ピー syntax error!」と叫ぶ人がいた。
今は絶滅してると思う、たぶん。
0007デフォルトの名無しさん2013/04/28(日) 21:43:49.40
キュンキュンキュン! キュンキュンキュン!
私のハードディスクに記録しているのでありますっ☆
0008デフォルトの名無しさん2013/04/29(月) 14:10:33.57
コンパイラ:gcc version 2.95.3
で
int
poll(struct pollfd *p, nfds_t nfds, int timout)
{
fd_set read, write, except;
struct timeval tv;
nfds_t i;
int highfd, rval;
...
と言うプログラムをコンパイルしたところ、
poll.c: In function `poll':
poll.c:41: warning: declaration of `read' shadows global declaration
poll.c:41: warning: declaration of `write' shadows global declaration
という警告が出たのですが、
これってどういうときに出るのでしょうか?
また、無視してよい物なのでしょうか?
0009デフォルトの名無しさん2013/04/29(月) 14:15:44.74
>>8
もともとどこかでreadが宣言されてたけど
オマエがreadを宣言しちゃったから
オマエの方が優先されるけどいいんだな
という警告と思われる
0010デフォルトの名無しさん2013/04/29(月) 17:11:14.32
ゆとり世代のわがままっぷりが良く分かる
0011デフォルトの名無しさん2013/04/29(月) 17:13:48.53
>>10
なぜそれを「ゆとり世代」とか「わがまま」と感じたのか興味あるね

単なる初心者の陥りやすい間違いという可能性は考えなかったのか?
0012デフォルトの名無しさん2013/04/29(月) 17:35:24.41
>>11
幼稚園のお遊戯で白雪姫の役ができるのは「白雪姫の役をやりたい」と言った人全員
という世代なんだよ
0013デフォルトの名無しさん2013/04/29(月) 17:37:39.23
>>8
お前、二歳くらいのとき
児童館で他人の玩具を奪い取ったことあるだろ?
0014デフォルトの名無しさん2013/04/29(月) 17:48:27.02
>>12
皮肉も理解出来ないアスペか
お前自身に「ゆとり世代」や「わがまま」の要素が強いから反応したんだよ
「投影」という現象だ
0015デフォルトの名無しさん2013/04/29(月) 17:51:01.78
man read
man write

read, write って stdio.h 経由で宣言されちゃうのかしら?
0016デフォルトの名無しさん2013/04/29(月) 18:05:57.74
>>14
いったい何を興奮してらっしゃる?
0017デフォルトの名無しさん2013/04/29(月) 19:03:42.00
hoge厨が来たわけでもないんだから落ち着けお前ら
0018デフォルトの名無しさん2013/04/29(月) 20:05:09.32
ゆとり世代より凄いのが新人類だよな
話を聞くとゆとり世代も完敗するぐらいゆとりだったみたい
0019デフォルトの名無しさん2013/04/29(月) 21:41:37.65
新人類って、長州力のアレか
0020デフォルトの名無しさん2013/04/29(月) 22:02:34.18
バカが見〜る〜♪ ブタのケ〜ツ♪
0021デフォルトの名無しさん2013/05/01(水) 01:45:31.29
hoge厨歓喜
0022デフォルトの名無しさん2013/05/01(水) 01:50:51.85
hoge厨とfoobar厨って、どっちがつおいの?
0023デフォルトの名無しさん2013/05/01(水) 03:26:24.54
>>22
さぁ、まともな神経してるのはfoobar厨だと思うけど、
まともな神経してれば強いというわけでもない
馬鹿は無敵だしな
基準を何にするかにもよるし

とりあえず情報収集能力や判断力を基準にすればfoobar厨のほうが圧倒的に強い
キチっぷりを基準にすればhoge厨のほうが圧倒的に強い
0024デフォルトの名無しさん2013/05/01(水) 20:49:45.04
とりあえずホゲユーザーは一般人と話すときに
ホゲホゲのと言うのはやめた方がいい。
一般人に対しては「なになにの」と言うべき。
0025デフォルトの名無しさん2013/05/02(木) 02:26:00.26
hoge厨よりhogeアンチ厨のがキモい
0026デフォルトの名無しさん2013/05/02(木) 03:28:29.13
>>25=キモいhoge厨
0027デフォルトの名無しさん2013/05/02(木) 03:49:07.58
アンチhogeを最も効率よく怒らせた人が勝ちです
さあ始め
0028デフォルトの名無しさん2013/05/02(木) 18:51:21.19
いつもこいつが荒らしてんのか
0029デフォルトの名無しさん2013/05/03(金) 22:46:23.63
C++はシンタックスエラーがなかなか取り除けないな
C++に遊ばれている
0030デフォルトの名無しさん2013/05/03(金) 22:58:53.76
>>29
「basicなんちゃらクラスがうんたら」「インスタンシエートしました」「候補はこれじゃない?」とか参照絡みテンプレート絡みはほとんどわからない‥‥
0031デフォルトの名無しさん2013/05/03(金) 23:36:23.53
>>29
まあ腐っても言語だからね。
「C++はシンタックスエラーがなかなか取り除けないな C++に遊ばれている」
を>>29が英訳した文をアメリカンに添削させたら
壮大な校正が入るだろう。
並大抵でないのは当然。
0032デフォルトの名無しさん2013/05/04(土) 00:00:07.94
「象は鼻が長い」
0033デフォルトの名無しさん2013/05/04(土) 00:11:22.23
アンサイクロペディアでC++ページ見たことがある?
あれ面白いから見てみたほうがいいよ
0034デフォルトの名無しさん2013/05/04(土) 00:28:33.46
テンプレートとオーバーロードそれぞれはまぁ納得できる仕様なのだが、
組み合わせるとエラーの原因がさっぱりわからんものに。
0035デフォルトの名無しさん2013/05/04(土) 00:41:17.75
http://hp.vector.co.jp/authors/VA000092/jokes/strup.html
0036デフォルトの名無しさん2013/05/04(土) 14:39:45.42
[Mac/NUC] AGK / DarkBASIC / Basic4GL / 99BASIC 2013 Part.1
http://jbbs.livedoor.jp/bbs/read.cgi/computer/43761/1367197701/l100
0037デフォルトの名無しさん2013/05/04(土) 22:22:34.27
NG推奨ワード: BASIC (半角で)
0038デフォルトの名無しさん2013/05/04(土) 22:45:24.09
ほら悔しいw
0039デフォルトの名無しさん2013/05/04(土) 22:58:34.96
プログラム板で言語名をNGせざるを得ないという悲しみ
0040デフォルトの名無しさん2013/05/04(土) 23:01:08.37
B
A
S
I
C
0041デフォルトの名無しさん2013/05/05(日) 02:37:09.67
>>39
リンク先のクソコテだけガードしておけばいいよ
0042デフォルトの名無しさん2013/05/05(日) 05:04:14.85
>>41
顔が引き攣ってるよw
0043デフォルトの名無しさん2013/05/06(月) 02:16:13.16
【初心者姦ゲイ】C/C++室 Ver.84【姦狂依存OK】
0044デフォルトの名無しさん2013/05/06(月) 02:20:18.67
>>36
俺もBASICにしようっと
0045デフォルトの名無しさん2013/05/06(月) 13:39:34.42
C++のinline関数と通常の関数の違いを教えてください。
0046デフォルトの名無しさん2013/05/06(月) 13:41:06.60
インライン関数は複数のソースに現れても
一つになります。以上
0047デフォルトの名無しさん2013/05/06(月) 13:41:55.59
>>45
複数翻訳単位で繰り返し定義された場合、 inline でかつ内容がまったく同じであれば、それが許される。
0048デフォルトの名無しさん2013/05/06(月) 13:50:15.71
inline関数の最大の特徴はインライン展開されること
複数のソースに現れるのが許されるのは二義的なこと
0049デフォルトの名無しさん2013/05/06(月) 13:51:22.53
>>48
釣りとしてはイマイチだな
0050デフォルトの名無しさん2013/05/06(月) 13:54:55.92
ヘッダに定義をかけることだろう
絶対に展開されるとは限らんし
0051デフォルトの名無しさん2013/05/06(月) 13:59:04.90
インライン展開がわかりません。
展開とは、そこにコーディングしたのと同じ、ということでしょうか?
0052デフォルトの名無しさん2013/05/06(月) 14:00:59.61
釣り呼ばわりとか(笑)
inlineは本来的にはインライン展開を指示するものだろ
実際にインライン展開されるかどうかはコンパイラの最適化の問題であって本質的なものではない
0053デフォルトの名無しさん2013/05/06(月) 14:02:36.80
釣りって言われたらそのまま受け取る奴って何なんだろうな
ウザいから消えろってはっきり言われないと分からないのかな
0054デフォルトの名無しさん2013/05/06(月) 14:04:01.91
・関数の中身を展開し高速を図ろうぜ
・その性質上定義がヘッダーに書かれる必用があるな
・よし内部リンケージにしよう
・いや、それだといろいろまずい
・よし、ODRだ。複数ファイルでも実体は一つ ←1998年頃
・もともと展開される保証は無いし、
 展開判断はコンパイラに任せた方がよくね?
・じゃあ「インライン」の意味はおまけで
 実際はODR対象の為のキーワードだな←今ココ
0055デフォルトの名無しさん2013/05/06(月) 14:05:21.36
>>51
例外はあるけどそういう事

static変数の定義だけは例外で、
インライン展開されても変数は全ての箇所で共有される
0056デフォルトの名無しさん2013/05/06(月) 14:06:07.50
>>52
inlineキーワードとinline関数は別物だぞ
0057デフォルトの名無しさん2013/05/06(月) 14:08:36.45
>>53
お前が消えろよクズ
0058デフォルトの名無しさん2013/05/06(月) 14:09:07.11
展開とは、inline関数で記述したことをそこにじか書きするのと
同じと考えていいでしょうか?
0059デフォルトの名無しさん2013/05/06(月) 14:11:30.71
>>58
基本的にはそれで良いよ
ただ本当にインライン展開されるかはコンパイラの判断によるということ
>>56
inline関数の話をしてるのは明白だろ
0060デフォルトの名無しさん2013/05/06(月) 14:14:18.23
>>59
いえ、inline関数の話をしているのに
どうしてinlineキーワードの話にすり替えるのですか?
0061デフォルトの名無しさん2013/05/06(月) 14:16:15.39
元の質問者はトリップつけてくれよ
0062デフォルトの名無しさん2013/05/06(月) 14:24:37.55
>>59さん
サンクスです。
0063デフォルトの名無しさん2013/05/06(月) 14:55:44.93
>>57,>>61
キチガイは早く他所に行ってね
スレが荒れる原因になって迷惑です
0064デフォルトの名無しさん2013/05/06(月) 15:15:29.74
> ウザいから消えろってはっきり言われないと分からないのかな ⇒ >>63
0065デフォルトの名無しさん2013/05/06(月) 15:24:47.05
とりあえず>>48の回答は不適切。
釣りかどうかはわかないが
0066デフォルトの名無しさん2013/05/06(月) 15:33:08.41
君が不適切と思うならそうなんだろうな。

君の中では。
0067デフォルトの名無しさん2013/05/06(月) 17:46:04.74
>>66=精神異常
0068デフォルトの名無しさん2013/05/06(月) 18:11:39.19
winsockでudpサーバを作ろうとしていますが、クライアントが何らかの信号を出さないと、サーバは誰が接続中でデータを配信しているか
分からないのでしょうか、acceptで接続するときの情報をとろうと実験したのですが、
それだとブロードキャストらしきものを拾って使えませんでした
0069デフォルトの名無しさん2013/05/06(月) 18:21:06.43
udpで接続中とかは意味がわからないが、サーバがデータを受信したときに
送信元のIPアドレスは分かるだろう
0070デフォルトの名無しさん2013/05/06(月) 18:34:03.68
具体的にいうと動画データをudpで配信するサーバを作りたいのですが、配信してるクライアントの情報の取り方が分からないです
0071デフォルトの名無しさん2013/05/06(月) 18:35:22.06
クライアントの情報とやらがなにを意味してるのか説明しないと
0072デフォルトの名無しさん2013/05/06(月) 18:42:22.49
スレ違い
0073デフォルトの名無しさん2013/05/06(月) 18:43:30.43
クライアントはipが取れればと思います
0074デフォルトの名無しさん2013/05/06(月) 18:45:30.66
マルチキャストなら無理
ユニキャストならお前が知らないはずはない
0075デフォルトの名無しさん2013/05/06(月) 18:50:26.38
うーん、それがudpという感じなんですね
0076デフォルトの名無しさん2013/05/06(月) 18:54:46.67
>>75
消えろゴミ
0077デフォルトの名無しさん2013/05/06(月) 18:58:48.33
とりあえず、ありがとうございました
0078デフォルトの名無しさん2013/05/06(月) 19:56:44.10
>消えろゴミ
→ ありがとうございました

マゾにもほどがある
0079デフォルトの名無しさん2013/05/06(月) 20:56:21.61
>>67
君の中ではそうなんだろうな (w
0080デフォルトの名無しさん2013/05/07(火) 00:00:14.38
inlineの仕様は「通常の関数呼び出しするより
中身を展開する方が望ましい(prefer to)」
だからなあ。
ODRが主目的でないのは異論が無いと思うけど
インライン展開されると言い切られるとちょっと違う。
0081デフォルトの名無しさん2013/05/07(火) 00:30:46.24
ほんとに展開されるかどうかはわからんもんね
0082デフォルトの名無しさん2013/05/08(水) 04:33:36.98
多重継承は正義だったのでしょうか?
0083デフォルトの名無しさん2013/05/09(木) 13:04:34.68
DMC8.56で、_beginthreadexの呼び出しで死ぬんだがどうすれば良い?
以下コード
#define _MT
#include <windows.h>
#include <process.h>

unsigned __stdcall f(void* a)
{
_endthreadex(0);
return 0;
}

int main()
{
HANDLE hth=(HANDLE)_beginthreadex(NULL,0,f,NULL,0,NULL);
return 0;
}
0084デフォルトの名無しさん2013/05/09(木) 13:26:24.36
最後の引数が間違ってるからじゃね?
0085デフォルトの名無しさん2013/05/09(木) 14:55:06.54
VCだとNULLで通るんだがなぁ

unsigned tid=GetCurrentThreadId();
HANDLE hth=(HANDLE)_beginthreadex(NULL,0,f,NULL,0,&tid);

これで通った
ありがとう
0086デフォルトの名無しさん2013/05/09(木) 15:33:44.54
MSDNによると最後の引数はNULLでも良いはずなんだがな???
あと、そのGetCurrentThreadId()呼び出しは要らない筈
0087デフォルトの名無しさん2013/05/09(木) 16:27:58.44
?
0088デフォルトの名無しさん2013/05/09(木) 16:49:53.27
ああ、最後の引数は関数の返値か。
GetCurrentThreadId()なくても通った。

実装時期が分からないけど、VC6のだとNULLでいいとは書いてないんだな。
平気でNULLにしてたけど。

まあ、DMCだから。
0089デフォルトの名無しさん2013/05/09(木) 17:44:56.19
昔はVisual C++でもダメだったので
ダミーで用意した変数のアドレス渡してた。
ソースは俺
0090デフォルトの名無しさん2013/05/09(木) 19:56:20.98
少なくともリファレンス上は
2003までNULL不可、2005から許容
0091デフォルトの名無しさん2013/05/09(木) 21:17:46.00
APIじゃなくてランタイムライブラリなら仕様が変わってもおかしくない
だがDMCは10年くらい前で止まってるんじゃないか
今さらDMCを使うくらいなら DMDの方がいいw
0092デフォルトの名無しさん2013/05/09(木) 21:21:23.38
Digital Mars何ソレうまいの?
0093デフォルトの名無しさん2013/05/09(木) 23:36:30.87
俺はDMMを利用してる
0094デフォルトの名無しさん2013/05/10(金) 11:04:50.50
今のdmc遊べるよ?
tgmath.h以外のC99で追加されたヘッダファイルあるし
関数も大体揃ってる
windows依存部分は10年放置だけどw
0095デフォルトの名無しさん2013/05/11(土) 10:30:02.96
>>94
>tgmath.h以外の
何なのその中途半端。
Win32 API使わないならclangでも挿れた方がマシ
0096デフォルトの名無しさん2013/05/11(土) 18:16:13.62
いやいや、C99 ってオイ
C++03かと思って納得しかけたじゃないかw
0097デフォルトの名無しさん2013/05/11(土) 19:19:20.18
あのさ、VS2012ですらC99に対応してないんだから、C99を中心に語るのはやめてくんない?
gcc(完全準拠じゃない)とIntel C++(これも完全準拠じゃない)は対応してるけどさ
0098デフォルトの名無しさん2013/05/11(土) 19:42:38.93
>>97
14年前の規格すら対応していない
KUSOコンパイラを君が使っていると
いう理由で
他人に変なこと要求しないでくれ。
Cだって2011年に改訂されてるんだから
2世代前の23年前の仕様で物を語られても困る。
0099デフォルトの名無しさん2013/05/11(土) 19:47:33.89
>>98
VS2012を捨ててgccを使えと?仕事で使ってるので無理です
0100デフォルトの名無しさん2013/05/11(土) 19:52:49.13
>>99
ここはVisual C++スレではないので、Visual C++前提で
話をするのは止めて下さい
0101デフォルトの名無しさん2013/05/11(土) 19:55:04.24
>>100
じゃあこのスレは何のコンパイラを使ってる人のスレなの?そこをはっきりさせてよ
>>1にも書いてないじゃん
■ このスレッドは過去ログ倉庫に格納されています