- 1 名前: ◆h6A7qfFFu6 mailto:sage [2008/12/29(月) 11:05:07 ]
- スレを勃てるまでもない低俗なC/C++の質問はここでお願いします。
過去ログ スレを勃てるまでもないC/C++の質問はここで pc11.2ch.net/test/read.cgi/tech/1167476845/ スレを勃てるまでもないC/C++の質問はここで 2 pc11.2ch.net/test/read.cgi/tech/1178503366/ スレを勃てるまでもないC/C++の質問はここで 3 pc11.2ch.net/test/read.cgi/tech/1187521676/ スレを勃てるまでもないC/C++の質問はここで 4 pc11.2ch.net/test/read.cgi/tech/1221633708/
- 171 名前:デフォルトの名無しさん [2008/12/30(火) 21:02:39 ]
- >>168
覚えたとしても、それらを使い間違わないようにビクビクしながら使うよりは、 単純にshared_ptr使った方が、バグが少ない堅いコーディングができると思うけど。
- 172 名前:デフォルトの名無しさん [2008/12/30(火) 21:07:19 ]
- >>170
ポインタの宣言がなくてもアドレスは使用可なのでしょうか ていうか、子の場合アドレスで指定する意味はなんでしょうか?
- 173 名前:デフォルトの名無しさん [2008/12/30(火) 21:10:39 ]
- コピーを避けるためです。
- 174 名前:デフォルトの名無しさん [2008/12/30(火) 21:30:52 ]
- ポインタならコピーをされる?
- 175 名前:デフォルトの名無しさん mailto:sage [2008/12/30(火) 21:38:00 ]
- ポインタなら、ポインタだけ渡せばいいからデータ自体はコピーされない
- 176 名前:デフォルトの名無しさん mailto:sage [2008/12/30(火) 21:43:01 ]
- >>167
自ら使うのはshared_ptrだけでもいい。次期標準にも入る。 入るおかげで、C++0xでは、標準に入っていないのは無視してOKと言えるようになるんだが。 例えば、>>105で挙げられているintrusive_ptrは知っていても大多数が使ったことないだろう(俺もだ)。 scoped_ptrはauto_ptrとまとめてunique_ptrになる。 #びくびくせず自信を持って使えるならweak_ptrも使ってほしい。
- 177 名前:169 [2008/12/30(火) 21:51:30 ]
- ますますよくわからなくなってきた
まず、構造体を宣言して sizeof(test)でなにをかえすんだろうか testの中身は宣言だけしてるだけで、実際何もはいってない?いや、0ならはいってるのかな で、memsetでそのtestのアドレスの先頭からだけど、testのアドレスの中身じゃなくて、アドレスの 先頭から0で埋めるとかおかしくないのかな。アドレスであってアドレスが差す値じゃないから。
- 178 名前:デフォルトの名無しさん mailto:sage [2008/12/30(火) 21:57:22 ]
- memsetは、アドレスが指す領域を指定した値で埋める関数だよ
- 179 名前:デフォルトの名無しさん mailto:sage [2008/12/30(火) 21:57:33 ]
- sizeof testはsizeof (struct shiken_in)と同じと決まっている。
memsetにはアドレスを渡すけど、 memsetが0で埋めるのは、アドレスが差す値。
- 180 名前:デフォルトの名無しさん mailto:sage [2008/12/30(火) 21:59:08 ]
- 変数じゃなくて、変数の「場所」を渡してる
memsetはその「場所」をみてそこをsizeof(test)バイト分0で埋めてる
- 181 名前:デフォルトの名無しさん mailto:sage [2008/12/30(火) 22:15:59 ]
- >>171
まあ、でも、そこまで難しいものでもないし。
- 182 名前:169 [2008/12/30(火) 22:20:36 ]
- 実際、sizeof(test)は何バイトになるのでしょうか?
- 183 名前:デフォルトの名無しさん mailto:sage [2008/12/30(火) 22:22:30 ]
- わかりません
- 184 名前:デフォルトの名無しさん [2008/12/30(火) 22:26:41 ]
- >>182
testの型による。 testはどう宣言してるの?
- 185 名前:169 [2008/12/30(火) 22:40:44 ]
- struct shiken_in test;
>>184 はい、このように宣言しております
- 186 名前:デフォルトの名無しさん mailto:sage [2008/12/30(火) 22:47:17 ]
- やべぇちょっと笑ってしまった
- 187 名前:デフォルトの名無しさん mailto:sage [2008/12/30(火) 22:58:22 ]
- structなんだからstruct shiken_in がなんなのか探せ
- 188 名前:デフォルトの名無しさん mailto:sage [2008/12/30(火) 23:00:07 ]
- そもそも shiken_in が分かったところで
アラインメントの設定が分からんとサイズは分からんだろ。
- 189 名前:デフォルトの名無しさん mailto:sage [2008/12/30(火) 23:02:16 ]
- >182
shiken_in のサイズになる。 具体的には環境による。
- 190 名前:169 [2008/12/30(火) 23:05:34 ]
- sockaddr_in
すみません、正確にはこういう構造体です 中身はかいてません。sizeofしたら何バイトになるのかな?
- 191 名前:デフォルトの名無しさん mailto:sage [2008/12/30(火) 23:06:45 ]
- sizeof すればいいじゃん。
- 192 名前:デフォルトの名無しさん mailto:sage [2008/12/30(火) 23:13:27 ]
- だから構造体のメンバの内容とアライメントの2つの情報がないと誰にも答えられないんだってば。
そして理屈抜きでサイズだけ知りたいなら5行くらいのソースを書いてsizeofを見るのが一番早い。
- 193 名前:デフォルトの名無しさん mailto:sage [2008/12/30(火) 23:27:35 ]
- typedef struct DADADADADADADA
{ char p[1024]; } CDDB; CDDB cddb; int main(void) { return cddb; }
- 194 名前:デフォルトの名無しさん [2008/12/30(火) 23:28:33 ]
- printf("sizeof(struct sokaddr_in)=%d\n", sizeof(struct sockaddr_in));
- 195 名前:デフォルトの名無しさん mailto:sage [2008/12/30(火) 23:36:16 ]
- printf("%d\n", sizeof(printf));
- 196 名前:デフォルトの名無しさん [2008/12/31(水) 12:48:14 ]
- >>140
言語が標準GCを備えることと、GCが言語の使用と不可分でシステムに組み込まれることとは別だろ。 「高性能なハード」とやらの場合には、GCを組み込んで 「高性能なハード」でない場合には、GCを組み込まず手動のメモリ管理を使用してシステムを構築すればいい。 C++はマルチパラダイム言語とやらを標榜するくらいだから、それくらい普通にするだろ。 それなのに何故標準GCを提供しないのか意味不明。 きっと言語設計者およびその取り巻きはバカなんだろうな。
- 197 名前:デフォルトの名無しさん mailto:sage [2008/12/31(水) 12:55:47 ]
- ということにしたいのですね
- 198 名前:デフォルトの名無しさん [2008/12/31(水) 12:58:24 ]
- したいのではなく、事実なのです。
- 199 名前:デフォルトの名無しさん mailto:sage [2008/12/31(水) 12:58:42 ]
- >>196
高性能なハードでない場合には手動のメモリ管理を使用してってwwwwwwww その辺が自動化できればGCを導入するのに必要な苦労がいないし、GCもいらないじゃんwwww バカかこいつは
- 200 名前:デフォルトの名無しさん mailto:sage [2008/12/31(水) 12:59:16 ]
- ということにしたいのですね
- 201 名前:デフォルトの名無しさん [2008/12/31(水) 12:59:29 ]
- >>199
お前は、先ず日本語を勉強しろ。
- 202 名前:デフォルトの名無しさん mailto:sage [2008/12/31(水) 13:00:23 ]
- >>196
GCの有無で言語仕様が大きく変わるんだよ。 GCが必要な人はGCを持つ言語を使えばいい。GCが不要な人はGCがない言語を使えばいい。
- 203 名前:デフォルトの名無しさん [2008/12/31(水) 13:04:28 ]
- >>202
変わるのではなく、パラダイムが追加されればいいんだろ。 GCが必要な人はC++をGCを持つ言語として使えばいい。GCが不要な人はC++をGCがない言語として使えばいい。 C++はそういうことが得意な言語じゃないのか?
- 204 名前:デフォルトの名無しさん [2008/12/31(水) 13:05:56 ]
- C++はgcがない言語
- 205 名前:デフォルトの名無しさん mailto:sage [2008/12/31(水) 14:17:07 ]
- >>203
パラダイムという言葉を使わずに、C++にGCを実装するのに必要なことは何か言ってごらん。
- 206 名前:デフォルトの名無しさん mailto:sage [2008/12/31(水) 14:18:57 ]
- ゲームキューブで議論するスレだったのか
- 207 名前:デフォルトの名無しさん mailto:sage [2008/12/31(水) 14:21:44 ]
- C++/CLI使えばいいじゃん
- 208 名前:デフォルトの名無しさん mailto:sage [2008/12/31(水) 14:27:23 ]
- >>203
一方C++はスマートポインタを実装した。
- 209 名前:デフォルトの名無しさん mailto:sage [2008/12/31(水) 14:36:33 ]
- 一方STL野郎は独自のアルゴリズムを実装した
- 210 名前:デフォルトの名無しさん [2008/12/31(水) 15:00:21 ]
- >>205
先ず、お前の勘違いを訂正する。 実装するのはC++にではなく、C++の処理系に対して。 C++の処理系にGCを実装するのに必要なことは GCの設計/コーディング/デバグ それ以前に、C++の言語仕様にGCの仕様を追加する必要がある。
- 211 名前:デフォルトの名無しさん mailto:sage [2008/12/31(水) 15:07:23 ]
- お手軽に付け外しができる機能とでも思ってるのか
- 212 名前:デフォルトの名無しさん [2008/12/31(水) 15:09:38 ]
- 日本語でおk
- 213 名前:デフォルトの名無しさん mailto:sage [2008/12/31(水) 15:28:19 ]
- お前らがグダグダ何と言おうが、既に将来の規格改定でGC導入は間違いない路線。
残念ながらC++0xには間に合わなさそうだけど。 現状こんな感じ。 ttp://d.hatena.ne.jp/faith_and_brave/20081117/1226913980
- 214 名前:205 mailto:sage [2008/12/31(水) 15:36:48 ]
- >>210
よし、訂正された。 つづきをどーぞ
- 215 名前:デフォルトの名無しさん [2008/12/31(水) 15:39:09 ]
- >>214
何の続き?
- 216 名前:デフォルトの名無しさん mailto:sage [2008/12/31(水) 16:52:51 ]
- C++0x
- 217 名前:デフォルトの名無しさん mailto:sage [2008/12/31(水) 17:19:59 ]
- 素晴らしいオセロゲームを作りたいんですが・・・
作れるようになるまでに、どれくらいかかるんでしょうか?
- 218 名前:デフォルトの名無しさん mailto:sage [2008/12/31(水) 17:24:45 ]
- 自分が出来を素晴らしいと思えるようになるまで。
- 219 名前:デフォルトの名無しさん [2008/12/31(水) 17:32:14 ]
- 3ヶ月くらい
- 220 名前:デフォルトの名無しさん mailto:sage [2008/12/31(水) 17:37:55 ]
- >>217
>>23の言う補間機能を使うといいよ
- 221 名前:デフォルトの名無しさん mailto:sage [2008/12/31(水) 17:48:14 ]
- 23 :デフォルトの名無しさん:2008/12/29(月) 18:24:20
>>19 こういうのは原則としてやめろ エディタの補間機能が働かなくなるし
- 222 名前:デフォルトの名無しさん mailto:sage [2008/12/31(水) 17:49:40 ]
- >>217
素晴らしいの意味によるし、経験にも依るでしょ。 強いという意味なら自分で考えるならそれなりに解析が必要。 見栄えという意味ならお絵描き/画像作りが必要。
- 223 名前:デフォルトの名無しさん mailto:sage [2008/12/31(水) 18:03:39 ]
- どれくらいって聞いてるのに、グダグダうるせーっつーの。
お前らは期間を示せばいいんだよ。前提があるなら前提も示せっつーの。
- 224 名前:デフォルトの名無しさん mailto:sage [2008/12/31(水) 18:18:45 ]
- >>223
わざわざ答えてもらってるのに失礼じゃないですか そういうレスはやめてください
- 225 名前:デフォルトの名無しさん mailto:sage [2008/12/31(水) 18:25:28 ]
- >>224
いや、答えてないから。
- 226 名前:デフォルトの名無しさん mailto:sage [2008/12/31(水) 18:30:49 ]
- >>225
グダグダうるせーよwwwww
- 227 名前:デフォルトの名無しさん mailto:sage [2008/12/31(水) 18:37:07 ]
- 223 :デフォルトの名無しさん:2008/12/31(水) 18:03:39
どれくらいって聞いてるのに、グダグダうるせーっつーの。 お前らは期間を示せばいいんだよ。前提があるなら前提も示せっつーの。
- 228 名前:デフォルトの名無しさん mailto:sage [2008/12/31(水) 18:38:11 ]
- 223 :デフォルトの名無しさん:2008/12/31(水) 18:03:39
どれくらいって聞いてるのに、グダグダうるせーっつーの。 お前らは期間を示せばいいんだよ。前提があるなら前提も示せっつーの。
- 229 名前:デフォルトの名無しさん mailto:sage [2008/12/31(水) 18:55:27 ]
- >>222
C言語を学ぶだけではなく、絵もうまくなる必要があるってことですね!
- 230 名前:デフォルトの名無しさん mailto:sage [2008/12/31(水) 19:03:15 ]
- 223 :デフォルトの名無しさん:2008/12/31(水) 18:03:39
どれくらいって聞いてるのに、グダグダうるせーっつーの。 お前らは期間を示せばいいんだよ。前提があるなら前提も示せっつーの。
- 231 名前:デフォルトの名無しさん mailto:sage [2008/12/31(水) 19:05:11 ]
- 223 :デフォルトの名無しさん:2008/12/31(水) 18:03:39
どれくらいって聞いてるのに、グダグダうるせーっつーの。 お前らは期間を示せばいいんだよ。前提があるなら前提も示せっつーの。
- 232 名前:デフォルトの名無しさん mailto:sage [2008/12/31(水) 19:14:34 ]
- 223 :デフォルトの名無しさん:2008/12/31(水) 18:03:39
どれくらいって聞いてるのに、グダグダうるせーっつーの。 お前らは期間を示せばいいんだよ。前提があるなら前提も示せっつーの。
- 233 名前:デフォルトの名無しさん mailto:sage [2008/12/31(水) 19:25:07 ]
- >>223
期間 : 5か月くらい 前提 : 俺が作るとして
- 234 名前:デフォルトの名無しさん mailto:sage [2008/12/31(水) 19:44:37 ]
- >>219 >>233
thx
- 235 名前:デフォルトの名無しさん mailto:sage [2008/12/31(水) 19:44:41 ]
- 223 :デフォルトの名無しさん:2008/12/31(水) 18:03:39
どれくらいって聞いてるのに、グダグダうるせーっつーの。 お前らは期間を示せばいいんだよ。前提があるなら前提も示せっつーの。
- 236 名前:デフォルトの名無しさん mailto:sage [2008/12/31(水) 20:27:30 ]
- 223 :デフォルトの名無しさん:2008/12/31(水) 18:03:39
どれくらいって聞いてるのに、グダグダうるせーっつーの。 お前らは期間を示せばいいんだよ。前提があるなら前提も示せっつーの。
- 237 名前:デフォルトの名無しさん mailto:sage [2008/12/31(水) 23:07:08 ]
- なんか、新しいスレになってから荒れてるね
- 238 名前:デフォルトの名無しさん mailto:sage [2008/12/31(水) 23:16:17 ]
- 223 :デフォルトの名無しさん:2008/12/31(水) 18:03:39
どれくらいって聞いてるのに、グダグダうるせーっつーの。 お前らは期間を示せばいいんだよ。前提があるなら前提も示せっつーの。
- 239 名前:デフォルトの名無しさん mailto:sage [2009/01/01(木) 00:17:12 ]
- だめだ・・・僕にはプログラミングなんて・・無理かもしれない・・
- 240 名前:デフォルトの名無しさん mailto:sage [2009/01/01(木) 00:31:42 ]
- なぜ?具体的に。
- 241 名前:デフォルトの名無しさん mailto:sage [2009/01/01(木) 00:39:35 ]
- ・・いま苦Cで文字列を扱う方法してるんですけど・・
そこで少し分厚い壁に当たってしまいました・・ こんなしょっぱなから壁にぶつかるようじゃ、俺にC言語習得なんて無理なんじゃないか・・? って考えてます・・
- 242 名前:デフォルトの名無しさん mailto:sage [2009/01/01(木) 00:45:46 ]
- 全然具体的じゃないきがするなぁ
プログラムでつまづくのは別にいいけど「良い質問/相談」を持ちかけるのはやっぱり必要だとオモ あ、あけましておめでとう
- 243 名前:デフォルトの名無しさん mailto:sage [2009/01/01(木) 00:53:22 ]
- >>241
web で勉強してるの?個人的には本一冊買った方が良いと思うなぁ。 あと、論理的思考能力とやる気さえあればプログラミングはできるよ。
- 244 名前:デフォルトの名無しさん mailto:sage [2009/01/01(木) 01:00:58 ]
- あけましておめでとうございます
>>243 よし!本を買うことにします
- 245 名前:デフォルトの名無しさん mailto:sage [2009/01/01(木) 02:00:08 ]
- >>241
俺もWEBで勉強した で、した感想 本買ったほうが100倍速いぞw
- 246 名前:デフォルトの名無しさん mailto:sage [2009/01/01(木) 02:31:11 ]
- やはり、特に用途がないものを学ぶのは辛いもの。
勉強でやってるなら、とりあえず作ってみて 必要になったら、Webなり2chで聞くなりした方が絶対覚えが早いよ。
- 247 名前:デフォルトの名無しさん mailto:sage [2009/01/01(木) 03:29:27 ]
- gets()は絶対に使ってはならない
↑実際どうなの
- 248 名前:デフォルトの名無しさん mailto:sage [2009/01/01(木) 03:50:21 ]
- 実際そのとおり。fgetsで何も困らない。
- 249 名前:デフォルトの名無しさん mailto:sage [2009/01/01(木) 04:25:07 ]
- 使うべきではない、が正しいと思う。
バッファオーバーフローで、PCがハック(今ではクラックの方が正しいか)されたいのであれば、使えばいい。 1988年にfingerdを襲った悲劇の教訓からそう語り継がれているんだよ。
- 250 名前:デフォルトの名無しさん mailto:sage [2009/01/01(木) 04:35:03 ]
- やっぱそうか
1つくらいいいところあるかなと思ったけど、いいとこないな
- 251 名前:デフォルトの名無しさん [2009/01/01(木) 13:15:35 ]
- list< orekurasu > data;
data
- 252 名前:デフォルトの名無しさん [2009/01/01(木) 13:19:38 ]
- list< orekurasu > data; として dataにデータを入れて、リストで3連続するもののうち、
前後の二つと中央のデータにある違いがある場合、真ん中のデータを削除したいのですが、 remove_ifと叙述関数(プレディケート)を使って作れますか? 叙述関数では各要素毎にしか比較できませんか?
- 253 名前:デフォルトの名無しさん [2009/01/01(木) 13:20:58 ]
- まとめるとremove_ifで、一つ前と一つ後ろのデータを参照して削除可能かということです。
- 254 名前:デフォルトの名無しさん [2009/01/01(木) 13:23:26 ]
- 無理なら、別に良いです。 remove_ifなしで書けば済むので。
- 255 名前:デフォルトの名無しさん mailto:sage [2009/01/01(木) 13:53:38 ]
- 無理じゃね?
そもそも、範囲が違う (remove_ifは要素全部、3連続比較は(本質的には)要素数-2個の範囲)
- 256 名前:デフォルトの名無しさん mailto:sage [2009/01/01(木) 14:00:50 ]
- 比較を削除前の列に対して行うかどうかって話もあるし単純には無理だろう。
A B C D E で B を削除するとして C に対する比較は B C D なのか A C D なのか、とか。
- 257 名前:デフォルトの名無しさん [2009/01/01(木) 14:41:09 ]
- 誤爆してきた死ね
おすすめのC++入門サイトを教えてください。 Cは未経験です
- 258 名前:デフォルトの名無しさん mailto:sage [2009/01/01(木) 14:45:18 ]
- AやBからはじめるとよいお
- 259 名前: 【148円】 【大吉】 [2009/01/01(木) 15:21:22 ]
- お年玉がほしい。
- 260 名前:デフォルトの名無しさん mailto:sage [2009/01/01(木) 15:33:57 ]
- まずCをやったほうがいい。でないと死ぬ。
もし、正しい理解とかどうでもいいから速攻でC++が使えないと困るみたいな 状況だったら素直に質問にそう書いた方がいい。 (叩かれるかもしれないけど)
- 261 名前:デフォルトの名無しさん mailto:sage [2009/01/01(木) 15:35:23 ]
- >>257
ロベール
- 262 名前:デフォルトの名無しさん mailto:sage [2009/01/01(木) 15:36:10 ]
- べつにC++からでいいよ。
C++やってる連中が自分がCから入ったから、それがいいって思い込んでるだけ。
- 263 名前:デフォルトの名無しさん mailto:sage [2009/01/01(木) 15:51:29 ]
- C++やってるうちにCもできるようになると思う
- 264 名前:デフォルトの名無しさん mailto:sage [2009/01/01(木) 16:25:01 ]
- むしろC++からの方が分かりやすいよね。
C は初っ端から printf とか scanf とか面倒くさいし (C++は桁数指定とかしないのであればフォーマット指定の必要がない)、 関数に変数の値を変更してもらうのにもポインタなんぞが必要になるし(C++なら参照で良い)、 Cから始める方がややこしいと言わざるを得ない。
- 265 名前:デフォルトの名無しさん [2009/01/01(木) 16:32:29 ]
- STLから始めるのが初心者向き で生産的
- 266 名前:デフォルトの名無しさん mailto:sage [2009/01/01(木) 16:42:46 ]
- char で文字列操作とか面倒くさいし(絶対バッファオーバーフローさせやがる)、
std::string 使わせた方がいいね。
- 267 名前:デフォルトの名無しさん mailto:sage [2009/01/01(木) 16:55:06 ]
- させやがる、ねぇ・・・
- 268 名前:デフォルトの名無しさん mailto:sage [2009/01/01(木) 16:57:22 ]
- 既存のクラス使うだけなら、C++で入門もいいだろうね
- 269 名前:デフォルトの名無しさん mailto:sage [2009/01/01(木) 17:54:06 ]
- 補間機能
- 270 名前:デフォルトの名無しさん mailto:sage [2009/01/01(木) 17:56:03 ]
- 挫折して挫折して挫折して
そこでSTLですよ (゚∀゚)神のキターですよ
- 271 名前:デフォルトの名無しさん mailto:sage [2009/01/01(木) 18:58:09 ]
- STLなんて自分で実装してからその存在に気づいた
|

|