【雑談】C/C++【その1】

このエントリーをはてなブックマークに追加
62デフォルトの名無しさん:2006/01/01(日) 23:28:23
さて2006年になった。

年末にはVC++2005に付随してC++/CLIが出たけど,
俺としてはC++ 0xのほうがよっぽど気になる。
63デフォルトの名無しさん:2006/01/02(月) 00:02:33
2009年リリースを目指すとかあったけど。
vc8からしてバグだらけだからな
64デフォルトの名無しさん:2006/01/02(月) 00:44:04
0xの方向性ってやっぱりライブラリをよりゴージャスにってほうこうなのかな?
個人的には、ドライバや組み込みで安心して使えるようなSTL系ライブラリがほしい。
STLのコンテナですらドライバとか書くにはゴージャス過ぎるような気がするんだよなぁ。
65デフォルトの名無しさん:2006/03/07(火) 22:37:53
while (1) {

};
↑ここってセミコロンいるの?
66デフォルトの名無しさん:2006/03/07(火) 23:12:18
>>65
いらない
67デフォルトの名無しさん:2006/03/07(火) 23:43:51
>>66
どもです
付けても問題ないと思うけど
これからは外しておくか
68デフォルトの名無しさん:2006/03/08(水) 00:22:09
if ()
    while (1)
    {
      // ...
    };
else
    //...
69デフォルトの名無しさん:2006/03/08(水) 00:48:08
if ()
{
while (1)
{
// ...
}
}
else
{
//...
}

70デフォルトの名無しさん:2006/03/14(火) 03:46:43
>>67
そういう一貫性のなさがC系言語だよな
71デフォルトの名無しさん:2006/03/14(火) 20:18:36
}で終わる文は;は不要

って覚え方を今思いついた。

でもC++では宣言は文の一種だからこの覚え方は間違ってる。Cだと正しいけどね
72デフォルトの名無しさん:2006/03/14(火) 22:05:06
>>71
そのときの } は複文の終わりと言える。
73デフォルトの名無しさん:2006/03/15(水) 01:06:21
>>71
struct foo {
int bar;
int baz;
} fooz = {1, 3};
74デフォルトの名無しさん:2006/03/15(水) 08:29:07
>>73
Cの場合、(C99でも)宣言は文ではないから「}で終わる文は;は不要」に当てはまらない。
しかしC++は宣言文と言う文の一種。

71もそう言っているだろ。
75デフォルトの名無しさん:2006/03/15(水) 10:53:18
>>73 は宣言の例を書いたんじゃなくて
{で終わる文なのに;が必要な例をあげようとしたんじゃないの?
でも、struct foo {...} fooz = {1,3} は「式」だから「}で終わる文」ではないよ。
76デフォルトの名無しさん:2006/03/15(水) 10:57:00
do{}while(hoge);
77デフォルトの名無しさん:2006/03/17(金) 12:24:17
}で終わってないってのがスタンダードな突っ込み
do-while文の本体はブロックである必要はないってのが明後日の方向を向いた突っ込み
TextSS のWindowsXP(Professional)64bit化おながいします

もしくは64bitにネイティブ対応したテキスト置換ソフトありますか?
79デフォルトの名無しさん:2006/03/28(火) 17:24:46
マルチ視ね
80デフォルトの名無しさん:2006/05/12(金) 09:29:24
2006年5月12日朝...
華麗なるage。
81デフォルトの名無しさん:2006/05/19(金) 23:56:32
華麗なる逆転
82デフォルトの名無しさん:2006/05/21(日) 04:34:51
とある民生用ハードウェアの制御のために、プログラミングの
プの字も知らない俺が今からC++勉強します。

先ほど統合開発環境というものをDLしてきました。
いきなりちんぷんかんぷんですがめげずに頑張ります。
83デフォルトの名無しさん:2006/05/27(土) 19:46:15
うれC言語。たのC言語。そして、最もはげC言語はC言語。
84デフォルトの名無しさん:2006/06/10(土) 03:33:42
今日、大学の先生からレポートの課題出された

その課題の一部に例文が書いてあり、これを利用してプログラムを作りなさいと書いてあった
以下引用
#include<stdlib.h>
int a;
double x;
a=rand();
x=(double)a/32768.0;

xは、区間[0,1)の一様乱数の標本値である
関数 rand()は、呼び出す毎に異なった値(0 - 32767)を返す

ここまで。

ここの住人の方なら、この課題参照文が、どれだけ大誤りな事をしでかしてるか分かると思います。
85デフォルトの名無しさん:2006/06/10(土) 03:34:14
大学ではVC++6.0使ってるけど、自分は家じゃマック使ってるから、Xcode 2.3でCommand Line UtilityのStandard Tool扱いで、いざプログラムを動かしてみるが、正常に動かない。
デバッグトレースしてみて、ひどいことをしているのが露見。

rand()が返す値は、(0 - 32767)ではありません。(0 - RAND_MAX)の値なんです。

た ま た ま、VC++シリーズのstdlib.hが、#define RAND_MAX 32767 と書いてるだけの話

VC++で組んでたら、この間違いに気づかず、後で移植した時に大わらわになりやがりますw
stdlib.hの定数なんて、プラットフォームによって、まちまちな事が多いし、こういう事をするのは大変危険で恐ろしい大誤りです。

以下自分なりに考えた正答

上の例文の、最後の行を以下の様に直す
x=(double)a/((double)RAND_MAX+1);

これで正常に動作が確認できました。

一応理系の情報通信の教授から出された課題なんですが、その道のプロである人でも、こういうことやっちゃうんですね...
ちょっとこりゃないぜと思いました

皆さんどう思います?
86デフォルトの名無しさん:2006/06/10(土) 03:52:29
それがどうした。当たり前の事を今更書かれてもな。
87デフォルトの名無しさん:2006/06/10(土) 05:28:08

C++のファイル拡張子って、cppとccそれにcxxなんてのもあったりするけど、これってどういうの歴史的があるのかな?
88デフォルトの名無しさん:2006/06/10(土) 05:41:18
>>87
それを言うなら「歴史的経緯」だろうがカス。
89デフォルトの名無しさん:2006/06/10(土) 08:30:23
>>85
0 から RAND_MAX の範囲内の int 型疑似乱数を返します。srand 関数を使って疑似乱数ジェネレータを初期化してから、rand 関数を呼び出してください

90デフォルトの名無しさん:2006/06/10(土) 10:26:14
>>87
.C なんてのもあるぜ。
91デフォルトの名無しさん:2006/06/10(土) 14:27:09
てか、情報通信工学科の教授がなにやってんだ
92デフォルトの名無しさん:2006/06/10(土) 14:42:18
>>91
>>86
普段はそんなシロウト臭いの使わないからじゃネーの
馬鹿学生用にレベルを落としたら、低レベルの粘着がココに来てるだけにしかみえんな
お前以外にそんな下らんことなど気にならん。
93デフォルトの名無しさん:2006/06/10(土) 14:57:05
>>92
だってそんなプログラム書いたら明らかに危険じゃん
思わず背筋凍りそうになったよ

ANSI Cでプログラム書くとき、汎用性のないプログラムを書くのは危険
94デフォルトの名無しさん:2006/06/10(土) 15:21:22
>>93
俺なんか思わず射精しちまったぜ。
95デフォルトの名無しさん:2006/06/10(土) 18:47:08
学生向けにレベルを落とした書き方をしてあっただけだろ。
初心者にはRAND_MAXより数値を書いた方が意味が分かりやすいからな。
それが時代が変わって動かなくなっただけ。
例題のコードを危険とか安全とかいう目で見る方がどうかしてる。
96デフォルトの名無しさん:2006/06/10(土) 18:48:02
>>92
普段からそんなシロウト臭い (プリプロセッサシンボルを使わない) ことをしているからでしょう。
97デフォルトの名無しさん:2006/06/10(土) 19:21:04
>>96
92だが、知らんよそこのボケ学生の相手がどんなやつかなんかw
stdlibの乱数なんかどうでもいいだろってことだよ

てかさ、お前にとってプリプロセッサシンボルを使わないかどうかが大切なのかも知れんがナ
馬鹿らしくて射精されてんだ、もうやめろよ。低俗な話題もいいが引き時があるだろ。
98デフォルトの名無しさん:2006/06/10(土) 20:35:24
自分の同類を見つけたからってむきになって擁護するなよ。
いいじゃん、雑談スレなんだから。
99デフォルトの名無しさん:2006/06/10(土) 20:49:49
とりま、少しは勉強しろや低脳君
ttp://www001.upp.so-net.ne.jp/isaku/rand.html
100デフォルトの名無しさん:2006/06/15(木) 00:34:51
>>99
そいつ線形合同法の「線形」の意味を全く理解してないな。
理解してたらsrandom()の使い方がおかしいことはすぐわかるだろうに。
101デフォルトの名無しさん:2006/06/15(木) 02:09:27
>>100
お前、馬鹿?
102デフォルトの名無しさん:2006/06/15(木) 06:02:47
悔しかったのはわかるが
言い返せないのをそこまで丸出しにするなよw

屁理屈の一つくらい用意すればいいのに。
103デフォルトの名無しさん:2006/06/15(木) 07:50:30
>>102
馬鹿なのがよくわかった。

これだけだと端から見て難癖つけてるだけにしか見えないから少しだけ補足しとくと
あれはそういうテストをしてるコードだ、馬鹿。
104デフォルトの名無しさん:2006/06/16(金) 02:13:47
説明したフリをして実質何も言わずに逃げるのが
あまり上手くないですね、あなたw
105デフォルトの名無しさん:2006/06/16(金) 07:05:04
>>104
安心しろ、補足したのはお前の為じゃない。
馬鹿に説明しても無駄だからな。
106デフォルトの名無しさん:2006/06/16(金) 08:03:59
頭が可哀相だと煽りもうまくできないんだなw
107デフォルトの名無しさん:2006/06/17(土) 13:57:30
>>106
お前は85,91,98なのか?
だったらもう消えたほうがいいよ
99から100に5日も空いている時点でカコワル杉
108デフォルトの名無しさん:2006/06/17(土) 14:04:37
>>103
今99のサイト見てきたw
確かに100とか102は日本語も読めない恕低脳なのが良くわかった。
サイトのタイトルぐらい読もうね>>100,102
109デフォルトの名無しさん:2006/07/25(火) 20:36:07
# 一年の終りに買ったK&Rが三年になってやっとポインタの章まで読み終わった
# 四年に上がるまでにはソース打ち込んだり問題解き終わったりしたいなぁ…
110デフォルトの名無しさん:2006/07/27(木) 11:07:17
`(バッククォート)ってCの構文上何か特別な意味あったっけ?
識別子名に使えるわけではないし、演算子や構文要素の一部になっていた記憶もない。
111デフォルトの名無しさん
ソース文字集合に入ってないから@や$と同じ扱いじゃないかな。