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

スレを勃てるまでもないC/C++の質問はここで 5

■ このスレッドは過去ログ倉庫に格納されています
0001 ◆h6A7qfFFu6 2008/12/29(月) 11:05:07
スレを勃てるまでもない低俗なC/C++の質問はここでお願いします。

過去ログ
スレを勃てるまでもないC/C++の質問はここで
http://pc11.2ch.net/test/read.cgi/tech/1167476845/
スレを勃てるまでもないC/C++の質問はここで 2
http://pc11.2ch.net/test/read.cgi/tech/1178503366/
スレを勃てるまでもないC/C++の質問はここで 3
http://pc11.2ch.net/test/read.cgi/tech/1187521676/
スレを勃てるまでもないC/C++の質問はここで 4
http://pc11.2ch.net/test/read.cgi/tech/1221633708/
0304デフォルトの名無しさん2009/01/01(木) 22:38:42
崇高なオブジェクト指向が実は初歩的な概念であることを明らかにされた初心者が暴走し始めたな
0305デフォルトの名無しさん2009/01/01(木) 22:39:57
>>303
みんなって誰だよ。アホか。
0306デフォルトの名無しさん2009/01/01(木) 22:40:24
>>304
その勘違いはさすがに・・・w
0307デフォルトの名無しさん2009/01/01(木) 23:01:20
ここで関数型信者の一言
      ↓
0308デフォルトの名無しさん2009/01/01(木) 23:06:24
288 :デフォルトの名無しさん:2009/01/01(木) 22:26:15
>>287
死ね
0309デフォルトの名無しさん2009/01/01(木) 23:06:38
とりあえず黙れ
0310デフォルトの名無しさん2009/01/01(木) 23:07:29
とか言ってみる
0311デフォルトの名無しさん2009/01/01(木) 23:07:50
オブジェクト指向は便利だけど実際必要かって言われると必要ないよ。
別に無くてもいい。
現にみんながOCaml使うときオブジェクト指向的な部分ってあんまり使わないでしょ。

まずはHaskellやってMonadに慣れといたほうが後々色々と応用が効くからそっちのほうがいいよ。
0312デフォルトの名無しさん2009/01/01(木) 23:08:29
なにについて揉めてるんだ?
0313デフォルトの名無しさん2009/01/01(木) 23:08:47
誰も必要だとは言ってないし。
0314デフォルトの名無しさん2009/01/01(木) 23:10:49
>>309
wwwwwwwwww
0315デフォルトの名無しさん2009/01/01(木) 23:11:36
こいつ病気だな。
0316デフォルトの名無しさん2009/01/01(木) 23:12:34
>>315
wwwwwwwwww
0317デフォルトの名無しさん2009/01/01(木) 23:12:49
315 :デフォルトの名無しさん:2009/01/01(木) 23:11:36
こいつ病気だな。
0318デフォルトの名無しさん2009/01/01(木) 23:14:26
贈るほどでもない言葉
↓
0319デフォルトの名無しさん2009/01/01(木) 23:15:22
printf("俺様はプログラマーの卵だ!!");
0320デフォルトの名無しさん2009/01/01(木) 23:17:09
これは酷い
0321デフォルトの名無しさん2009/01/01(木) 23:17:31
↑
贈るほどでもない言葉
0322デフォルトの名無しさん2009/01/01(木) 23:18:34
#define loop while(1)
0323 【大吉】 【1003円】 2009/01/01(木) 23:29:13
C++はオブジェクト指向でいい
0324デフォルトの名無しさん2009/01/01(木) 23:30:39
全角
0325デフォルトの名無しさん2009/01/01(木) 23:31:42
だから何?
0326デフォルトの名無しさん2009/01/01(木) 23:32:51
だから何?
0327デフォルトの名無しさん2009/01/01(木) 23:34:07
なんか病気のコピペ厨が張り付いているんですけど
0328デフォルトの名無しさん2009/01/01(木) 23:34:12
だから何?
0329 【だん吉】 【791円】 2009/01/01(木) 23:34:19
c++にするべきかな
0330デフォルトの名無しさん2009/01/01(木) 23:34:44
するべき。
0331デフォルトの名無しさん2009/01/01(木) 23:34:54
だから何?
0332デフォルトの名無しさん2009/01/01(木) 23:49:10
壊れたラジオみたいだな
0333デフォルトの名無しさん2009/01/02(金) 00:38:41
壊れかけ、ではなくて?
0334デフォルトの名無しさん2009/01/02(金) 00:47:21
そう。壊れてる
0335デフォルトの名無しさん2009/01/02(金) 00:49:37
センスない・・・
0336デフォルトの名無しさん2009/01/02(金) 01:07:15
あきらめるな
0337デフォルトの名無しさん2009/01/02(金) 09:00:22
>284
iostream、stringについては随分普及してきたと思う

でもvectorやsstream、fstream辺りは入門サイトだとなかなか出てこなくね?
この辺りが使えないと、配列やCライブラリを使わなきゃいけない場面が多くなる

個人的にはclass定義より詳細な文法より先に標準ライブラリやSTLの使い方だと思う
初っ端からSTL連発くらいのがC++初心者には良くないか?
0338デフォルトの名無しさん2009/01/02(金) 09:39:43
>>332
学生さんだね。
社会に出ればわかるけど冤罪も罪のうち、疑わしきは罰するってのは法治国家の不文律だよ。
0339デフォルトの名無しさん2009/01/02(金) 09:42:19
まぁ、とにかく動かしたいんだっていうならそっちのが早いだろうさ
0340デフォルトの名無しさん2009/01/02(金) 11:02:06
>>337
その「入門サイト」とやらが、たまたま「class定義より詳細な文法より先に標準ライブラリやSTLの使い方」で「初っ端からSTL連発」なんだろ?

「初心者」がきちんとC++を学びたいなら、そんなわけのわからないサイトではなく、定評のある書籍や教育コースを受講した方がいいと思うけどね。
0341デフォルトの名無しさん2009/01/02(金) 12:11:34
>>340
STLが、C++基本的構造(クラスなど)より先にあって
STLを実装するために、C++の基本構造が作られたんだ。
日本語を勉強するのに、文法的な構造から始めるか、
会話から始めるかという違いだろう。
0342デフォルトの名無しさん2009/01/02(金) 12:21:35
STLのアーキテクチャの多くはアレクサンドル・ステパノフという一人の人物の手によって作られた。
1979年に彼はジェネリックプログラミングの初期アイデアを練り始め、そしてソフトウェア開発に革命をもたらす可能性を探究し始めた。
当時はジェネリックプログラミングを実際にサポートしているプログラミング言語がまだなかった。

1987年までにステパノフとマッサーはジェネリックプログラミングの研究成果としてAdaのリスト処理ライブラリを開発してリリースしていた。
しかしながらAdaは軍需産業以外ではあまり普及しておらず、
C++は当時まだ言語として未成熟ではあったものの(テンプレートはまだなく後から実装された)
より広く普及してジェネリックプログラミングの良好なサポートが提供される可能性が高いと考えられた。

ベル研究所のアンドリュー・コーニグがこの動きを察知して、1993年11月のANSI/ISOのC++標準化委員会に
アイデアを提出するように求めるようなことがもしなければ、この作業は間違いなく、さしあたっては研究プロジェクトとして、
あるいはヒューレット・パッカード研究所のプロプライエタリなライブラリとして継続されたであろう。
提案は委員会で全面的に賛同を得て、すぐさま1994年3月のミーティングでのコーニグからの正式なリクエストへとつながった。

Standard Template Library - Wikipediaの抜粋
http://ja.wikipedia.org/wiki/Standard_Template_Library
0343デフォルトの名無しさん2009/01/02(金) 12:33:51
>>341は、「STLを実装するため」に追加された機能だけが、「C++の基本構造」とでもいいたいのだろうか。
アホか。
0344デフォルトの名無しさん2009/01/02(金) 12:52:10
STLとC++の開発が始まったのは調べたら1979年らしい。
これらは別々の人たち、場所で開発されていて、STLを実装するために
C++の開発に大きな影響を与えたこととおもうが。
0345デフォルトの名無しさん2009/01/02(金) 13:03:19
らしい。
おもうが。
0346デフォルトの名無しさん2009/01/02(金) 13:06:38
聞きかじりと妄想だけで断言口調のやつ、多いな。
0347デフォルトの名無しさん2009/01/02(金) 13:19:57
これからC++を始めるならOOPを基本とすべき。
0348デフォルトの名無しさん2009/01/02(金) 14:01:13
今さら入門書って思うレベルだけどAccelerrated C++を読んでみたい。
0349デフォルトの名無しさん2009/01/02(金) 14:02:04
ぜひどうぞ
0350デフォルトの名無しさん2009/01/02(金) 14:15:37
ア、、アク、アクセ・・・
俺には無理だった・・・
0351デフォルトの名無しさん2009/01/02(金) 15:23:16
>348
その本はまさに「配列より先にvector」の本やね
0352デフォルトの名無しさん2009/01/02(金) 15:29:02
vector は vector で、
< > って何なのとか、2次元配列はどうやってつくるのとか、
面倒臭い事もあるので、
vector を先にやった方がいいと言える程手軽な物でもない。
at を使わないと境界チェックもしてくれないし。
動的配列より先に vector ってのなら構わんがね。
0353デフォルトの名無しさん2009/01/02(金) 15:32:05
>>348を読んでから言え馬鹿
0354デフォルトの名無しさん2009/01/02(金) 15:41:03
C++では、
Cのcontainer_of()相当のことは標準で出来ないでしょうか?
0355デフォルトの名無しさん2009/01/02(金) 15:57:08
カプセル化を前提とするC++で
そういうものが必要になる事自体設計がおかしいと思われる。
もちろん標準でそんなことはできない。
0356デフォルトの名無しさん2009/01/02(金) 16:02:59
クラスの継承がそれに相当すると主張するのは無茶すぎますかね?
0357デフォルトの名無しさん2009/01/02(金) 16:03:35
買いに行ったけど売ってなかった・・・(´;ω;)

DVDコピーとかの本ばっか。
0358デフォルトの名無しさん2009/01/02(金) 16:06:04
>>356
ダウンキャストか。
0359デフォルトの名無しさん2009/01/02(金) 16:16:43
>>355,356
返答ありがとうございます。
継承使えばいいのかとも考えたのですが、
継承ではクラス内にlistを3個とか複数持たせる
ことは出来ないと考えました。

クラス内にlistを複数持つという設計が良くない
のかもしれませんが、代替案が浮かびません。
0360デフォルトの名無しさん2009/01/02(金) 16:19:56
list と何か関係あるのか?
0361デフォルトの名無しさん2009/01/02(金) 16:22:21
>>356
煽りとかじゃなく純粋に質問。
それどういう意味?
0362デフォルトの名無しさん2009/01/02(金) 16:26:14
>>360
説明不足すいません。
Cでは、構造体内にlistを複数持たせておいても
それぞれのlistについてcontainer_of()を使えば、
包含する構造体は求まるので、
それと同等のことをC++で行う方法を考えていました。
0363デフォルトの名無しさん2009/01/02(金) 16:43:29
#include <iostream.h>

int main()
{
cout<<"こんにちわ。"<<endl;
return 0;
}
include ファイルを開けません。'iostream.h': No such file or directory

03643632009/01/02(金) 16:46:19
自己解決しました。
0365デフォルトの名無しさん2009/01/02(金) 17:09:32
>>361
listを継承したクラスで, listにアップキャストしてリストを作る
それをダウンキャストしたら得られるだろ?

listっていってもSTLのではないぞ
0366!omikuji !dama2009/01/02(金) 17:17:03
C++のコンパイラはやはり
Borland C++Compiler でよろしいのでしょうか
0367デフォルトの名無しさん2009/01/02(金) 17:18:35
無料版の方だったら今時ありえない、よした方がいい
0368デフォルトの名無しさん2009/01/02(金) 17:25:06
>>362
複数なら継承ではなく包含させればいい。
そして、listにそれを所有するオブジェクトへのポインタまたは参照を持たせる。
0369デフォルトの名無しさん2009/01/02(金) 17:27:25
>>366
対応している規格がが古いからお勧めできない。VC++2088 expressを薦める
0370デフォルトの名無しさん2009/01/02(金) 17:27:40
container_of()相当で聞いてるんだから
リンク用のポインタ以外もたないlistなんじゃねーの?

持たせてもいいんだろーか?
0371!omikuji !dama2009/01/02(金) 17:34:36
>>367
>>369
サンクス
0372デフォルトの名無しさん2009/01/02(金) 17:38:01
ググってみたけど、container_ofって危険じゃないか?
引数を間違えて、構造体のメンバじゃない変数を与えてもコンパイルエラーにならないんじゃない?
0373デフォルトの名無しさん2009/01/02(金) 17:38:27
>>368,370
ありがとうございます。
とりあえずSTLのlistを使うことを考えていたのですが、
自前で作るかSTLのlistを継承したリストを
作ってそいつにポインタ持たせればいいということですね。
0374デフォルトの名無しさん2009/01/02(金) 17:43:47
>>373
なにか恐ろしい事をやろうとしているように見える。
STL のクラスは継承する事を全艇に作ってないので
基本的には継承しちゃだめ。

そもそも、list からそれを持ってるクラスをとってこようとしている時点でおかしい。
list を持っているクラスを通して list を扱うのが基本だ。
0375デフォルトの名無しさん2009/01/02(金) 18:45:24
>>373
listとポインタを所有するクラスを作ろう
0376デフォルトの名無しさん2009/01/02(金) 19:53:32
$ cat c_sizeof.c

#include <stdio.h>

int main(void)
{
printf("sizeof(\'\\x80\') == %d\n", sizeof('\x80'));

return 0;
}

/* EOF */
$ gcc -Wall -std=c99 -o c_sizeof c_sizeof.c
$ ./c_sizeof
sizeof('\x80') == 4
$ cat cxx_sizeof.cxx

#include <iostream>

int main()
{
std::cout << "sizeof(\'\\x80\') == " << sizeof('\x80') << std::endl;

return 0;
}

// EOF
$ g++ -Wall -o cxx_sizeof cxx_sizeof.cxx
$ ./cxx_sizeof
sizeof('\x80') == 1

 なぜ、C言語ではシングルクォートが、4 Bytesであり、C++では、1 Byteなのですか。
0377デフォルトの名無しさん2009/01/02(金) 19:59:46
>>376
Cではint型で
C++ではchar型だからです

C++でのオーバーロードとかの兼ね合いだろうね
0378デフォルトの名無しさん2009/01/02(金) 20:06:19
1バイトって256種類のパターンを表現できるんだっけ
0379デフォルトの名無しさん2009/01/02(金) 20:06:52
普通はそう
Cにおいては絶対ではないが
0380デフォルトの名無しさん2009/01/02(金) 20:06:58
cher型は嫌いです
0381デフォルトの名無しさん2009/01/02(金) 20:12:08
ちーあ?
0382デフォルトの名無しさん2009/01/02(金) 20:22:07
>>377
 ありがとうございます。そういうことだったんですね。
C言語とC++は、こういう細かいところでも違うんですね。
0383デフォルトの名無しさん2009/01/02(金) 20:26:19
なぁ、チーフって何だ?
0384デフォルトの名無しさん2009/01/02(金) 22:20:53
牛肉だろ
0385デフォルトの名無しさん2009/01/02(金) 22:51:07
ロベール先生にお世話になることにしました
0386デフォルトの名無しさん2009/01/03(土) 03:20:44
2ch終わった
2ちゃんねる、海外企業に譲渡 ― 西村博之氏からPACKET MONSTER INC.へ譲渡完了
http://www.rbbtoday.com/news/20090102/56801.html

ニコニコに移行して2chは完全に切る気やな
0387デフォルトの名無しさん2009/01/03(土) 03:30:31
2chが終わるってのも、思い込みすぎかも。まぁ、2chは巨大になったことだし
もし消滅するなら、また別の人がサーバーを運営するだろうね。
手法などは、既に2chのを参考にすれば済むことだし、著作権だの
知的財産権だの、抵触せずに似たものはいくらでも作れるし。
0388デフォルトの名無しさん2009/01/03(土) 03:35:19
IP記録を始めたときも、終わったというやつは大勢いたが、今まで生き残っている。
少なくともユーザに見限られるということはないだろうとは言える。
0389デフォルトの名無しさん2009/01/03(土) 03:37:26
国内しかも個人が代表に見える格好だと
裁判とか税金とかうるさいから、
スケープゴートとして海外企業に移したんでしょ。

ひろゆきとしては譲渡していいことずくめだろ
0390デフォルトの名無しさん2009/01/03(土) 03:44:35
大雑把に言って、内容は不特定多数の人が書き込んで出来上がっているし、
その不特定多数が消滅しない限り、やはり何かしらこういったコミュニティーは
継続するだろうしね。運営者も費用も必要だが。掲示板そのものに
スタイルはいくつかあれど、誰でもやれることだし。ただ、一生をそんなことに
ささげるだけの覚悟はあるかい?
0391デフォルトの名無しさん2009/01/03(土) 03:55:02
つーか、ガンガン機能追加するわけでもないしね。
運用するだけじゃん。こんな掲示板
アウトソースすればよろし
レスは1000までって制限も永遠と変わんないしw
0392デフォルトの名無しさん2009/01/03(土) 05:38:23
複雑な機能なんていらん
掲示板として書き込み/読み込みというシンプルな機能だけで十分
肥大化して良い事なんて無いってのはC++でもいえる
0393デフォルトの名無しさん2009/01/03(土) 08:35:35
2ちゃんねらーらしくもない話してるな
スルーしろよ
0394デフォルトの名無しさん2009/01/03(土) 11:03:58
protected private継承の違いについて
0395デフォルトの名無しさん2009/01/03(土) 11:12:01
int i,j;
i=0;
while(j=10-i++) ってのはありでつか?
0396デフォルトの名無しさん2009/01/03(土) 11:14:57
ありだけど、キミが期待した通りかはわからん。
0397デフォルトの名無しさん2009/01/03(土) 11:15:30
えぇ、変数って2個いっぺんに宣言できるの!?

ってかありなんじゃない
0398デフォルトの名無しさん2009/01/03(土) 11:26:55
>>395
おそらく"ってのはありでつか?"がエラーになる
0399デフォルトの名無しさん2009/01/03(土) 11:49:30
文法上問題は無いが、何か気持ちは悪い。
0400デフォルトの名無しさん2009/01/03(土) 12:03:01
>>395
あり。そう書いたとおりに動く。
0401デフォルトの名無しさん2009/01/03(土) 12:22:43
>>395の話がCの宿題スレでよく分からん議論になってる
0402デフォルトの名無しさん2009/01/03(土) 12:28:17
少なくとも、読むときには困るコードだな
0403デフォルトの名無しさん2009/01/03(土) 13:13:25
>>401
おそらく>>395が向こうで代入式!代入式!ってファビョってる奴だと思う。
追い詰められてこっちに助けを求めてきたんだろ。
■ このスレッドは過去ログ倉庫に格納されています