スレを勃てるまでもないC/C++の質問はここで 5
■ このスレッドは過去ログ倉庫に格納されています
過去ログ
スレを勃てるまでもない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/
0281デフォルトの名無しさん
2009/01/01(木) 21:50:35そのためには、Cだといきなりポインタを理解しなくてはならず厄介。
C++は文字列クラスがあるから、そのあたりは緩やかに学べると思う。
0282デフォルトの名無しさん
2009/01/01(木) 22:03:57いやさ、オブジェクト指向以前に
C++なら例えば配列は初心者の扱うモノじゃないのに
何故かvectorより出て来たりさ
酷いのは#include <stdio>から始まったりとかね
それはほとんどC言語でしょって話
0283デフォルトの名無しさん
2009/01/01(木) 22:11:150284デフォルトの名無しさん
2009/01/01(木) 22:13:02最近は iostream から始めるのも多いんじゃない?
0285デフォルトの名無しさん
2009/01/01(木) 22:15:55お前何が言いたいの?
0286デフォルトの名無しさん
2009/01/01(木) 22:24:38プログラムのプの字からオブジェクト指向で何ら問題ない。
0287デフォルトの名無しさん
2009/01/01(木) 22:25:160288デフォルトの名無しさん
2009/01/01(木) 22:26:15死ね
0289デフォルトの名無しさん
2009/01/01(木) 22:26:37本当に驚くほどに。
0290デフォルトの名無しさん
2009/01/01(木) 22:27:38死んでいただけないでしょうか?
0291デフォルトの名無しさん
2009/01/01(木) 22:30:44どうなさいましたか?
上級者なら、スルーができように。
0292デフォルトの名無しさん
2009/01/01(木) 22:31:59ただ、C っぽい教科書が多いのは問題だね。
今やはじめから STL どんどん使った方が良い。
0293デフォルトの名無しさん
2009/01/01(木) 22:32:040294デフォルトの名無しさん
2009/01/01(木) 22:32:52何ムキになってんのwwww
0295デフォルトの名無しさん
2009/01/01(木) 22:33:48涙拭けよw
0297デフォルトの名無しさん
2009/01/01(木) 22:35:29ちょっとかじりかけの中級者に限って、オブジェクト指向が何か特別な高尚で高度なものだと思ってしまいがち。
プログラムのプの字からオブジェクト指向で何ら問題ない。
↓
煽られる
↓
288 :デフォルトの名無しさん:2009/01/01(木) 22:26:15
>>287
死ね
↓
叩かれる
↓
295 :デフォルトの名無しさん:2009/01/01(木) 22:33:48
>>290 >>291 >>294
涙拭けよw
0298デフォルトの名無しさん
2009/01/01(木) 22:36:200299デフォルトの名無しさん
2009/01/01(木) 22:36:410300デフォルトの名無しさん
2009/01/01(木) 22:37:250301デフォルトの名無しさん
2009/01/01(木) 22:37:46お前だけ氏ね
0302デフォルトの名無しさん
2009/01/01(木) 22:38:220303デフォルトの名無しさん
2009/01/01(木) 22:38:32アドレスの値が印象的なのか・・・
0304デフォルトの名無しさん
2009/01/01(木) 22:38:420305デフォルトの名無しさん
2009/01/01(木) 22:39:57みんなって誰だよ。アホか。
0306デフォルトの名無しさん
2009/01/01(木) 22:40:24その勘違いはさすがに・・・w
0307デフォルトの名無しさん
2009/01/01(木) 23:01:20↓
0308デフォルトの名無しさん
2009/01/01(木) 23:06:24>>287
死ね
0309デフォルトの名無しさん
2009/01/01(木) 23:06:380310デフォルトの名無しさん
2009/01/01(木) 23:07:290311デフォルトの名無しさん
2009/01/01(木) 23:07:50別に無くてもいい。
現にみんながOCaml使うときオブジェクト指向的な部分ってあんまり使わないでしょ。
まずはHaskellやってMonadに慣れといたほうが後々色々と応用が効くからそっちのほうがいいよ。
0312デフォルトの名無しさん
2009/01/01(木) 23:08:290313デフォルトの名無しさん
2009/01/01(木) 23:08:470314デフォルトの名無しさん
2009/01/01(木) 23:10:49wwwwwwwwww
0315デフォルトの名無しさん
2009/01/01(木) 23:11:360316デフォルトの名無しさん
2009/01/01(木) 23:12:34wwwwwwwwww
0317デフォルトの名無しさん
2009/01/01(木) 23:12:49こいつ病気だな。
0318デフォルトの名無しさん
2009/01/01(木) 23:14:26↓
0319デフォルトの名無しさん
2009/01/01(木) 23:15:220320デフォルトの名無しさん
2009/01/01(木) 23:17:090321デフォルトの名無しさん
2009/01/01(木) 23:17:31贈るほどでもない言葉
0322デフォルトの名無しさん
2009/01/01(木) 23:18:340324デフォルトの名無しさん
2009/01/01(木) 23:30:390325デフォルトの名無しさん
2009/01/01(木) 23:31:420326デフォルトの名無しさん
2009/01/01(木) 23:32:510327デフォルトの名無しさん
2009/01/01(木) 23:34:070328デフォルトの名無しさん
2009/01/01(木) 23:34:120330デフォルトの名無しさん
2009/01/01(木) 23:34:440331デフォルトの名無しさん
2009/01/01(木) 23:34:540332デフォルトの名無しさん
2009/01/01(木) 23:49:100333デフォルトの名無しさん
2009/01/02(金) 00:38:410334デフォルトの名無しさん
2009/01/02(金) 00:47:210335デフォルトの名無しさん
2009/01/02(金) 00:49:370336デフォルトの名無しさん
2009/01/02(金) 01:07:150337デフォルトの名無しさん
2009/01/02(金) 09:00:22iostream、stringについては随分普及してきたと思う
でもvectorやsstream、fstream辺りは入門サイトだとなかなか出てこなくね?
この辺りが使えないと、配列やCライブラリを使わなきゃいけない場面が多くなる
個人的にはclass定義より詳細な文法より先に標準ライブラリやSTLの使い方だと思う
初っ端からSTL連発くらいのがC++初心者には良くないか?
0338デフォルトの名無しさん
2009/01/02(金) 09:39:43学生さんだね。
社会に出ればわかるけど冤罪も罪のうち、疑わしきは罰するってのは法治国家の不文律だよ。
0339デフォルトの名無しさん
2009/01/02(金) 09:42:190340デフォルトの名無しさん
2009/01/02(金) 11:02:06その「入門サイト」とやらが、たまたま「class定義より詳細な文法より先に標準ライブラリやSTLの使い方」で「初っ端からSTL連発」なんだろ?
「初心者」がきちんとC++を学びたいなら、そんなわけのわからないサイトではなく、定評のある書籍や教育コースを受講した方がいいと思うけどね。
0341デフォルトの名無しさん
2009/01/02(金) 12:11:34STLが、C++基本的構造(クラスなど)より先にあって
STLを実装するために、C++の基本構造が作られたんだ。
日本語を勉強するのに、文法的な構造から始めるか、
会話から始めるかという違いだろう。
0342デフォルトの名無しさん
2009/01/02(金) 12:21:351979年に彼はジェネリックプログラミングの初期アイデアを練り始め、そしてソフトウェア開発に革命をもたらす可能性を探究し始めた。
当時はジェネリックプログラミングを実際にサポートしているプログラミング言語がまだなかった。
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アホか。
0344デフォルトの名無しさん
2009/01/02(金) 12:52:10これらは別々の人たち、場所で開発されていて、STLを実装するために
C++の開発に大きな影響を与えたこととおもうが。
0345デフォルトの名無しさん
2009/01/02(金) 13:03:19おもうが。
0346デフォルトの名無しさん
2009/01/02(金) 13:06:380347デフォルトの名無しさん
2009/01/02(金) 13:19:570348デフォルトの名無しさん
2009/01/02(金) 14:01:130349デフォルトの名無しさん
2009/01/02(金) 14:02:040350デフォルトの名無しさん
2009/01/02(金) 14:15:37俺には無理だった・・・
0351デフォルトの名無しさん
2009/01/02(金) 15:23:16その本はまさに「配列より先にvector」の本やね
0352デフォルトの名無しさん
2009/01/02(金) 15:29:02< > って何なのとか、2次元配列はどうやってつくるのとか、
面倒臭い事もあるので、
vector を先にやった方がいいと言える程手軽な物でもない。
at を使わないと境界チェックもしてくれないし。
動的配列より先に vector ってのなら構わんがね。
0353デフォルトの名無しさん
2009/01/02(金) 15:32:050354デフォルトの名無しさん
2009/01/02(金) 15:41:03Cのcontainer_of()相当のことは標準で出来ないでしょうか?
0355デフォルトの名無しさん
2009/01/02(金) 15:57:08そういうものが必要になる事自体設計がおかしいと思われる。
もちろん標準でそんなことはできない。
0356デフォルトの名無しさん
2009/01/02(金) 16:02:590357デフォルトの名無しさん
2009/01/02(金) 16:03:35DVDコピーとかの本ばっか。
0358デフォルトの名無しさん
2009/01/02(金) 16:06:04ダウンキャストか。
0359デフォルトの名無しさん
2009/01/02(金) 16:16:43返答ありがとうございます。
継承使えばいいのかとも考えたのですが、
継承ではクラス内にlistを3個とか複数持たせる
ことは出来ないと考えました。
クラス内にlistを複数持つという設計が良くない
のかもしれませんが、代替案が浮かびません。
0360デフォルトの名無しさん
2009/01/02(金) 16:19:560361デフォルトの名無しさん
2009/01/02(金) 16:22:21煽りとかじゃなく純粋に質問。
それどういう意味?
0362デフォルトの名無しさん
2009/01/02(金) 16:26:14説明不足すいません。
Cでは、構造体内にlistを複数持たせておいても
それぞれのlistについてcontainer_of()を使えば、
包含する構造体は求まるので、
それと同等のことをC++で行う方法を考えていました。
0363デフォルトの名無しさん
2009/01/02(金) 16:43:29int main()
{
cout<<"こんにちわ。"<<endl;
return 0;
}
include ファイルを開けません。'iostream.h': No such file or directory
0364363
2009/01/02(金) 16:46:190365デフォルトの名無しさん
2009/01/02(金) 17:09:32listを継承したクラスで, listにアップキャストしてリストを作る
それをダウンキャストしたら得られるだろ?
listっていってもSTLのではないぞ
0366!omikuji !dama
2009/01/02(金) 17:17:03Borland C++Compiler でよろしいのでしょうか
0367デフォルトの名無しさん
2009/01/02(金) 17:18:350368デフォルトの名無しさん
2009/01/02(金) 17:25:06複数なら継承ではなく包含させればいい。
そして、listにそれを所有するオブジェクトへのポインタまたは参照を持たせる。
0369デフォルトの名無しさん
2009/01/02(金) 17:27:25対応している規格がが古いからお勧めできない。VC++2088 expressを薦める
0370デフォルトの名無しさん
2009/01/02(金) 17:27:40リンク用のポインタ以外もたないlistなんじゃねーの?
持たせてもいいんだろーか?
0371!omikuji !dama
2009/01/02(金) 17:34:36>>369
サンクス
0372デフォルトの名無しさん
2009/01/02(金) 17:38:01引数を間違えて、構造体のメンバじゃない変数を与えてもコンパイルエラーにならないんじゃない?
0373デフォルトの名無しさん
2009/01/02(金) 17:38:27ありがとうございます。
とりあえずSTLのlistを使うことを考えていたのですが、
自前で作るかSTLのlistを継承したリストを
作ってそいつにポインタ持たせればいいということですね。
0374デフォルトの名無しさん
2009/01/02(金) 17:43:47なにか恐ろしい事をやろうとしているように見える。
STL のクラスは継承する事を全艇に作ってないので
基本的には継承しちゃだめ。
そもそも、list からそれを持ってるクラスをとってこようとしている時点でおかしい。
list を持っているクラスを通して list を扱うのが基本だ。
0375デフォルトの名無しさん
2009/01/02(金) 18:45:24listとポインタを所有するクラスを作ろう
0376デフォルトの名無しさん
2009/01/02(金) 19:53:32#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:46Cではint型で
C++ではchar型だからです
C++でのオーバーロードとかの兼ね合いだろうね
0378デフォルトの名無しさん
2009/01/02(金) 20:06:190379デフォルトの名無しさん
2009/01/02(金) 20:06:52Cにおいては絶対ではないが
0380デフォルトの名無しさん
2009/01/02(金) 20:06:580381デフォルトの名無しさん
2009/01/02(金) 20:12:08■ このスレッドは過去ログ倉庫に格納されています